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