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