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