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