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