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