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