cbe0a5a283188a58d57227fbfc43983699b29520
[gnupg.git] / common / ChangeLog
1 2009-03-13  David Shaw  <dshaw@jabberwocky.com>
2
3         * http.c (do_parse_uri): Properly handle IPv6 literal addresses as
4         per RFC-2732.  Adapted from patch by Phil Pennock.
5
6 2009-03-06  Werner Koch  <wk@g10code.com>
7
8         * sexputil.c (make_canon_sexp): New.
9
10 2009-03-03  Werner Koch  <wk@g10code.com>
11
12         * exechelp.c (do_exec): Make sure that /dev/null connected FDs are
13         not closed.
14
15 2009-01-19  Werner Koch  <wk@g10code.com>
16
17         * audit.c (writeout_li): Translate a few more result strings.
18         Fixes bug#970.
19
20         * convert.c (hex2str): Fix optimization to append a nul character.
21
22 2008-12-05  Werner Koch  <wk@g10code.com>
23
24         * percent.c, t-percent.c: New.
25
26         * exechelp.c (gnupg_spawn_process, gnupg_spawn_process_fd) 
27         (gnupg_spawn_process_detached) [W32]: Remove debug output.
28
29 2008-11-20  Werner Koch  <wk@g10code.com>
30
31         * audit.c (writeout_li): Translate OKTEXT.
32
33 2008-11-04  Werner Koch  <wk@g10code.com>
34
35         * i18n.c (i18n_init) [USE_SIMPLE_GETTEXT]: Adjust for changed
36         w32-gettext.c.
37         * homedir.c (gnupg_localedir): New.
38
39 2008-10-20  Werner Koch  <wk@g10code.com>
40
41         * http.c (http_register_tls_callback) [!HTTP_USE_GNUTLS]: Mark
42         unused arg.
43         * localename.c (do_nl_locale_name): Ditto.
44         * audit.c (event2str): Silent gcc warning.
45         * sysutils.c (translate_sys2libc_fd): Mark unused arg.
46         (translate_sys2libc_fd_int): Ditto.
47         * iobuf.c (translate_file_handle): Ditto.
48         * asshelp.c (send_one_option): Ditto.
49         * exechelp.c (gnupg_spawn_process): Ditto.
50         * signal.c (got_usr_signal): Ditto
51         * estream.c (es_func_fd_create) [!W32]: Ditto.
52         (es_func_fp_create) [!W32]: Ditto.
53         (es_write_hexstring): Ditto.
54         (dummy_mutex_call_void, dummy_mutex_call_int) [HAVE_PTH]: New.
55         (ESTREAM_MUTEX_LOCK, ESTREAM_MUTEX_UNLOCK, ESTREAM_MUTEX_TRYLOCK)
56         (ESTREAM_MUTEX_INITIALIZE) [HAVE_PTH]: Use dummy calls so to mark
57         unused arg.
58
59 2008-10-19  Werner Koch  <wk@g10code.com>
60
61         * estream-printf.c (estream_vsnprintf): Fix return value.
62         (check_snprintf): Add a new test.
63         (one_test) [W32]: Disable test.
64
65 2008-10-17  Werner Koch  <wk@g10code.com>
66
67         * util.h (snprintf) [W32]: Redefine to estream_snprintf.
68
69 2008-09-03  Werner Koch  <wk@g10code.com>
70
71         * convert.c (hex2str): New.
72         (hex2str_alloc): New.
73         * t-convert.c (test_hex2str): New.
74
75 2008-08-19  Werner Koch  <wk@g10code.com>
76
77         * iobuf.c: Avoid passing a NULL (iobuf_t)->desc to the log
78         function.  Should in general never be NULL, but well.  Reported by
79         M. Heneka.
80
81 2008-06-26  Werner Koch  <wk@g10code.com>
82
83         * estream.c (es_write_sanitized): Loose check for control
84         characters to better cope with utf-8.  The range 0x80..0x9f is
85         nowadays not anymore accidently used for control charaters.
86
87 2008-06-25  Marcus Brinkmann  <marcus@g10code.de>
88
89         Revert last three changes related to handle translation.
90         * sysutils.c:
91         (FD_TRANSLATE_MAX, fd_translate, fd_translate_len)
92         (translate_table_init, translate_table_lookup): Removed.
93         * iobuf.c (check_special_filename): Do not use
94         translate_table_lookup.
95         * sysutils.h (translate_table_init, translate_table_lookup):
96         Remove prototypes.
97
98 2008-06-19  Werner Koch  <wk@g10code.com>
99
100         * sysutils.c: Remove <ctype.h>.
101         (fd_translate_max): Use macro for the size.
102         (translate_table_init): Protect read against EINTR and replace
103         isspace by spacep.
104
105 2008-06-18  Marcus Brinkmann  <marcus@g10code.de>
106
107         * sysutils.c (TRANS_MAX): Bump up to 350 to be on the safe side.
108
109         * sysutils.h (translate_table_init, translate_table_lookup): New
110         prototypes.
111         * sysutils.c: Include <ctype.h>.
112         (FD_TRANSLATE_MAX): New macro.
113         (fd_translate, fd_translate_len): New static variables.
114         (translate_table_init, translate_table_lookup): New functions.
115         (translate_sys2libc_fd_int): Translate file descriptor.
116         * iobuf.c (check_special_filename): Translate handle values from
117         special filenames.
118
119 2008-06-16  Werner Koch  <wk@g10code.com>
120
121         * homedir.c (w32_commondir): New.
122         (gnupg_sysconfdir): Use it.
123
124 2008-06-09  Werner Koch  <wk@g10code.com>
125
126         * b64dec.c: New.
127
128 2008-06-05  Werner Koch  <wk@g10code.com>
129
130         * util.h (gnupg_copy_time): Replace strcpy by memcpy.
131
132 2008-05-26  Werner Koch  <wk@g10code.com>
133
134         * asshelp.c (send_one_option, send_pinentry_environment): use
135         xfree and xtrystrdup.
136
137         * i18n.c (i18n_switchto_utf8) [USE_SIMPLE_GETTEXT]: Return NULL.
138
139         * homedir.c (gnupg_module_name): Add
140         GNUPG_MODULE_NAME_CONNECT_AGENT and GNUPG_MODULE_NAME_GPGCONF.
141
142 2008-04-21  Werner Koch  <wk@g10code.com>
143
144         * http.c (http_wait_response) [W32]: Use DuplicateHandle because
145         it is a socket.
146         (cookie_read) [W32]: Use recv in place of read.
147
148 2008-04-08  Werner Koch  <wk@g10code.com>
149
150         * i18n.c (i18n_switchto_utf8, i18n_switchback)
151         [USE_SIMPLE_GETTEXT]: Implement.
152
153 2008-04-07  Werner Koch  <wk@g10code.com>
154
155         * b64enc.c (b64enc_start): Detect PGP mode.
156         (b64enc_finish): Write PGP CRC.
157         * util.h (struct b64state): Add field CRC.
158         * t-b64.c: New.
159
160         * pka.c (get_pka_info): Use xtrymalloc and check result.
161
162 2008-03-25  Werner Koch  <wk@g10code.com>
163
164         * localename.c: Strip all W32 code.  Include w32help.h.
165         (gnupg_messages_locale_name) [W32]: Use the gettext_localename.
166
167 2008-03-17  Werner Koch  <wk@g10code.com>
168
169         * iobuf.c (IOBUF_BUFFER_SIZE): Actually use this macro.
170
171         * simple-pwquery.c (agent_send_all_options): Fix last change.
172
173 2008-03-06  Werner Koch  <wk@g10code.com>
174
175         * simple-pwquery.c (agent_send_all_options): Add support for
176         XAUTHORITY and PINENTRY_USER_DATA.
177
178 2008-02-15  Marcus Brinkmann  <marcus@g10code.de>
179
180         * exechelp.c (gnupg_spawn_process_fd): Add flag DETACHED_PROCESS
181         unconditionally (required for all callers at the moment).
182
183 2008-02-14  Werner Koch  <wk@g10code.com>
184
185         * sysutils.c (gnupg_allow_set_foregound_window): New.
186         (WINVER) [W32]: Define.
187
188 2008-01-31  Werner Koch  <wk@g10code.com>
189
190         * audit.c (audit_print_result): Make sure that the output is
191         always UTF8.
192
193 2008-01-27  Werner Koch  <wk@g10code.com>
194
195         * exechelp.c (gnupg_spawn_process): Add arg FLAGS and changed all
196         callers to pass 0 for it.
197
198 2007-12-13  Werner Koch  <wk@g10code.com>
199
200         * sexputil.c (hash_algo_from_sigval): New.
201         * t-sexputil.c: New.
202         * Makefile.am (module_tests): Add it.
203
204 2007-12-11  Werner Koch  <wk@g10code.com>
205
206         * asshelp.c (send_pinentry_environment): Allow using of old
207         gpg-agents not capabale of the xauthority and pinentry_user_data
208         options.
209
210 2007-12-04  Werner Koch  <wk@g10code.com>
211
212         * Makefile.am (t_helpfile_LDADD, module_maint_tests): New.
213         * t-helpfile.c: New.
214         * helpfile.c: New.
215         * membuf.h (is_membuf_ready, MEMBUF_ZERO): New.
216         * localename.c: New.  Taken from gettext with modifications as done
217         for GpgOL.  Export one new function.
218         * util.h (gnupg_messages_locale_name, gnupg_get_help_string): Added.
219
220         * sysutils.c (gnupg_reopen_std): New.  Taken from ../g10/gpg.c.
221
222 2007-11-27  Werner Koch  <wk@g10code.com>
223
224         * Makefile.am (CLEANFILES): New.
225
226         * homedir.c (dirmngr_socket_name): Use CSIDL_WINDOWS.
227
228 2007-11-15  Werner Koch  <wk@g10code.com>
229
230         * asshelp.c (send_pinentry_environment): Add args XAUTHORITY and
231         PINENTRY_USER_DATA.
232         (start_new_gpg_agent): Ditto.
233
234 2007-11-07  Werner Koch  <wk@g10code.com>
235
236         * status.h: New.
237         * errors.h: Remove.
238
239 2007-11-05  Werner Koch  <wk@g10code.com>
240
241         * audit.c, audit.h: New. 
242         * Makefile.am: Add rules to build audit-events.h.
243         * exaudit.awk: New.
244         * mkstrtable.awk: New.  Taken from libgpg-error.
245
246 2007-10-19  Werner Koch  <wk@g10code.com>
247
248         * i18n.c (i18n_switchto_utf8, i18n_switchback): New.
249
250 2007-10-01  Werner Koch  <wk@g10code.com>
251
252         * sysutils.h (FD2INT, INT2FD): New.
253
254 2007-09-21  Werner Koch  <wk@g10code.com>
255
256         * homedir.c (default_homedir): Make registry work.  Reported by
257         Marc Mutz.
258
259 2007-08-29  Werner Koch  <wk@g10code.com>
260
261         * exechelp.c (gnupg_wait_process): Add arg EXITCODE.  Changed all
262         callers.
263         (gnupg_create_inbound_pipe): New.
264         * util.h (GNUPG_MODULE_NAME_GPGSM, GNUPG_MODULE_NAME_GPG): New.
265         * homedir.c (gnupg_module_name): Add them
266         
267 2007-08-28  Werner Koch  <wk@g10code.com>
268
269         * gettime.c (check_isotime, add_isotime): New.  Originally written
270         for DirMngr by me.
271         (add_days_to_isotime): New.
272         (date2jd, jd2date, days_per_month, days_per_year): New. Taken from
273         my ancient (1988) code used in Wedit (time2.c).
274
275 2007-08-27  Werner Koch  <wk@g10code.com>
276
277         * util.h (GNUPG_MODULE_NAME_CHECK_PATTERN): New.
278         * homedir.c (gnupg_module_name): Add it.
279         * exechelp.c (w32_fd_or_null) [W32]: New.
280         (gnupg_spawn_process_fd): New.
281         (gnupg_wait_process) [W32]: Close the handle after if the process has
282         returned.
283
284 2007-08-22  Werner Koch  <wk@g10code.com>
285
286         Updated estream from libestream.
287         
288         * estream.c (mem_malloc, mem_realloc, mem_free): New.  Use them
289         instead of the ES_MEM_foo.
290         * estream.c (estream_cookie_mem): Remove members DONT_FREE,
291         APPEND_ZERO, PTR and SIZE.  Add MEMORY_LIMIT.  Put GROW into a new
292         FLAGS struct.
293         (es_func_mem_create): Remove APPEND_ZERO, DONT_FREE, PTR and
294         SIZE.  Add MEMORY_LIMIT.
295         (es_func_mem_write, es_func_mem_seek, es_func_mem_destroy): Revamp.
296         (es_open_memstream): Change API to just take a memory limit and a
297         mode argument.  Rename to ..
298         (es_fopenmem): .. this.
299         (HAVE_W32_SYSTEM) [_WIN32]: Define if not defined.
300         (tmpfd) [W32]: Implement directly using the W32 API.
301         (es_fgets): Rewrite without using doreadline.
302
303 2007-08-21  Werner Koch  <wk@g10code.com>
304
305         * sysutils.c (gnupg_tmpfile): New.
306         * t-sysutils.c: New.
307         * Makefile.am (module_tests): Add t-sysutils.
308
309 2007-08-20  Werner Koch  <wk@g10code.com>
310
311         * exechelp.c [W32]: Redefine X_OK to F_OK.
312
313 2007-08-16  Werner Koch  <wk@g10code.com>
314
315         * Makefile.am (t_convert_DEPENDENCIES): Remove
316         ($(PROGRAMS)): Remove.
317         (t_common_ldadd): Use libcommon.a and not the macro.
318
319 2007-08-14  Werner Koch  <wk@g10code.com>
320
321         * homedir.c (dirmngr_socket_name): New.
322
323 2007-08-07  Werner Koch  <wk@g10code.com>
324
325         * tlv.c, tlv.h: Move from ../scd/.
326         * tlv.c (parse_sexp, parse_ber_header): Add ERRSOURCE arg and prefix
327         name with a _.
328         * tlv.h: Use macro to convey ERRSOURCE.
329
330 2007-08-02  Werner Koch  <wk@g10code.com>
331
332         * gc-opt-flags.h: New.
333
334 2007-08-01  Werner Koch  <wk@g10code.com>
335
336         * estream-printf.c (read_dummy_value): Removed as it is useless now.
337         (read_values): Remove check on !vaargs which is not anymore needed
338         and anyway not portable.  Reported by Peter O'Gorman.
339
340 2007-07-16  Werner Koch  <wk@g10code.com>
341
342         * estream.c (es_func_file_create): Clear NO_CLOSE flag.
343
344 2007-07-12  Werner Koch  <wk@g10code.com>
345
346         * sysutils.h (gnupg_fd_t): New.
347         * sysutils.c (translate_sys2libc_fd): Use that type instead of int.
348         (translate_sys2libc_fd_int): New.
349
350 2007-07-09  Werner Koch  <wk@g10code.com>
351
352         * t-gettime.c (test_isotime2epoch): Use time_t and not u32.
353
354 2007-07-05  Werner Koch  <wk@g10code.com>
355
356         * t-gettime.c: New. 
357         * gettime.c (isotime2epoch, epoch2isotime): New.
358
359 2007-07-04  Werner Koch  <wk@g10code.com>
360
361         * estream.c (es_init_do): Do not throw an error if pth has already
362         been initialized.
363
364 2007-06-26  Werner Koch  <wk@g10code.com>
365
366         * Makefile.am ($(PROGRAMS)): New.
367
368         * util.h (init_common_subsystems): Moved to ..
369         * init.h: .. New.
370         * util.h: Include init.h.
371
372         * homedir.c (standard_homedir): New.
373         (default_homedir) [W32]: Reimplemented in terms of
374         standard_homedir.  Fixed memory leak.
375
376 2007-06-25  Werner Koch  <wk@g10code.com>
377
378         * iobuf.c: Add more documentation and slighly restructured macro
379         defintion for better readability.
380         (FILEP_OR_FD): Rename to fp_or_fd_t.
381         (CLOSE_CACHE): Rename to close_cache_t.
382
383         * sysutils.c (translate_sys2libc_fd): New using the code from iobuf.c.
384         * iobuf.c: Include sysutils.h.
385         (iobuf_translate_file_handle): Remove.
386         (translate_file_handle): Use new function.
387
388         * estream-printf.c [TEST]: Header including fixes. 
389         (do_format): Do not append a trailing Nul.  This avoids spurious
390         Nuls in the es_printf output.
391         (estream_vsnprintf, estream_vasprintf): Take this in account.
392
393         * estream.h (struct es__stream): Change FLAGS to a bit structure.
394         (ES__FLAG_WRITING): Replace by a bit from FLAGS.  * estream.c
395         (struct estream_internal): Rename FLAGS to MODEFLAGS so that they
396         are not confused with the estream flags.
397         (es_initialize, es_create): Add arg MODEFLAGS so that we can setup
398         the intial writemode.  Changed all callers to pass them.
399         (es_convert_mode): Set O_BINARY.
400         (es_func_fd_create, es_func_fp_create, es_func_file_create) [W32]:
401         Call setmode if requested.
402         
403 2007-06-24  Werner Koch  <wk@g10code.com>
404
405         * estream.c (do_fpopen, es_fpopen, es_fpopen_nc): New.
406         (es_func_fp_create, es_func_fp_read, es_func_fp_write) 
407         (es_func_fp_seek, es_func_fp_destroy): New.
408
409 2007-06-22  Werner Koch  <wk@g10code.com>
410
411         * estream.c (es_fdopen): Factored code out to..
412         (do_fdopen): .. new.
413         (es_fdopen_nc): New.
414         (estream_cookie_fd): Add field NO_CLOSE. 
415         (es_func_fd_create): Add arg NO_CLOSE and changed all callers.
416         (es_func_fd_destroy): Handle the new flag.
417
418         * homedir.c (gnupg_libexecdir) [W32]: Factor code out to ..
419         (w32_rootdir): .. new.
420         (gnupg_sysconfdir, gnupg_libdir, gnupg_datadir) [W32]: Return
421         name based on w32_rootdir().
422
423 2007-06-21  Werner Koch  <wk@g10code.com>
424
425         * membuf.h (get_membuf_len): New.
426
427         * membuf.c (init_membuf_secure): Really allocate in secure memory.
428         (put_membuf_str): New.
429
430         * ttyio.c (tty_getf): New.
431
432         * util.h (ctrl_t): Declare it here.
433
434         * asshelp.c (start_new_gpg_agent): New.  Based on code from
435         ../sm/call-agent.c
436
437 2007-06-20  Werner Koch  <wk@g10code.com>
438
439         * sysutils.c (gnupg_sleep): New.
440         * sysutils.h [W32]: Remove _sleep wrapper.  Changed all callers to
441         use gnupg_sleep.
442
443         * exechelp.c (build_w32_commandline_copy): New.
444         (build_w32_commandline): Factored some code out to new function
445         and correctly process a PGMNAME with spaces.
446         (gnupg_spawn_process_detached) [W32]: Implement.
447
448 2007-06-14  Werner Koch  <wk@g10code.com>
449
450         * simple-pwquery.h (MAP_SPWQ_ERROR_IMPL): New.
451         (SPWQ_NO_PIN_ENTRY): New.
452         * simple-pwquery.c (simple_pw_set_socket): New.
453         (agent_open): Use it if GPG_AGENT_INFO is not set.
454         (simple_pwquery): Extended to allow returning of otehyr error codes.
455
456         * util.h (GNUPG_MODULE_NAME_AGENT, GNUPG_MODULE_NAME_PINENTRY) 
457         (GNUPG_MODULE_NAME_SCDAEMON, GNUPG_MODULE_NAME_DIRMNGR) 
458         (GNUPG_MODULE_NAME_PROTECT_TOOL): New.
459         * homedir.c (gnupg_module_name): New.
460         (gnupg_bindir): New.
461
462 2007-06-12  Werner Koch  <wk@g10code.com>
463
464         * homedir.c (gnupg_sysconfdir): New.
465         (gnupg_libexecdir): New.  Taken from g10/misc.c:get_libexecdir.
466         (gnupg_datadir): New.
467         (gnupg_libdir): New.
468
469         * http.c (connect_server) [W32]: Do not call init_sockets if
470         HTTP_NO_WSASTARTUP is defined.
471
472         * init.c: New.
473
474         * estream.c (es_init_do): Init stream lock here because we can't
475         use a static initialization with W32pth.
476
477 2007-06-11  Werner Koch  <wk@g10code.com>
478
479         * Makefile.am (t_common_ldadd): Use libcommonstd macro.
480
481 2007-06-06  Werner Koch  <wk@g10code.com>
482
483         * Makefile.am: Include am/cmacros.am.
484
485         * sysutils.h [W32]: Remove prototypes for the registry access.
486         * w32reg.c:  Move to ../jnlib/w32-reg.c.
487
488         * i18n.c (i18n_init): New.
489
490         * simple-gettext.c: Remove.
491
492         * iobuf.c (iobuf_get_filelength): Rename SIZE to EXSIZE to silent
493         shadowing warning.
494
495 2007-06-04  Werner Koch  <wk@g10code.com>
496
497         * http.c [W32]: Include unistd.h also in this case.
498         (write_server) [W32]: Fixed error code.
499         (init_sockets): Fixed syntax error.
500         (cookie_close): Replace close by sock_close macro.
501
502         * estream.c [w32]: Do not init Mutex.
503
504         * Makefile.am (common_sources) [USE_SNS_SRV]: Build srv.c only
505         when needed.
506
507         * ttyio.c (init_ttyfp) [W32]: Do not use TTYFP.
508
509         * util.h: Include ../jnlib/dynload.h.
510
511         * dynload.h:  Move to ../jnlib.
512
513 2007-05-30  Werner Koch  <wk@g10code.com>
514
515         * estream.c (MEM_FREE, MEM_ALLOC, MEM_REALLOC): Prefix with ES_ as
516         windows.h also has such definitions,
517
518 2007-05-15  Werner Koch  <wk@g10code.com>
519
520         * util.h: Do not include gnulib's vasprintf.  Redefine asprintf
521         and vasprintf.
522
523         * xasprintf.c (xasprintf, xtryasprintf): Use estream_vasprintf.
524
525         * estream-printf.h, estream-printf.c: New.  Taken from current
526         libestream SVN.
527         * Makefile.am (common_sources): Add them.
528
529 2007-05-14  Werner Koch  <wk@g10code.com>
530
531         * sexp-parse.h (smklen): New.
532         * sexputil.c: Include sexp-parse.h.
533         (make_simple_sexp_from_hexstr): Replace sprintf by smklen.
534
535 2007-05-07  Werner Koch  <wk@g10code.com>
536
537         * signal.c (got_fatal_signal): Protect SIG from being clobbered by
538         a faulty signal implementaion.  Suggested by James Juran. 
539
540 2007-04-25  Werner Koch  <wk@g10code.com>
541
542         * i18n.h (ngettext): New.
543         * simple-gettext.c (ngettext): New.
544
545 2007-04-20  Werner Koch  <wk@g10code.com>
546
547         * miscellaneous.c (my_gcry_logger, my_gcry_outofcore_handler):
548         Moved from gpg-agent to here.
549         (my_gcry_fatalerror_handler): new.
550         (setup_libgcrypt_logging): New.
551
552 2007-03-19  Werner Koch  <wk@g10code.com>
553
554         * miscellaneous.c (print_hexstring): New.
555         * estream.c (es_fprintf_unlocked): New.
556         (es_write_sanitized): New.
557         (es_write_hexstring): New.
558         (es_write_sanitized_utf8_buffer) [GNUPG_MAJOR_VERSION]: New.
559
560 2007-03-09  David Shaw  <dshaw@jabberwocky.com>
561
562         From STABLE-BRANCH-1-4
563
564         * http.c (do_parse_uri): Remove the hkp port 11371 detection.  We
565         implement hkp in the keyserver handler, and the support here makes
566         it appear like a bad hkp request actually succeeded.
567
568 2007-01-31  Werner Koch  <wk@g10code.com>
569
570         * Makefile.am (t_common_ldadd): Add LIBINCONV and LIBINTL.
571
572 2007-01-25  Werner Koch  <wk@g10code.com>
573
574         * simple-pwquery.c (simple_pwquery): New arg OPT_CHECK.
575
576 2006-12-13  David Shaw  <dshaw@jabberwocky.com>
577
578         * Makefile.am (AM_CPPFLAGS): Include intl/ so we can reference the
579         built-in headers.
580
581 2006-11-23  Werner Koch  <wk@g10code.com>
582
583         * http.c: Include i18n.h
584
585 2006-11-21  Werner Koch  <wk@g10code.com>
586
587         * estream.c: Remove explicit Pth soft mapping diabling becuase it
588         is now done in config.h.
589
590 2006-11-15  Werner Koch  <wk@g10code.com>
591
592         * estream.c: Disabled Pth soft mapping.
593         (my_funopen_hook_ret_t): New.
594         (print_fun_writer): Use it here.
595
596         * iobuf.c (fd_cache_close): Use %d instead of %p for debug output.
597
598 2006-11-03  Werner Koch  <wk@g10code.com>
599
600         * Makefile.am (t_convert_DEPENDENCIES): Add libcommon.  From
601         Gentoo.
602
603 2006-10-24  Marcus Brinkmann  <marcus@g10code.de>
604
605         * Makefile.am (libcommon_a_CFLAGS): Add $(LIBASSUAN_CFLAGS).
606         (libsimple_pwquery_a_CFLAGS): New variable.
607
608 2006-10-20  Werner Koch  <wk@g10code.com>
609
610         * convert.c (hex2bin): New.
611
612 2006-10-17  Werner Koch  <wk@g10code.com>
613
614         * estream.c (struct estream_internal, es_initialize) 
615         (es_deinitialize, print_fun_writer, es_print): New and modified
616         functions to avoid tempfiles for printf style printing. 
617
618         * Makefile.am (libcommonpth_a_SOURCES): New. We now build a secon
619         version of the library with explicit Pth support.
620         * exechelp.c, estream.c: Make use of WITHOUT_GNU_PTH.
621
622 2006-10-08  Werner Koch  <wk@g10code.com>
623
624         * gpgrlhelp.c: Trun all functions into dummies if readline is not
625         available.
626
627 2006-10-06  Werner Koch  <wk@g10code.com>
628
629         * Makefile.am (AM_CFLAGS): Use PTH version of libassuan.
630
631         * util.h (GNUPG_GCC_A_SENTINEL): Defined for gcc >= 4.
632
633 2006-10-04  David Shaw  <dshaw@jabberwocky.com>
634
635         * gpgrlhelp.c: readline requires stdio.h.
636
637 2006-10-04  Werner Koch  <wk@g10code.com>
638
639         * membuf.c (init_membuf_secure): New.
640         (put_membuf): Make sure that ERRNO is set even if the underlying
641         malloc code does not work properly.
642         (get_membuf): Set ERRNO on error.
643         (get_membuf): Allow to pass LEN as NULL.
644
645 2006-10-02  Werner Koch  <wk@g10code.com>
646
647         * iobuf.c (iobuf_unread): Removed.  This code is not required.
648         Also removed the entire unget buffer stuff.
649
650 2006-09-27  Werner Koch  <wk@g10code.com>
651
652         * util.h: Do not include strsep.h and strpbrk.h.
653         (isascii): Removed as it is now in jnlib.
654
655         * iobuf.c (pop_filter, underflow, iobuf_close): Free the unget
656         buffer.
657
658 2006-09-27  Florian Weimer <fweimer@bfk.de>  (wk)
659         
660         * iobuf.c (iobuf_unread): New.
661
662 2006-09-22  Werner Koch  <wk@g10code.com>
663
664         * i18n.h: Changed license to an all permissive one.
665
666         * ttyio.c (tty_get): We need to use readline too.  Added two more
667         hooks.
668
669 2006-09-21  Werner Koch  <wk@g10code.com>
670
671         * ttyio.c (tty_private_set_rl_hooks): New.
672         (tty_enable_completion, tty_disable_completion): Use a hook to
673         enable readline support.  Now always available.
674         (tty_cleanup_rl_after_signal): New.
675
676         * ttyio.h: Removed readline specific stuff.  Included util.h.
677         * common-defs.h: New.
678
679 2006-09-15  Werner Koch  <wk@g10code.com>
680
681         * convert.c: New.
682         (hexcolon2bin): New.
683         (bin2hex, bin2hexcolon, do_binhex): New.
684         * t-convert.c: New
685
686 2006-09-14  Werner Koch  <wk@g10code.com>
687
688         * util.h (out_of_core): Use new gpg_error_from_syserror function.
689
690         * http.c (init_sockets): Changed it to require 2.2 unless it is
691         build within gnupg 1 where we require 1.1 (and not anymore allow
692         for 1.0).
693
694 2006-09-07  Werner Koch  <wk@g10code.com>
695
696         * exechelp.c (gnupg_spawn_process): Factor out post fork code to ..
697         (do_exec): .. new function.  Allow passing of -1 for the fds.
698         (gnupg_spawn_process): Terminate gcrypt's secure memory in the child.
699         (gnupg_spawn_process_detached): New.
700
701 2006-09-06  Werner Koch  <wk@g10code.com>
702
703         * maperror.c: Removed.
704
705         * util.h (out_of_core): New.
706
707 2006-09-04  Werner Koch  <wk@g10code.com>
708
709         * http.c (http_get_header): New.
710         (capitalize_header_name, store_header): New.
711         (parse_response): Store headers away.
712         (send_request): Return GPG_ERR_NOT_FOUND if connect_server failed.
713         * http.h: New flag HTTP_FLAG_NEED_HEADER.
714
715 2006-08-21  Werner Koch  <wk@g10code.com>
716
717         * Makefile.am (libcommon_a_SOURCES): Added keyserver.h
718
719         * openpgpdefs.h: New.  Stripped from ..g10/packet.h.
720
721 2006-08-16  Werner Koch  <wk@g10code.com>
722
723         * keyserver.h: Moved from ../include to here.
724
725         * http.c: Include srv.h.
726
727         * srv.c, srv.h: New. Taken from GnuPG 1.4
728
729 2006-08-14  Werner Koch  <wk@g10code.com>
730
731         * http.h (struct http_context_s): Moved to implementation.
732         * http.c (http_open): Changed call to return a context.
733         (http_open_document): Ditto.
734         (http_get_read_ptr, http_get_read_ptr, http_get_status_code): New.
735         (do_parse_uri): Replaced strlwr by straight code to ease
736         standalone use of this file.
737         (http_wait_response): Removed arg STATUS_CODE as it is available
738         through an accessor function. Adjusted caller.
739         (http_escape_string): New.
740
741         * estream.c (es_read_line): Renamed to ..
742         (doreadline): .. this.  Changed all callers.
743         (es_read_line): New.  This is theusual limited getline variabnt as
744         used at several places.  Here taken and adjusted from xreadline.c
745         (es_free): New.
746
747 2006-08-11  Werner Koch  <wk@g10code.com>
748
749         * http.c: Major internal changes to optionallly support GNUTLS and
750         ESTREAM.
751         (http_open): Move initialization of the stream ...
752         (send_request): .. here.
753         (http_register_tls_callback): New.
754
755         * estream.c (es_writen): Try to seek only is a seek function has
756         been registered.
757
758 2006-08-09  Werner Koch  <wk@g10code.com>
759
760         * http.c, http.h: New.  Taken from gnupg 1.4.5, merged with
761         changes done for the Dirmngr project (by g10 Code) and cleaned up
762         some stuff.
763         (make_header_line): New. Change all caller to make user of the new
764         * Makefile.am (libcommon_a_SOURCES): Added http.c and http.h.
765
766 2006-05-23  Werner Koch  <wk@g10code.com>
767
768         * gettime.c (isotimestamp): New.
769
770         * ttyio.c (tty_get_ttyname): Posixly correct usage of ctermid.
771
772         * dns-cert.c: New.  Taken from 1.4.3's util/cert.c.
773         * dns-cert.h: New.
774
775 2006-05-22  Werner Koch  <wk@g10code.com>
776
777         * pka.c: New. Taked from 1.4.3.
778         * pka.h: New.
779         * Makefile.am: Added pka.
780
781 2006-05-19  Werner Koch  <wk@g10code.com>
782
783         * yesno.c (answer_is_yes_no_default, answer_is_yes_no_quit):
784         Updated from 1.4.3.
785         (answer_is_okay_cancel): new.  From 1.4.3.
786
787         * miscellaneous.c (match_multistr): New.  Taken from 1.4.3.
788
789         * ttyio.c (tty_enable_completion, tty_disable_completion): New
790         dummy functions.
791         * ttyio.h: Add prototypes and stubs.
792
793 2006-04-19  Werner Koch  <wk@g10code.com>
794
795         * iobuf.c (iobuf_get_fd): New.  Taken from 1.4.3.
796         (iobuf_is_pipe_filename): New.
797         (pop_filter): Made static.
798         (iobuf_skip_rest): New.  Orginal patch by Florian
799         Weimer.  Added new argument PARTIAL.
800         (block_filter): Remove the old gpg indeterminate length mode.
801         (block_filter): Properly handle a partial body stream
802         that ends with a 5-byte length that happens to be zero.
803         (iobuf_set_block_mode, iobuf_in_block_mode): Removed as
804         superfluous.
805         (iobuf_get_filelength): New arg OVERFLOW.
806         (iobuf_get_filelength) [W32]: Use GetFileSizeEx if available
807         * miscellaneous.c (is_file_compressed): Take care of OVERFLOW.
808
809 2006-04-18  Werner Koch  <wk@g10code.com>
810
811         * homedir.c (w32_shgetfolderpath): New.  Taken from gpg 1.4.3.
812         (default_homedir): Use it.
813
814 2005-10-08  Marcus Brinkmann  <marcus@g10code.de>
815
816         * signal.c (get_signal_name): Check value of HAVE_DECL_SYS_SIGLIST
817         instead of just if it is defined.
818
819 2005-09-28  Marcus Brinkmann  <marcus@g10code.de>
820
821         * Makefile.am (AM_CFLAGS): Add $(LIBASSUAN_CFLAGS).
822
823 2005-07-04  Marcus Brinkmann  <marcus@g10code.de>
824
825         * simple-pwquery.h (simple_pwclear): New prototype.
826         * simple-pwquery.c (simple_pwclear): New function.
827
828 2005-06-15  Werner Koch  <wk@g10code.com>
829
830         * miscellaneous.c (make_printable_string): Made P a void*.
831
832         * sexputil.c (keygrip_from_canon_sexp, cmp_simple_canon_sexp):
833         Fixed signed/unsigned pointer mismatch.
834         (make_simple_sexp_from_hexstr): Ditto.  This is all too ugly; I
835         wonder why gcc-4's default is to warn about them and forcing us to
836         use cast the warning away.
837         * iobuf.c (block_filter): Ditto.
838         (iobuf_flush): Ditto.
839         (iobuf_read_line): Ditto.
840         (iobuf_read): Make BUFFER a void *.
841         (iobuf_write): Make BUFFER a const void *.
842         * ttyio.c (tty_print_utf8_string2): Ditto.
843         * estream.c (estream_cookie_mem): Make MEMORY unsigned char*.
844         (es_write): Make BUFFER a void *.
845         (es_writen): Ditto.
846         (es_func_fd_read, es_func_fd_write, es_func_mem_read) 
847         (es_func_mem_write): Ditto.
848         (es_read, es_readn): Ditto.
849         (es_func_mem_write): Made MEMORY_NEW an unsigned char *.
850         * estream.h (es_cookie_read_function_t)
851         (es_cookie_write_function_t): Changed buffer arg to void*.
852
853 2005-06-03  Werner Koch  <wk@g10code.com>
854
855         * estream.c: Use HAVE_CONFIG_H and not USE_CONFIG_H!
856         (es_func_fd_read, es_func_fd_write): Protect against EINTR.
857         
858 2005-06-01  Werner Koch  <wk@g10code.com>
859
860         * Makefile.am (AM_CPPFLAGS): Added.
861
862         * util.h: Add some includes for gnulib.
863         (ttyname, isascii): Define them inline.
864         * fseeko.c, ftello.c: Removed.
865         * strsep.c, mkdtemp.c: Removed.
866         * ttyname.c, isascii.c: Removed.
867
868 2005-05-31  Werner Koch  <wk@g10code.com>
869
870         * dynload.h: s/__inline__/inline/.
871
872 2005-05-13  Werner Koch  <wk@g10code.com>
873
874         * signal.c (got_fatal_signal): Print the signal number if we can't
875         get a name for it.
876         (get_signal_name): Return NULL if no name is available. Fixed
877         conditional for sys_siglist to the correct one.
878
879 2005-04-17  Werner Koch  <wk@g10code.com>
880
881         * sexputil.c (cmp_simple_canon_sexp): New.
882         (make_simple_sexp_from_hexstr): New.
883
884 2005-04-07  Werner Koch  <wk@g10code.com>
885
886         * sexputil.c: New.
887
888 2005-04-11  Marcus Brinkmann  <marcus@g10code.de>
889
890         * simple-pwquery.c (simple_pwquery): Use spwq_secure_free.
891
892 2005-03-03  Werner Koch  <wk@g10code.com>
893
894         * Makefile.am (AM_CFLAGS): Added PTH_CFLAGS.  Noted by Kazu Yamamoto.
895
896 2005-02-25  Werner Koch  <wk@g10code.com>
897
898         * xasprintf.c (xtryasprintf): New.
899
900 2005-01-26  Moritz Schulte  <moritz@g10code.com>
901
902         * Makefile.am (libcommon_a_SOURCES): New source files: estream.c,
903         estream.h.
904         * estream.c, estream.h: New files.
905
906 2005-01-03  Werner Koch  <wk@g10code.com>
907
908         * asshelp.c (send_pinentry_environment): Fixed changed from
909         2004-12-18; cut+paste error for lc-messages.
910
911 2004-12-21  Werner Koch  <wk@g10code.com>
912
913         * simple-pwquery.c (agent_open) [W32]: Implement for W32.
914         (readline) [W32]: Use recv instead of read.
915         (writen) [W32]: Use send instead of write.
916         (my_stpcpy): Define a stpcpy replacement so that this file
917         continues to be self-contained.
918         (agent_send_all_options) [W32]: Don't call ttyname.
919
920 2004-12-21  Marcus Brinkmann  <marcus@g10code.de>
921
922         * simple-pwquery.h (simple_query): Add prototype.
923         * simple-pwquery.c (simple_query): New function.
924
925 2004-12-21  Werner Koch  <wk@g10code.com>
926
927         * signal.c (got_fatal_signal, got_usr_signal)
928         (got_fatal_signal) [DOSISH]: Don't build.
929         * simple-gettext.c: Include sysutils.h 
930
931         * homedir.c: New. Use CSIDL_APPDATA for W32 as the default home
932         directory.
933         * Makefile.am (libcommon_a_SOURCES): Add it.
934         (EXTRA_DIST): Removed mkerror and mkerrtok.
935
936 2004-12-20  Werner Koch  <wk@g10code.com>
937
938         * sysutils.h [W32]: Define sleep.
939         * util.h: Add prototype for mkdtemp.
940
941         * membuf.c (put_membuf): Wipe out buffer after a failed realloc.
942
943 2004-12-19  Werner Koch  <wk@g10code.com>
944
945         * maperror.c (map_assuan_err_with_source): Oops, args were swapped.
946
947 2004-12-18  Werner Koch  <wk@g10code.com>
948
949         * maperror.c (map_assuan_err): Renamed to ..
950         (map_assuan_err_with_source): .. this and add arg SOURCE.c
951         * asshelp.c (send_pinentry_environment, send_one_option): Add arg
952         ERRSOURCE.
953
954 2004-12-15  Werner Koch  <wk@g10code.com>
955
956         * sysutils.h [W32]: Prototypes for registry functions.
957         * w32reg.c: Include sysutils.h
958
959         * simple-pwquery.c [W32]: Dummy code to allow a build.
960
961         * exechelp.c [W32]: Implemented for W32 .
962
963         * ttyname.c: New.
964
965         * asshelp.c (send_one_option): New.
966         (send_pinentry_environment): Cleaned up and made sure that empty
967         values are not send.
968
969 2004-12-07  Werner Koch  <wk@g10code.com>
970
971         * asshelp.c (send_pinentry_environment) [W32]: Do not use ttyname.
972
973 2004-12-06  Werner Koch  <wk@g10code.com>
974
975         * exechelp.h, exechelp.c: New.  Based on code from ../sm/import.c.
976
977 2004-12-03  Werner Koch  <wk@g10code.com>
978
979         * strsep.c: Fixed copyright comments.
980
981 2004-11-26  Werner Koch  <wk@g10code.com>
982
983         * simple-gettext.c: New taken from gnupg 1.3.x
984
985         * simple-pwquery.c [_WIN32]: Include winsock2.h.
986         (agent_open): Disable it until we have our AF_UNIX implementation
987         ready.
988         * fseeko.c, ftello.c: Include sys/types for the sake of W32.
989
990 2004-11-23  Werner Koch  <wk@g10code.com>
991
992         * b64enc.c: Include stdio.h and string.h
993
994 2004-08-18  Werner Koch  <wk@g10code.de>
995
996         * simple-pwquery.c (simple_pwquery): Handle gpg-error style return
997         code for canceled.
998
999 2004-07-20  Werner Koch  <wk@g10code.de>
1000
1001         * maperror.c: Removed header ksba.h.  Not required anymore.
1002
1003 2004-06-14  Werner Koch  <wk@gnupg.org>
1004
1005         * xreadline.c: New.  Based on the iobuf_read_line function.
1006
1007 2004-05-12  Werner Koch  <wk@gnupg.org>
1008
1009         * util.h (xtrycalloc_secure,xtrymalloc_secure): New.
1010
1011 2004-05-11  Werner Koch  <wk@gnupg.org>
1012
1013         * sysutils.c (disable_core_dumps): Only set the current limit.
1014         (enable_core_dumps): New.
1015
1016 2004-04-13  Werner Koch  <wk@gnupg.org>
1017
1018         * simple-pwquery.c (copy_and_escape): Relaxed quoting.
1019
1020 2004-04-05  Werner Koch  <wk@gnupg.org>
1021
1022         * errors.h (STATUS_NEWSIG): New.
1023
1024 2004-03-11  Werner Koch  <wk@gnupg.org>
1025
1026         * dynload.h [__MINGW32__]: Define RTLD_LAZY.
1027
1028 2004-03-09  Werner Koch  <wk@gnupg.org>
1029
1030         * maperror.c (map_assuan_err): Map the Locale_Problem item.
1031
1032 2004-03-03  Werner Koch  <wk@gnupg.org>
1033
1034         * asshelp.c, asshelp.h: New.
1035         (send_pinentry_environment): New. Code taken from ../sm/call-agent.c.
1036
1037 2004-02-19  Werner Koch  <wk@gnupg.org>
1038
1039         * simple-pwquery.c (agent_open): Don't mangle INFOSTR.
1040
1041 2004-02-17  Werner Koch  <wk@gnupg.org>
1042
1043         * simple-pwquery.c (agent_open): Ignore an empty GPG_AGENT_INFO.
1044
1045         * errors.h: Added STATUS_IMPORT_OK.
1046
1047 2004-02-10  Werner Koch  <wk@gnupg.org>
1048
1049         * b64enc.c: New.  Based on code from ../sm/base64.c.
1050
1051 2004-01-30  Marcus Brinkmann  <marcus@g10code.de>
1052
1053         * Makefile.am (libcommon_a_SOURCES): Add xasprintf.c.
1054         * miscellaneous.c (xasprintf): Moved to ...
1055         * xasprintf (xasprintf): ... here.  New file.
1056         This allows to use xasprintf without sucking in gpg-error.
1057
1058 2004-01-27  Werner Koch  <wk@gnupg.org>
1059
1060         * sexp-parse.h: New; moved from../agent.
1061
1062         * util.h (xtoi_4): New.
1063
1064 2003-12-23  Werner Koch  <wk@gnupg.org>
1065
1066         * maperror.c (map_assuan_err): Prepared for a new error code.
1067
1068 2003-12-17  Werner Koch  <wk@gnupg.org>
1069
1070         * gettime.c (asctimestamp): Add a note on a non-avoidable gcc warning.
1071
1072         * util.h [!HAVE_VASPRINTF]: Add printf format attribute to the
1073         replacement function.
1074
1075         * miscellaneous.c (xasprintf): New.
1076
1077 2003-11-14  Werner Koch  <wk@gnupg.org>
1078
1079         * mkdtemp.c (mkdtemp): Use gcry_create_nonce.
1080
1081         * cryptmiss.c: Removed.
1082
1083 2003-11-13  Werner Koch  <wk@gnupg.org>
1084
1085         * util.h (vasprintf): Also fixed the prototype.
1086
1087         * vasprintf.c (vasprintf): ARGS should not be a pointer.  Fixed
1088         segv on Solaris.  Reported by Andrew J. Schorr.
1089
1090 2003-11-12  Werner Koch  <wk@gnupg.org>
1091
1092         * maperror.c (map_ksba_err, map_gcry_err, map_kbx_err): Removed.
1093
1094 2003-10-31  Werner Koch  <wk@gnupg.org>
1095
1096         * util.h (gnupg_isotime_t): New.
1097         (gnupg_copy_time): New.
1098
1099         * gettime.c (gnupg_get_isotime): New.
1100
1101 2003-09-23  Werner Koch  <wk@gnupg.org>
1102
1103         * iobuf.c (check_special_filename): Replaced is isdigit by digitp
1104         to avoid passing negative values and potential locale problems.
1105         Problem noted by Christian Biere.
1106
1107         * util.h (ascii_isspace): New.
1108
1109 2003-09-18  Werner Koch  <wk@gnupg.org>
1110
1111         * ttyio.c (tty_fprintf): New.
1112         (tty_print_string, tty_print_utf8_string2)
1113         (tty_print_utf8_string): Made P argument const byte*.
1114
1115 2003-08-20  Marcus Brinkmann  <marcus@g10code.de>
1116
1117         * maperror.c (map_ksba_err): Map -1.  Use gpg_err_make to set
1118         the error source.
1119
1120 2003-08-14  Timo Schulz  <twoaday@freakmail.de>
1121
1122         * dynload.h. New. W32 wrapper around the dynload mechanism.
1123         
1124 2003-07-15  Werner Koch  <wk@gnupg.org>
1125
1126         * simple-pwquery.c, simple-pwquery.h:  New; moved from ../agent.  
1127         * Makefile.am (libsimple_pwquery_a_LIBADD): New.
1128
1129 2003-06-25  Werner Koch  <wk@gnupg.org>
1130
1131         * maperror.c (map_to_assuan_status): Directly map 0 to 0.
1132
1133 2003-06-17  Werner Koch  <wk@gnupg.org>
1134
1135         * gettime.c (scan_isodatestr,add_days_to_timestamp,strtimevalue)
1136         (strtimestamp,asctimestamp): New.  Code taken from gnupg 1.3.2
1137         mischelp.c.
1138
1139         * yesno.c: New.  Code taken from gnupg 1.3.2 mischelp.c
1140
1141         * miscellaneous.c: New.
1142
1143         * util.h: Include utf8conf.h
1144
1145 2003-06-16  Werner Koch  <wk@gnupg.org>
1146
1147         * gettime.c (make_timestamp): New.
1148
1149         * ttyio.c: New. Taken from gnupg 1.2.
1150         * ttyio.h: Move from ../include.
1151
1152 2003-06-13  Werner Koch  <wk@gnupg.org>
1153
1154         * util.h (seterr): Removed macro.
1155         (xmalloc_secure,xcalloc_secure): New.
1156
1157 2003-06-11  Werner Koch  <wk@gnupg.org>
1158
1159         * iobuf.c (iobuf_writebyte,iobuf_write): Return error code from
1160         iobuf_flush.
1161         (iobuf_writestr): Ditto.
1162
1163 2003-06-10  Werner Koch  <wk@gnupg.org>
1164
1165         * iobuf.c, iobuf.h: New. Taken from current gnupg 1.3 CVS.  Run
1166         indent on it and adjusted error handling to libgpg-error style.
1167         Replaced IOBUF by iobuf_t. Renamed malloc functions.
1168
1169 2003-06-04  Werner Koch  <wk@gnupg.org>
1170
1171         * errors.h: Removed all error codes.  We keep the status codes for
1172         now.
1173         * Makefile.am: Do not create errors.c anymore; remove it from the
1174         sources.
1175
1176         * maperror.c: Don't include error.h.  Change all error codes to
1177         libgpg-error style.
1178         (map_assuan_err): Changed to new Assuan error code convention.
1179         (map_to_assuan_status): Likewise.
1180         (map_gcry_err,map_kbx_err): Not needed.  For now dummy functions.
1181
1182         * membuf.c, membuf.h: New.  Code taken from ../sm/call-agent.h.
1183         * Makefile.am: Added above.
1184
1185 2003-04-29  Werner Koch  <wk@gnupg.org>
1186
1187         * util.h (fopencokokie): Removed prototype and struct.
1188
1189         * fopencookie.c: Removed.
1190
1191         * maperror.c: Use system assuan.h
1192
1193 2002-10-31  Neal H. Walfield  <neal@g10code.de>
1194
1195         * isascii.c: New file.
1196         * putc_unlocked.c: Likewise.
1197
1198 2002-10-28  Neal H. Walfield  <neal@g10code.de>
1199
1200         * signal.c (caught_fatal_sig): Remove superfluous zero
1201         initializer.
1202         (caught_sigusr1): Likewise.
1203
1204 2002-09-04  Neal H. Walfield  <neal@g10code.de>
1205
1206         * vasprintf.c (vasprintf) [va_copy]: Use va_copy.
1207         [!va_copy && __va_copy]: Use __va_copy.
1208         [!va_copy && !__va_copy]: Only now fall back to using memcpy.
1209
1210 2002-08-21  Werner Koch  <wk@gnupg.org>
1211
1212         * errors.h: Added STATUS_IMPORT_PROBLEM.
1213
1214 2002-08-20  Werner Koch  <wk@gnupg.org>
1215
1216         * vasprintf.c: Hack to handle NULL for %s.
1217
1218 2002-08-09  Werner Koch  <wk@gnupg.org>
1219
1220         * signal.c: New. Taken from GnuPG 1.1.91.
1221
1222 2002-07-23  Werner Koch  <wk@gnupg.org>
1223
1224         * util.h (_IO_cookie_io_functions_t): Fixed typo.  Noted by
1225         Richard Lefebvre.
1226
1227 2002-07-22  Werner Koch  <wk@gnupg.org>
1228
1229         * fseeko.c, ftello.c: New.
1230
1231 2002-06-28  Werner Koch  <wk@gnupg.org>
1232
1233         * maperror.c (map_to_assuan_status): Map more errorcodes to Bad
1234         Certificate.
1235
1236 2002-06-26  Werner Koch  <wk@gnupg.org>
1237
1238         * maperror.c (map_to_assuan_status): Map EOF to No_Data_Available.
1239
1240 2002-06-10  Werner Koch  <wk@gnupg.org>
1241
1242         * errors.h (gnupg_error_token): Add new prototype.
1243         (STATUS_ERROR): New.
1244
1245         * mkerrtok: New.
1246         * Makefile.am: Use it to create the new error token function.
1247
1248 2002-06-04  Werner Koch  <wk@gnupg.org>
1249
1250         * maperror.c (map_to_assuan_status): Map Bad_CA_Certificate.
1251
1252 2002-05-23  Werner Koch  <wk@gnupg.org>
1253
1254         * no-pth.c, Makefile.am: Removed.
1255
1256 2002-05-22  Werner Koch  <wk@gnupg.org>
1257
1258         * mkdtemp.c: Replaced byte by unsigned char because it is no longer
1259         defined in gcrypt.h.
1260
1261 2002-05-21  Werner Koch  <wk@gnupg.org>
1262
1263         * maperror.c (map_gcry_err): Add libgcrypt's new S-expression errors.
1264         (map_ksba_err): Add a few mappings.
1265
1266 2002-05-14  Werner Koch  <wk@gnupg.org>
1267
1268         * gettime.c: New.
1269
1270 2002-05-03  Werner Koch  <wk@gnupg.org>
1271
1272         * errors.h: Added STARUS_EXPSIG and STATUS_EXPKEYSIG.
1273
1274 2002-04-15  Werner Koch  <wk@gnupg.org>
1275
1276         * cryptmiss.c: New.
1277
1278 2002-02-14  Werner Koch  <wk@gnupg.org>
1279
1280         * maperror.c: Add more assuan<->gnupg mappings.
1281
1282 2002-02-12  Werner Koch  <wk@gnupg.org>
1283
1284         * fopencookie.c: Dummy function.
1285
1286         * vasprintf.c: New.  Taken from binutils-2.9.1 and dropped all non
1287         ANSI-C stuff.  Merged with asprintf version.
1288
1289         * no-pth.c: New.
1290
1291 2002-01-23  Werner Koch  <wk@gnupg.org>
1292
1293         * mkdtemp.c: Copied from gnupg-1.0.6c and changed to use libgcrypt.
1294
1295 2002-01-19  Werner Koch  <wk@gnupg.org>
1296
1297         * sysutils.c: New.  This is the misc.c file from gnupg 1.0.6 with
1298         the OpenPGP stuff removed.
1299         * sysutils.h: New.
1300         
1301 2002-01-15  Werner Koch  <wk@gnupg.org>
1302
1303         * maperror.c: Add mapping for Not_Trusted. 
1304
1305 2002-01-11  Werner Koch  <wk@gnupg.org>
1306
1307         * maperror.c (map_assuan_err): Codes for CRL
1308
1309 2002-01-08  Werner Koch  <wk@gnupg.org>
1310
1311         * util.h (spacep): New.
1312
1313 2002-01-02  Werner Koch  <wk@gnupg.org>
1314
1315         * maperror.c (map_to_assuan_status): New.  Merged from ../agent
1316         and ../sm.
1317
1318 2001-12-20  Werner Koch  <wk@gnupg.org>
1319
1320         * maperror.c (map_gcry_err): Add some mappings.
1321
1322 2001-12-18  Werner Koch  <wk@gnupg.org>
1323
1324         * Makefile.am (AM_CPPFLAGS): Include flags for gcrypt and ksba
1325
1326 2001-12-14  Werner Koch  <wk@gnupg.org>
1327
1328         * util.h (digitp, hexdigitp): New ctype like macros.
1329         (atoi_1,atoi_2,atoi_4,xtoi_1,xtoi_2): New.
1330         
1331         
1332  Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007,
1333            2008, 2009 Free Software Foundation, Inc.
1334
1335  This file is free software; as a special exception the author gives
1336  unlimited permission to copy and/or distribute it, with or without
1337  modifications, as long as this notice is preserved.
1338
1339  This file is distributed in the hope that it will be useful, but
1340  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1341  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1342                 
1343