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