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