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