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