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