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