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