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