jnlib/
[gnupg.git] / jnlib / ChangeLog
1 2007-06-18  Marcus Brinkmann  <marcus@g10code.de>
2
3         * stringhelp.h (percent_escape): New prototype.
4         * stringhelp.c (percent_escape): New function.
5
6 2007-06-11  Werner Koch  <wk@g10code.com>
7
8         * utf8conv.c (jnlib_iconv_open, jnlib_iconv, jnlib_iconv_close): New.
9
10 2007-06-06  Werner Koch  <wk@g10code.com>
11
12         * w32help.h: New.
13         * w32-gettext.c: New.  Taken from gnupg 1.4, added ngettext,
14         changed to use jnlib malloc functions and put under the LGPL.
15         * w32-reg.c: New.  Taken from../common/w32reg.c and changed to
16         LGPL.  Changed API to use the jnlib malloc functions.
17         * Makefile.am (libjnlib_a_SOURCES) [!W32]: Do not build the w32
18         specific modules.
19
20         * dotlock.c: Include stringhelp.h for stpcpy prototype.
21
22 2007-06-04  Werner Koch  <wk@g10code.com>
23
24         * dynload.h: New.  Taken from ../common and changed to LGPL.
25
26         * utf8conv.c (load_libiconv): New.  Taken from GnuPG 1.4
27
28 2007-05-30  Werner Koch  <wk@g10code.com>
29
30         * w32-pth.h, w32-pth.c: Remove.
31
32 2007-04-25  Werner Koch  <wk@g10code.com>
33
34         * argparse.c (long_opt_strlen): Fixed for utf-8.
35
36 2007-03-07  Werner Koch  <wk@g10code.com>
37
38         * argparse.c (strusage): Set copyright year to 2007.
39
40 2007-01-25  Werner Koch  <wk@g10code.com>
41
42         * stringhelp.c (utf8_charcount): New.
43
44 2006-11-29  Werner Koch  <wk@g10code.com>
45
46         * utf8conv.c (set_native_charset) [HAVE_W32_SYSTEM]: Fixed typo in
47         macro name.
48
49 2006-11-15  Werner Koch  <wk@g10code.com>
50
51         * logging.c (my_funopen_hook_ret_t): New.
52         (fun_writer): Use it.
53
54 2006-10-19  Werner Koch  <wk@g10code.com>
55
56         * stringhelp.c (memrchr) [!HAVE_MEMRCHR]: Provide a replacement.
57
58 2006-09-27  Werner Koch  <wk@g10code.com>
59
60         * mischelp.c: New.
61         (timegm): Copied from gnupg 1.4, changed from GPL to LGPL.  Fixed
62         a memory leak.
63
64         * stringhelp.h (isascii): New.
65
66         * stringhelp.c (strsep): New. Copied from gnupg 1.4.5
67         util/strgutil.c.
68
69         * strlist.h (STRLIST): Removed deprecated typedef. 
70
71         * types.h: Made cpp commands work with old compilers.  Also shows
72         up nicer with Emacs' font locking.
73
74         * w32-afunix.c (_w32_sock_connect): Set ERRNO for an invalid port.
75
76         Changed license from GPL to LGPL.  Note that all code has either
77         been written by me, David, employees of g10 Code or taken from
78         glibc.
79         
80         * libjnlib-config.h, stringhelp.c, stringhelp.h:
81         * strlist.c, strlist.h, utf8conv.c, utf8conv.h:
82         * argparse.c, argparse.h, logging.c, logging.h:
83         * dotlock.c, dotlock.h, types.h, mischelp.h:
84         * xmalloc.c, xmalloc.h, w32-pth.c, w32-pth.h:
85         * w32-afunix.c, w32-afunix.h: Tagged them to be long to jnlib
86         which is a part of GnuPG but also used by other projetcs. 
87
88 2006-09-22  Werner Koch  <wk@g10code.com>
89
90         * utf8conv.c: Reworked to match the gnupg 1.4.5 code.  This now
91         requires iconv support but this is reasonable for all modern
92         systems.
93
94 2006-08-29  Werner Koch  <wk@g10code.com>
95
96         * logging.c (do_logv): Emit a missing LF for fatal errors.
97
98 2006-06-28  Werner Koch  <wk@g10code.com>
99
100         * dotlock.c (make_dotlock, release_dotlock, read_lockfile)
101         (maybe_deadlock, destroy_dotlock, create_dotlock): Re-indented.
102         (create_dotlock): Repalces some log_fatal by log_error as it was
103         not intended that they should terminate.  Write the nodename to
104         the locking file. Code cleanups.
105         (read_lockfile): Reworked to read the node name.
106         (make_dotlock): Test for identical node name and delete lock stale
107         file.
108         (release_dotlock): Likewise.
109
110 2006-05-23  Werner Koch  <wk@g10code.com>
111
112         * libjnlib-config.h (JNLIB_NEED_UTF8CONV): Fixed typo in name.
113
114         * dotlock.c (release_dotlock): Don't act if we don't have any
115         locks at all.
116         (destroy_dotlock): New.  From 1.4.3.
117         (dotlock_remove_lockfiles): Make use of destroy function.
118
119 2006-05-19  Werner Koch  <wk@g10code.com>
120
121         * strlist.c (append_to_strlist2): Enabled.
122
123         * stringhelp.c (print_sanitized_buffer2): New.  Changed the rules
124         to match the behaviour of print_string2 from gnupg 1.4.3.
125         (print_sanitized_buffer): Use the new function.
126         (print_sanitized_string2): New.
127         (hextobyte): New.  Taken from gpg 1.4.3.
128
129 2006-04-28  Werner Koch  <wk@g10code.com>
130
131         * stringhelp.c (print_sanitized_buffer): Fix bug where the count
132         got wrong for the \xNN representation.
133         (sanitize_buffer): Fix bug where some control characters lose part
134         of their \xNN representation.
135
136 2006-04-20  Werner Koch  <wk@g10code.com>
137
138         * stringhelp.c (make_basename): New arg INPUTPATH for future
139         riscos compatibility.
140
141 2006-04-18  Werner Koch  <wk@g10code.com>
142
143         * libjnlib-config.h (JNLIB_NEED_UTF8CONF): Defined.
144         * strlist.c (add_to_strlist2) [JNLIB_NEED_UTF8CONV]: Enabled.
145
146 2005-06-15  Werner Koch  <wk@g10code.com>
147
148         * stringhelp.c (sanitize_buffer): Make P a void*.
149         (ascii_memistr, memistr): Ditto.
150         (ascii_memcasecmp): Ditto.
151         * logging.c (writen): Use void * for arg BUFFER.
152         * stringhelp.c (memistr): Fixed unsigned/signed pointer conflict.
153         (ascii_memistr): Ditto.
154         (ascii_memcasemem): Ditto.
155         * utf8conv.c (utf8_to_native): Ditto.
156         (utf8_to_native): Ditto.
157         * argparse.c (show_version): Removed non-required cast.
158
159 2005-01-19  Werner Koch  <wk@g10code.com>
160
161         * logging.c (fun_writer): Don't fallback to stderr. Print to
162         stderr only if connected to a tty.
163
164 2004-12-20  Werner Koch  <wk@g10code.com>
165
166         * w32-pth.c (do_pth_event_free): The events are hold in a ring
167         buffer.  Adjust for that.
168         (do_pth_event_body): Ditto.
169         (pth_event_isolate): Ditto.
170         (do_pth_wait): Ditto.
171         (_pth_event_count): Renamed to ..
172         (event_count): .. and adjusted as above.
173         (pth_init): Define 3 debug levels and change all debug calls to
174         make use of them.  This makes the moule now silent.
175
176 2004-12-19  Werner Koch  <wk@g10code.com>
177
178         * w32-pth.c (pth_init): Enable debugging depending on env var.
179         (pth_self): New.
180         (pth_mutex_release, pth_mutex_acquire): Implemented directly using
181         the W32 API.
182
183 2004-12-18  Werner Koch  <wk@g10code.com>
184
185         * w32-pth.c (pth_init): Reverse return values.  Use TRUE and FALSE
186         constants.
187         (pth_kill, pth_mutex_acquire, pth_attr_set, pth_join, pth_cancel):
188         Ditto.
189
190 2004-12-15  Werner Koch  <wk@g10code.com>
191
192         * logging.c [W32]: Don't include unavailable headers.
193
194 2004-12-14  Werner Koch  <wk@g10code.com>
195
196         * w32-pth.c (_pth_strerror): Renamed to ...
197         (w32_strerror): .. this. And let callers provide a buffer.
198         (spawn_helper_thread): Removed HD arg and hardwire the stack size
199         to 32k.
200         (do_pth_wait): Removed use of ATTR; not needed for the helper
201         threads.
202         (helper_thread): Renamed to ..
203         (launch_thread): .. this.  Release handle if not joinable.
204         (struct pth_priv_hd_s): Renamed to ...
205         (struct thread_info_s): .. this.  Add member JOINABLE and TH.
206
207 2004-12-14  Timo Schulz  <twoaday@g10code.com>
208
209         * w32-pth.c (pth_kill): Just release the crit section if
210         pth_init was really called. And set all handles to NULL.
211         (_pth_strerror): New.
212         (do_pth_wait): Before we enter the loop we check if there
213         are too much events in the ring.
214         
215 2004-12-14  Werner Koch  <wk@g10code.com>
216
217         * w32-pth.h (pth_event_occured): Removed macro. 
218         * w32-pth.c: Fixed license statement; its under the LGPL.
219         (enter_pth, leave_pth): Use them to bracket almost all public
220         functions.
221
222 2004-12-13  Timo Schulz  <twoaday@g10code.com>
223
224         * w32-pth.c (enter_pth, leave_pth): New.
225         (pth_init): Initialize global mutex section.
226         (pth_kill): Release global mutex section.
227         (helper_thread): New.
228         (pth_spawn): Make sure only one thread is running.
229         
230 2004-12-13  Werner Koch  <wk@g10code.com>
231
232         * stringhelp.c (w32_strerror) [W32]: New.
233
234         * w32-pth.c, w32-pth.h: Added real code written by Timo Schulz.
235         Not finished, though.
236
237 2004-12-07  Werner Koch  <wk@g10code.com>
238
239         * w32-pth.c, w32-pth.h: New.
240
241 2004-11-26  Werner Koch  <wk@g10code.com>
242
243         * logging.c [_WIN32]: Don't include socket headers.
244
245 2004-11-30  Timo Schulz  <ts@g10code.com>
246
247         * w32-afunix.c: New. AF_UNIX emulation for W32.
248         * w32-afunix.h: Likewise.
249         
250 2004-11-22  Werner Koch  <wk@g10code.com>
251
252         * logging.c (log_test_fd): Add test on LOGSTREAM.  Reported by
253         Barry Schwartz.
254
255 2004-11-18  Werner Koch  <wk@g10code.com>
256
257         * logging.c: Explicitly include sys/stat.h for the S_I* constants.
258
259 2004-10-21  Werner Koch  <wk@g10code.com>
260
261         * logging.c (do_logv): Use set_log_stream to setup a default.
262         (log_set_file): Factored code out to ..
263         (set_file_fd): .. New function to allow using a file descriptor.
264         (log_set_fd): Make use of new fucntion.
265         (fun_writer): Reworked.
266
267 2004-08-18  Werner Koch  <wk@g10code.de>
268
269         * stringhelp.c (print_sanitized_utf8_string): Actually implement
270         it.
271
272 2004-06-21  Werner Koch  <wk@g10code.com>
273
274         * logging.c (log_set_file): Do not close an old logstream if it
275         used to be stderr or stdout.
276
277 2004-05-05  Werner Koch  <wk@gnupg.org>
278
279         * logging.c (log_set_file): Oops, don't close if LOGSTREAM is NULL.
280
281 2004-04-30  Werner Koch  <wk@gnupg.org>
282
283         * logging.c (log_set_file): Make sure the log stream will be
284         closed even if the stderr fileno will be assigned to a new socket.
285
286 2004-04-16  Werner Koch  <wk@gnupg.org>
287
288         * logging.h (JNLIB_LOG_WITH_PREFIX): Add constants for the flag
289         values.
290         * logging.c (log_set_prefix): New flag DETACHED.
291         (fun_writer): Take care of this flag.
292         (log_test_fd): New.
293
294 2004-02-18  Werner Koch  <wk@gnupg.org>
295
296         * stringhelp.c (print_sanitized_buffer): Don't care about
297         non-ASCII characaters.
298         (sanitize_buffer): Ditto.
299
300 2004-02-12  Werner Koch  <wk@gnupg.org>
301
302         * Makefile.am: Replaced INCLUDES by AM_CPPFLAGS.
303
304 2004-01-05  Werner Koch  <wk@gnupg.org>
305
306         * argparse.c (strusage): Changed default copyright year to 2004.
307
308 2003-12-17  Werner Koch  <wk@gnupg.org>
309
310         * argparse.c (initialize): Replaced use of non-literal format
311         args.  Suggested by Florian Weimer.
312
313 2003-12-16  Werner Koch  <wk@gnupg.org>
314
315         * logging.c (writen, fun_writer, fun_closer): New.
316         (log_set_file): Add feature to log to a socket.
317         (log_set_file, do_logv): Force printing with prefix and pid.
318
319 2003-11-13  Werner Koch  <wk@gnupg.org>
320
321         * strlist.c (strlist_copy): New.
322
323         * dotlock.c: Define DIRSEP_C et al. if not defined.
324
325 2003-11-06  Werner Koch  <wk@gnupg.org>
326
327         * strlist.h (strlist_t): New. STRLIST is now deprecated.
328
329 2003-06-18  Werner Koch  <wk@gnupg.org>
330
331         * strlist.c (strlist_pop): New.
332
333         * dotlock.c (dotlock_remove_lockfiles): Prefixed with dotlock_ and
334         made global.
335
336 2003-06-17  Werner Koch  <wk@gnupg.org>
337
338         * stringhelp.c (length_sans_trailing_chars)
339         (length_sans_trailing_ws): New.
340
341         * logging.c (log_inc_errorcount): New.
342
343         * stringhelp.c (print_sanitized_utf8_buffer): Implement utf8
344         conversion.
345         (sanitize_buffer): New. Based on gnupg 1.3.2 make_printable_string.
346
347         * dotlock.c: Updated to match the version from 1.3.2
348         * utf8conv.c: New.  Code taken from strgutil.c of gnupg 1.3.2.
349         * utf8conv.h: New.
350
351 2003-06-16  Werner Koch  <wk@gnupg.org>
352
353         * logging.c (do_logv): Hack to optionally suppress a leading space.
354
355         * stringhelp.c (ascii_strncasecmp): New.  Taken from gnupg 1.3.
356         (ascii_memistr): New. Taken from gnupg 1.3
357
358 2003-06-13  Werner Koch  <wk@gnupg.org>
359
360         * mischelp.h (wipememory2,wipememory): New. Taken from GnuPG 1.3.2. 
361
362 2002-06-04  Werner Koch  <wk@gnupg.org>
363
364         * stringhelp.c (print_sanitized_utf8_string): New.  No real
365         implementation for now.
366         (print_sanitized_utf8_buffer): Ditto.
367
368 2002-04-04  Werner Koch  <wk@gnupg.org>
369
370         * logging.c (log_get_prefix): New.
371
372 2002-03-15  Werner Koch  <wk@gnupg.org>
373
374         * argparse.c (optfile_parse): Fixed missing argument handling.
375
376 2002-02-25  Werner Koch  <wk@gnupg.org>
377
378         * stringhelp.c (ascii_memcasemem): New.
379
380 2002-02-14  Werner Koch  <wk@gnupg.org>
381
382         * Makefile.am (INCLUDES): Add cflags for libgcrypt.
383
384 2002-02-07  Werner Koch  <wk@gnupg.org>
385
386         * logging.c (log_set_fd): New.
387
388         * stringhelp.c (print_sanitized_buffer): New.
389         (print_sanitized_string): New.
390
391 2002-01-24  Werner Koch  <wk@gnupg.org>
392
393         * argparse.c (strusage): Set default copyright notice year to 2002.
394
395         Fixed the copyright notice of this file, as it has always been
396         part of GnuPG and therefore belongs to the FSF.
397
398 2001-11-01  Marcus Brinkmann  <marcus@g10code.de>
399
400         * logging.c (log_printf): Do not initialize ARG_PTR with 0, we
401         don't know the correct type.  Instead, run va_start and va_end
402         unconditionally.
403         Reported by Jose Carlos Garcia Sogo <jsogo@debian.org>.
404
405 2002-01-19  Werner Koch  <wk@gnupg.org>
406
407         * logging.c (log_get_stream): New.
408
409 2001-12-05  Werner Koch  <wk@gnupg.org>
410
411         * logging.c (log_set_prefix): New.
412         (do_logv): Include prefix and pid only if enabled. Print time only
413         when explicitly enabled.
414         (log_logv): New.  
415         * logging.h: Include log_logv() only when requested.
416
417 2001-11-06  Werner Koch  <wk@gnupg.org>
418
419         * strlist.c, strlist.h: New. Taken from pgnupg/util/strgutil.c
420
421 2001-08-30  Werner Koch  <wk@gnupg.org>
422
423         * logging.c (log_printf): Don't pass NULL instead of arg_ptr.
424
425 2001-07-19  Werner Koch  <wk@gnupg.org>
426
427         * stringhelp.c (ascii_memistr,ascii_isupper,ascii_islower,
428         ascii_toupper,ascii_tolower, ascii_strcasecmp, ascii_memcasecmp): New.
429
430 2000-07-26 10:02:51  Werner Koch  (wk@habibti.openit.de)
431
432         * stringhelp.c.: Add stdarg.h
433         * argparse.h: s/ulong/unsigned long/ although this should be defined
434         by types.h.
435
436 2000-06-28 19:40:23  Werner Koch  (wk@habibti.openit.de)
437
438         * Makefile.am: Replaced second logging.c by .h
439
440 2000-05-24 08:58:15  Werner Koch  (wk@habibti.openit.de)
441
442         * logging.c (log_get_errorcount): New.
443
444 2000-05-24 08:44:47  Werner Koch  (wk@habibti.openit.de)
445
446         * stringhelp.c: Added a few filename related helper functions.
447
448 2000-05-11 18:04:43  Werner Koch  (wk@habibti.openit.de)
449
450         * xmalloc.c (xstrcat2): Replaced stpcpy to quickly address W32
451         problems.
452
453 2000-05-02 19:43:38  Werner Koch  (wk@habibti.openit.de)
454
455         * xmalloc.c (xstrcat2): New.
456
457 Mon Jan 24 13:04:28 CET 2000  Werner Koch  <wk@gnupg.de>
458
459         * README: New.
460         * Makefile.am: new.
461         * argparse.c, argparse.h, logging.c, logging.h:
462         * mischelp.h, stringhelp.c, stringhelp.h, xmalloc.c:
463         * xmalloc.h, dotlock.c: Moved from ../util to here.
464         * dotlock.h: New.
465         * libjnlib-config.h: New.
466
467         * logging.c (log_set_file): New.
468         (log_printf): New.
469         (do_logv): Add kludge to insert LFs.
470
471
472      ***********************************************************
473      * Please note that JNLIB is maintained as part of GnuPG.  *
474      * You may find it source-copied in other packages.        *
475      ***********************************************************        
476         
477  Copyright 2000, 2001, 2002, 2003, 2004,
478            2005, 2006, 2007 Free Software Foundation, Inc.
479
480  This file is free software; as a special exception the author gives
481  unlimited permission to copy and/or distribute it, with or without
482  modifications, as long as this notice is preserved.
483
484  This file is distributed in the hope that it will be useful, but
485  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
486  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.