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