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