Let scdaemon call a script on status changes
[gnupg.git] / common / ChangeLog
1 2006-09-07  Werner Koch  <wk@g10code.com>
2
3         * exechelp.c (gnupg_spawn_process): Factor out post fork code to ..
4         (do_exec): .. new function.  Allow passing of -1 for the fds.
5         (gnupg_spawn_process): Terminate gcrypt's secure memory in the child.
6         (gnupg_spawn_process_detached): New.
7
8 2006-09-06  Werner Koch  <wk@g10code.com>
9
10         * maperror.c: Removed.
11
12         * util.h (out_of_core): New.
13
14 2006-09-04  Werner Koch  <wk@g10code.com>
15
16         * http.c (http_get_header): New.
17         (capitalize_header_name, store_header): New.
18         (parse_response): Store headers away.
19         (send_request): Return GPG_ERR_NOT_FOUND if connect_server failed.
20         * http.h: New flag HTTP_FLAG_NEED_HEADER.
21
22 2006-08-21  Werner Koch  <wk@g10code.com>
23
24         * Makefile.am (libcommon_a_SOURCES): Added keyserver.h
25
26         * openpgpdefs.h: New.  Stripped from ..g10/packet.h.
27
28 2006-08-16  Werner Koch  <wk@g10code.com>
29
30         * keyserver.h: Moved from ../include to here.
31
32         * http.c: Include srv.h.
33
34         * srv.c, srv.h: New. Taken from GnuPG 1.4
35
36 2006-08-14  Werner Koch  <wk@g10code.com>
37
38         * http.h (struct http_context_s): Moved to implementation.
39         * http.c (http_open): Changed call to return a context.
40         (http_open_document): Ditto.
41         (http_get_read_ptr, http_get_read_ptr, http_get_status_code): New.
42         (do_parse_uri): Replaced strlwr by straight code to ease
43         standalone use of this file.
44         (http_wait_response): Removed arg STATUS_CODE as it is available
45         through an accessor function. Adjusted caller.
46         (http_escape_string): New.
47
48         * estream.c (es_read_line): Renamed to ..
49         (doreadline): .. this.  Changed all callers.
50         (es_read_line): New.  This is theusual limited getline variabnt as
51         used at several places.  Here taken and adjusted from xreadline.c
52         (es_free): New.
53
54 2006-08-11  Werner Koch  <wk@g10code.com>
55
56         * http.c: Major internal changes to optionallly support GNUTLS and
57         ESTREAM.
58         (http_open): Move initialization of the stream ...
59         (send_request): .. here.
60         (http_register_tls_callback): New.
61
62         * estream.c (es_writen): Try to seek only is a seek function has
63         been registered.
64
65 2006-08-09  Werner Koch  <wk@g10code.com>
66
67         * http.c, http.h: New.  Taken from gnupg 1.4.5, merged with
68         changes done for the Dirmngr project (by g10 Code) and cleaned up
69         some stuff.
70         (make_header_line): New. Change all caller to make user of the new
71         * Makefile.am (libcommon_a_SOURCES): Added http.c and http.h.
72
73 2006-05-23  Werner Koch  <wk@g10code.com>
74
75         * gettime.c (isotimestamp): New.
76
77         * ttyio.c (tty_get_ttyname): Posixly correct usage of ctermid.
78
79         * dns-cert.c: New.  Taken from 1.4.3's util/cert.c.
80         * dns-cert.h: New.
81
82 2006-05-22  Werner Koch  <wk@g10code.com>
83
84         * pka.c: New. Taked from 1.4.3.
85         * pka.h: New.
86         * Makefile.am: Added pka.
87
88 2006-05-19  Werner Koch  <wk@g10code.com>
89
90         * yesno.c (answer_is_yes_no_default, answer_is_yes_no_quit):
91         Updated from 1.4.3.
92         (answer_is_okay_cancel): new.  From 1.4.3.
93
94         * miscellaneous.c (match_multistr): New.  Taken from 1.4.3.
95
96         * ttyio.c (tty_enable_completion, tty_disable_completion): New
97         dummy functions.
98         * ttyio.h: Add prototypes and stubs.
99
100 2006-04-19  Werner Koch  <wk@g10code.com>
101
102         * iobuf.c (iobuf_get_fd): New.  Taken from 1.4.3.
103         (iobuf_is_pipe_filename): New.
104         (pop_filter): Made static.
105         (iobuf_skip_rest): New.  Orginal patch by Florian
106         Weimer.  Added new argument PARTIAL.
107         (block_filter): Remove the old gpg indeterminate length mode.
108         (block_filter): Properly handle a partial body stream
109         that ends with a 5-byte length that happens to be zero.
110         (iobuf_set_block_mode, iobuf_in_block_mode): Removed as
111         superfluous.
112         (iobuf_get_filelength): New arg OVERFLOW.
113         (iobuf_get_filelength) [W32]: Use GetFileSizeEx if available
114         * miscellaneous.c (is_file_compressed): Take care of OVERFLOW.
115
116 2006-04-18  Werner Koch  <wk@g10code.com>
117
118         * homedir.c (w32_shgetfolderpath): New.  Taken from gpg 1.4.3.
119         (default_homedir): Use it.
120
121 2005-10-08  Marcus Brinkmann  <marcus@g10code.de>
122
123         * signal.c (get_signal_name): Check value of HAVE_DECL_SYS_SIGLIST
124         instead of just if it is defined.
125
126 2005-09-28  Marcus Brinkmann  <marcus@g10code.de>
127
128         * Makefile.am (AM_CFLAGS): Add $(LIBASSUAN_CFLAGS).
129
130 2005-07-04  Marcus Brinkmann  <marcus@g10code.de>
131
132         * simple-pwquery.h (simple_pwclear): New prototype.
133         * simple-pwquery.c (simple_pwclear): New function.
134
135 2005-06-15  Werner Koch  <wk@g10code.com>
136
137         * miscellaneous.c (make_printable_string): Made P a void*.
138
139         * sexputil.c (keygrip_from_canon_sexp, cmp_simple_canon_sexp):
140         Fixed signed/unsigned pointer mismatch.
141         (make_simple_sexp_from_hexstr): Ditto.  This is all too ugly; I
142         wonder why gcc-4's default is to warn about them and forcing us to
143         use cast the warning away.
144         * iobuf.c (block_filter): Ditto.
145         (iobuf_flush): Ditto.
146         (iobuf_read_line): Ditto.
147         (iobuf_read): Make BUFFER a void *.
148         (iobuf_write): Make BUFFER a const void *.
149         * ttyio.c (tty_print_utf8_string2): Ditto.
150         * estream.c (estream_cookie_mem): Make MEMORY unsigned char*.
151         (es_write): Make BUFFER a void *.
152         (es_writen): Ditto.
153         (es_func_fd_read, es_func_fd_write, es_func_mem_read) 
154         (es_func_mem_write): Ditto.
155         (es_read, es_readn): Ditto.
156         (es_func_mem_write): Made MEMORY_NEW an unsigned char *.
157         * estream.h (es_cookie_read_function_t)
158         (es_cookie_write_function_t): Changed buffer arg to void*.
159
160 2005-06-03  Werner Koch  <wk@g10code.com>
161
162         * estream.c: Use HAVE_CONFIG_H and not USE_CONFIG_H!
163         (es_func_fd_read, es_func_fd_write): Protect against EINTR.
164         
165 2005-06-01  Werner Koch  <wk@g10code.com>
166
167         * Makefile.am (AM_CPPFLAGS): Added.
168
169         * util.h: Add some includes for gnulib.
170         (ttyname, isascii): Define them inline.
171         * fseeko.c, ftello.c: Removed.
172         * strsep.c, mkdtemp.c: Removed.
173         * ttyname.c, isascii.c: Removed.
174
175 2005-05-31  Werner Koch  <wk@g10code.com>
176
177         * dynload.h: s/__inline__/inline/.
178
179 2005-05-13  Werner Koch  <wk@g10code.com>
180
181         * signal.c (got_fatal_signal): Print the signal number if we can't
182         get a name for it.
183         (get_signal_name): Return NULL if no name is available. Fixed
184         conditional for sys_siglist to the correct one.
185
186 2005-04-17  Werner Koch  <wk@g10code.com>
187
188         * sexputil.c (cmp_simple_canon_sexp): New.
189         (make_simple_sexp_from_hexstr): New.
190
191 2005-04-07  Werner Koch  <wk@g10code.com>
192
193         * sexputil.c: New.
194
195 2005-04-11  Marcus Brinkmann  <marcus@g10code.de>
196
197         * simple-pwquery.c (simple_pwquery): Use spwq_secure_free.
198
199 2005-03-03  Werner Koch  <wk@g10code.com>
200
201         * Makefile.am (AM_CFLAGS): Added PTH_CFLAGS.  Noted by Kazu Yamamoto.
202
203 2005-02-25  Werner Koch  <wk@g10code.com>
204
205         * xasprintf.c (xtryasprintf): New.
206
207 2005-01-26  Moritz Schulte  <moritz@g10code.com>
208
209         * Makefile.am (libcommon_a_SOURCES): New source files: estream.c,
210         estream.h.
211         * estream.c, estream.h: New files.
212
213 2005-01-03  Werner Koch  <wk@g10code.com>
214
215         * asshelp.c (send_pinentry_environment): Fixed changed from
216         2004-12-18; cut+paste error for lc-messages.
217
218 2004-12-21  Werner Koch  <wk@g10code.com>
219
220         * simple-pwquery.c (agent_open) [W32]: Implement for W32.
221         (readline) [W32]: Use recv instead of read.
222         (writen) [W32]: Use send instead of write.
223         (my_stpcpy): Define a stpcpy replacement so that this file
224         continues to be self-contained.
225         (agent_send_all_options) [W32]: Don't call ttyname.
226
227 2004-12-21  Marcus Brinkmann  <marcus@g10code.de>
228
229         * simple-pwquery.h (simple_query): Add prototype.
230         * simple-pwquery.c (simple_query): New function.
231
232 2004-12-21  Werner Koch  <wk@g10code.com>
233
234         * signal.c (got_fatal_signal, got_usr_signal)
235         (got_fatal_signal) [DOSISH]: Don't build.
236         * simple-gettext.c: Include sysutils.h 
237
238         * homedir.c: New. Use CSIDL_APPDATA for W32 as the default home
239         directory.
240         * Makefile.am (libcommon_a_SOURCES): Add it.
241         (EXTRA_DIST): Removed mkerror and mkerrtok.
242
243 2004-12-20  Werner Koch  <wk@g10code.com>
244
245         * sysutils.h [W32]: Define sleep.
246         * util.h: Add prototype for mkdtemp.
247
248         * membuf.c (put_membuf): Wipe out buffer after a failed realloc.
249
250 2004-12-19  Werner Koch  <wk@g10code.com>
251
252         * maperror.c (map_assuan_err_with_source): Oops, args were swapped.
253
254 2004-12-18  Werner Koch  <wk@g10code.com>
255
256         * maperror.c (map_assuan_err): Renamed to ..
257         (map_assuan_err_with_source): .. this and add arg SOURCE.c
258         * asshelp.c (send_pinentry_environment, send_one_option): Add arg
259         ERRSOURCE.
260
261 2004-12-15  Werner Koch  <wk@g10code.com>
262
263         * sysutils.h [W32]: Prototypes for registry functions.
264         * w32reg.c: Include sysutils.h
265
266         * simple-pwquery.c [W32]: Dummy code to allow a build.
267
268         * exechelp.c [W32]: Implemented for W32 .
269
270         * ttyname.c: New.
271
272         * asshelp.c (send_one_option): New.
273         (send_pinentry_environment): Cleaned up and made sure that empty
274         values are not send.
275
276 2004-12-07  Werner Koch  <wk@g10code.com>
277
278         * asshelp.c (send_pinentry_environment) [W32]: Do not use ttyname.
279
280 2004-12-06  Werner Koch  <wk@g10code.com>
281
282         * exechelp.h, exechelp.c: New.  Based on code from ../sm/import.c.
283
284 2004-12-03  Werner Koch  <wk@g10code.com>
285
286         * strsep.c: Fixed copyright comments.
287
288 2004-11-26  Werner Koch  <wk@g10code.com>
289
290         * simple-gettext.c: New taken from gnupg 1.3.x
291
292         * simple-pwquery.c [_WIN32]: Include winsock2.h.
293         (agent_open): Disable it until we have our AF_UNIX implementation
294         ready.
295         * fseeko.c, ftello.c: Include sys/types for the sake of W32.
296
297 2004-11-23  Werner Koch  <wk@g10code.com>
298
299         * b64enc.c: Include stdio.h and string.h
300
301 2004-08-18  Werner Koch  <wk@g10code.de>
302
303         * simple-pwquery.c (simple_pwquery): Handle gpg-error style return
304         code for canceled.
305
306 2004-07-20  Werner Koch  <wk@g10code.de>
307
308         * maperror.c: Removed header ksba.h.  Not required anymore.
309
310 2004-06-14  Werner Koch  <wk@gnupg.org>
311
312         * xreadline.c: New.  Based on the iobuf_read_line function.
313
314 2004-05-12  Werner Koch  <wk@gnupg.org>
315
316         * util.h (xtrycalloc_secure,xtrymalloc_secure): New.
317
318 2004-05-11  Werner Koch  <wk@gnupg.org>
319
320         * sysutils.c (disable_core_dumps): Only set the current limit.
321         (enable_core_dumps): New.
322
323 2004-04-13  Werner Koch  <wk@gnupg.org>
324
325         * simple-pwquery.c (copy_and_escape): Relaxed quoting.
326
327 2004-04-05  Werner Koch  <wk@gnupg.org>
328
329         * errors.h (STATUS_NEWSIG): New.
330
331 2004-03-11  Werner Koch  <wk@gnupg.org>
332
333         * dynload.h [__MINGW32__]: Define RTLD_LAZY.
334
335 2004-03-09  Werner Koch  <wk@gnupg.org>
336
337         * maperror.c (map_assuan_err): Map the Locale_Problem item.
338
339 2004-03-03  Werner Koch  <wk@gnupg.org>
340
341         * asshelp.c, asshelp.h: New.
342         (send_pinentry_environment): New. Code taken from ../sm/call-agent.c.
343
344 2004-02-19  Werner Koch  <wk@gnupg.org>
345
346         * simple-pwquery.c (agent_open): Don't mangle INFOSTR.
347
348 2004-02-17  Werner Koch  <wk@gnupg.org>
349
350         * simple-pwquery.c (agent_open): Ignore an empty GPG_AGENT_INFO.
351
352         * errors.h: Added STATUS_IMPORT_OK.
353
354 2004-02-10  Werner Koch  <wk@gnupg.org>
355
356         * b64enc.c: New.  Based on code from ../sm/base64.c.
357
358 2004-01-30  Marcus Brinkmann  <marcus@g10code.de>
359
360         * Makefile.am (libcommon_a_SOURCES): Add xasprintf.c.
361         * miscellaneous.c (xasprintf): Moved to ...
362         * xasprintf (xasprintf): ... here.  New file.
363         This allows to use xasprintf without sucking in gpg-error.
364
365 2004-01-27  Werner Koch  <wk@gnupg.org>
366
367         * sexp-parse.h: New; moved from../agent.
368
369         * util.h (xtoi_4): New.
370
371 2003-12-23  Werner Koch  <wk@gnupg.org>
372
373         * maperror.c (map_assuan_err): Prepared for a new error code.
374
375 2003-12-17  Werner Koch  <wk@gnupg.org>
376
377         * gettime.c (asctimestamp): Add a note on a non-avoidable gcc warning.
378
379         * util.h [!HAVE_VASPRINTF]: Add printf format attribute to the
380         replacement function.
381
382         * miscellaneous.c (xasprintf): New.
383
384 2003-11-14  Werner Koch  <wk@gnupg.org>
385
386         * mkdtemp.c (mkdtemp): Use gcry_create_nonce.
387
388         * cryptmiss.c: Removed.
389
390 2003-11-13  Werner Koch  <wk@gnupg.org>
391
392         * util.h (vasprintf): Also fixed the prototype.
393
394         * vasprintf.c (vasprintf): ARGS should not be a pointer.  Fixed
395         segv on Solaris.  Reported by Andrew J. Schorr.
396
397 2003-11-12  Werner Koch  <wk@gnupg.org>
398
399         * maperror.c (map_ksba_err, map_gcry_err, map_kbx_err): Removed.
400
401 2003-10-31  Werner Koch  <wk@gnupg.org>
402
403         * util.h (gnupg_isotime_t): New.
404         (gnupg_copy_time): New.
405
406         * gettime.c (gnupg_get_isotime): New.
407
408 2003-09-23  Werner Koch  <wk@gnupg.org>
409
410         * iobuf.c (check_special_filename): Replaced is isdigit by digitp
411         to avoid passing negative values and potential locale problems.
412         Problem noted by Christian Biere.
413
414         * util.h (ascii_isspace): New.
415
416 2003-09-18  Werner Koch  <wk@gnupg.org>
417
418         * ttyio.c (tty_fprintf): New.
419         (tty_print_string, tty_print_utf8_string2)
420         (tty_print_utf8_string): Made P argument const byte*.
421
422 2003-08-20  Marcus Brinkmann  <marcus@g10code.de>
423
424         * maperror.c (map_ksba_err): Map -1.  Use gpg_err_make to set
425         the error source.
426
427 2003-08-14  Timo Schulz  <twoaday@freakmail.de>
428
429         * dynload.h. New. W32 wrapper around the dynload mechanism.
430         
431 2003-07-15  Werner Koch  <wk@gnupg.org>
432
433         * simple-pwquery.c, simple-pwquery.h:  New; moved from ../agent.  
434         * Makefile.am (libsimple_pwquery_a_LIBADD): New.
435
436 2003-06-25  Werner Koch  <wk@gnupg.org>
437
438         * maperror.c (map_to_assuan_status): Directly map 0 to 0.
439
440 2003-06-17  Werner Koch  <wk@gnupg.org>
441
442         * gettime.c (scan_isodatestr,add_days_to_timestamp,strtimevalue)
443         (strtimestamp,asctimestamp): New.  Code taken from gnupg 1.3.2
444         mischelp.c.
445
446         * yesno.c: New.  Code taken from gnupg 1.3.2 mischelp.c
447
448         * miscellaneous.c: New.
449
450         * util.h: Include utf8conf.h
451
452 2003-06-16  Werner Koch  <wk@gnupg.org>
453
454         * gettime.c (make_timestamp): New.
455
456         * ttyio.c: New. Taken from gnupg 1.2.
457         * ttyio.h: Move from ../include.
458
459 2003-06-13  Werner Koch  <wk@gnupg.org>
460
461         * util.h (seterr): Removed macro.
462         (xmalloc_secure,xcalloc_secure): New.
463
464 2003-06-11  Werner Koch  <wk@gnupg.org>
465
466         * iobuf.c (iobuf_writebyte,iobuf_write): Return error code from
467         iobuf_flush.
468         (iobuf_writestr): Ditto.
469
470 2003-06-10  Werner Koch  <wk@gnupg.org>
471
472         * iobuf.c, iobuf.h: New. Taken from current gnupg 1.3 CVS.  Run
473         indent on it and adjusted error handling to libgpg-error style.
474         Replaced IOBUF by iobuf_t. Renamed malloc functions.
475
476 2003-06-04  Werner Koch  <wk@gnupg.org>
477
478         * errors.h: Removed all error codes.  We keep the status codes for
479         now.
480         * Makefile.am: Do not create errors.c anymore; remove it from the
481         sources.
482
483         * maperror.c: Don't include error.h.  Change all error codes to
484         libgpg-error style.
485         (map_assuan_err): Changed to new Assuan error code convention.
486         (map_to_assuan_status): Likewise.
487         (map_gcry_err,map_kbx_err): Not needed.  For now dummy functions.
488
489         * membuf.c, membuf.h: New.  Code taken from ../sm/call-agent.h.
490         * Makefile.am: Added above.
491
492 2003-04-29  Werner Koch  <wk@gnupg.org>
493
494         * util.h (fopencokokie): Removed prototype and struct.
495
496         * fopencookie.c: Removed.
497
498         * maperror.c: Use system assuan.h
499
500 2002-10-31  Neal H. Walfield  <neal@g10code.de>
501
502         * isascii.c: New file.
503         * putc_unlocked.c: Likewise.
504
505 2002-10-28  Neal H. Walfield  <neal@g10code.de>
506
507         * signal.c (caught_fatal_sig): Remove superfluous zero
508         initializer.
509         (caught_sigusr1): Likewise.
510
511 2002-09-04  Neal H. Walfield  <neal@g10code.de>
512
513         * vasprintf.c (vasprintf) [va_copy]: Use va_copy.
514         [!va_copy && __va_copy]: Use __va_copy.
515         [!va_copy && !__va_copy]: Only now fall back to using memcpy.
516
517 2002-08-21  Werner Koch  <wk@gnupg.org>
518
519         * errors.h: Added STATUS_IMPORT_PROBLEM.
520
521 2002-08-20  Werner Koch  <wk@gnupg.org>
522
523         * vasprintf.c: Hack to handle NULL for %s.
524
525 2002-08-09  Werner Koch  <wk@gnupg.org>
526
527         * signal.c: New. Taken from GnuPG 1.1.91.
528
529 2002-07-23  Werner Koch  <wk@gnupg.org>
530
531         * util.h (_IO_cookie_io_functions_t): Fixed typo.  Noted by
532         Richard Lefebvre.
533
534 2002-07-22  Werner Koch  <wk@gnupg.org>
535
536         * fseeko.c, ftello.c: New.
537
538 2002-06-28  Werner Koch  <wk@gnupg.org>
539
540         * maperror.c (map_to_assuan_status): Map more errorcodes to Bad
541         Certificate.
542
543 2002-06-26  Werner Koch  <wk@gnupg.org>
544
545         * maperror.c (map_to_assuan_status): Map EOF to No_Data_Available.
546
547 2002-06-10  Werner Koch  <wk@gnupg.org>
548
549         * errors.h (gnupg_error_token): Add new prototype.
550         (STATUS_ERROR): New.
551
552         * mkerrtok: New.
553         * Makefile.am: Use it to create the new error token function.
554
555 2002-06-04  Werner Koch  <wk@gnupg.org>
556
557         * maperror.c (map_to_assuan_status): Map Bad_CA_Certificate.
558
559 2002-05-23  Werner Koch  <wk@gnupg.org>
560
561         * no-pth.c, Makefile.am: Removed.
562
563 2002-05-22  Werner Koch  <wk@gnupg.org>
564
565         * mkdtemp.c: Replaced byte by unsigned char because it is no longer
566         defined in gcrypt.h.
567
568 2002-05-21  Werner Koch  <wk@gnupg.org>
569
570         * maperror.c (map_gcry_err): Add libgcrypt's new S-expression errors.
571         (map_ksba_err): Add a few mappings.
572
573 2002-05-14  Werner Koch  <wk@gnupg.org>
574
575         * gettime.c: New.
576
577 2002-05-03  Werner Koch  <wk@gnupg.org>
578
579         * errors.h: Added STARUS_EXPSIG and STATUS_EXPKEYSIG.
580
581 2002-04-15  Werner Koch  <wk@gnupg.org>
582
583         * cryptmiss.c: New.
584
585 2002-02-14  Werner Koch  <wk@gnupg.org>
586
587         * maperror.c: Add more assuan<->gnupg mappings.
588
589 2002-02-12  Werner Koch  <wk@gnupg.org>
590
591         * fopencookie.c: Dummy function.
592
593         * vasprintf.c: New.  Taken from binutils-2.9.1 and dropped all non
594         ANSI-C stuff.  Merged with asprintf version.
595
596         * no-pth.c: New.
597
598 2002-01-23  Werner Koch  <wk@gnupg.org>
599
600         * mkdtemp.c: Copied from gnupg-1.0.6c and changed to use libgcrypt.
601
602 2002-01-19  Werner Koch  <wk@gnupg.org>
603
604         * sysutils.c: New.  This is the misc.c file from gnupg 1.0.6 with
605         the OpenPGP stuff removed.
606         * sysutils.h: New.
607         
608 2002-01-15  Werner Koch  <wk@gnupg.org>
609
610         * maperror.c: Add mapping for Not_Trusted. 
611
612 2002-01-11  Werner Koch  <wk@gnupg.org>
613
614         * maperror.c (map_assuan_err): Codes for CRL
615
616 2002-01-08  Werner Koch  <wk@gnupg.org>
617
618         * util.h (spacep): New.
619
620 2002-01-02  Werner Koch  <wk@gnupg.org>
621
622         * maperror.c (map_to_assuan_status): New.  Merged from ../agent
623         and ../sm.
624
625 2001-12-20  Werner Koch  <wk@gnupg.org>
626
627         * maperror.c (map_gcry_err): Add some mappings.
628
629 2001-12-18  Werner Koch  <wk@gnupg.org>
630
631         * Makefile.am (AM_CPPFLAGS): Include flags for gcrypt and ksba
632
633 2001-12-14  Werner Koch  <wk@gnupg.org>
634
635         * util.h (digitp, hexdigitp): New ctype like macros.
636         (atoi_1,atoi_2,atoi_4,xtoi_1,xtoi_2): New.
637         
638         
639  Copyright 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
640
641  This file is free software; as a special exception the author gives
642  unlimited permission to copy and/or distribute it, with or without
643  modifications, as long as this notice is preserved.
644
645  This file is distributed in the hope that it will be useful, but
646  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
647  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
648                 
649