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