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