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