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