Always search missing certifcates using a running Dirmngr's cache.
[gnupg.git] / common / ChangeLog
1 2008-01-31  Werner Koch  <wk@g10code.com>
2
3         * audit.c (audit_print_result): Make sure that the output is
4         always UTF8.
5
6 2008-01-27  Werner Koch  <wk@g10code.com>
7
8         * exechelp.c (gnupg_spawn_process): Add arg FLAGS and changed all
9         callers to pass 0 for it.
10
11 2007-12-13  Werner Koch  <wk@g10code.com>
12
13         * sexputil.c (hash_algo_from_sigval): New.
14         * t-sexputil.c: New.
15         * Makefile.am (module_tests): Add it.
16
17 2007-12-11  Werner Koch  <wk@g10code.com>
18
19         * asshelp.c (send_pinentry_environment): Allow using of old
20         gpg-agents not capabale of the xauthority and pinentry_user_data
21         options.
22
23 2007-12-04  Werner Koch  <wk@g10code.com>
24
25         * Makefile.am (t_helpfile_LDADD, module_maint_tests): New.
26         * t-helpfile.c: New.
27         * helpfile.c: New.
28         * membuf.h (is_membuf_ready, MEMBUF_ZERO): New.
29         * localename.c: New.  Taken from gettext with modifications as done
30         for GpgOL.  Export one new function.
31         * util.h (gnupg_messages_locale_name, gnupg_get_help_string): Added.
32
33         * sysutils.c (gnupg_reopen_std): New.  Taken from ../g10/gpg.c.
34
35 2007-11-27  Werner Koch  <wk@g10code.com>
36
37         * Makefile.am (CLEANFILES): New.
38
39         * homedir.c (dirmngr_socket_name): Use CSIDL_WINDOWS.
40
41 2007-11-15  Werner Koch  <wk@g10code.com>
42
43         * asshelp.c (send_pinentry_environment): Add args XAUTHORITY and
44         PINENTRY_USER_DATA.
45         (start_new_gpg_agent): Ditto.
46
47 2007-11-07  Werner Koch  <wk@g10code.com>
48
49         * status.h: New.
50         * errors.h: Remove.
51
52 2007-11-05  Werner Koch  <wk@g10code.com>
53
54         * audit.c, audit.h: New. 
55         * Makefile.am: Add rules to build audit-events.h.
56         * exaudit.awk: New.
57         * mkstrtable.awk: New.  Taken from libgpg-error.
58
59 2007-10-19  Werner Koch  <wk@g10code.com>
60
61         * i18n.c (i18n_switchto_utf8, i18n_switchback): New.
62
63 2007-10-01  Werner Koch  <wk@g10code.com>
64
65         * sysutils.h (FD2INT, INT2FD): New.
66
67 2007-09-21  Werner Koch  <wk@g10code.com>
68
69         * homedir.c (default_homedir): Make registry work.  Reported by
70         Marc Mutz.
71
72 2007-08-29  Werner Koch  <wk@g10code.com>
73
74         * exechelp.c (gnupg_wait_process): Add arg EXITCODE.  Changed all
75         callers.
76         (gnupg_create_inbound_pipe): New.
77         * util.h (GNUPG_MODULE_NAME_GPGSM, GNUPG_MODULE_NAME_GPG): New.
78         * homedir.c (gnupg_module_name): Add them
79         
80 2007-08-28  Werner Koch  <wk@g10code.com>
81
82         * gettime.c (check_isotime, add_isotime): New.  Originally written
83         for DirMngr by me.
84         (add_days_to_isotime): New.
85         (date2jd, jd2date, days_per_month, days_per_year): New. Taken from
86         my ancient (1988) code used in Wedit (time2.c).
87
88 2007-08-27  Werner Koch  <wk@g10code.com>
89
90         * util.h (GNUPG_MODULE_NAME_CHECK_PATTERN): New.
91         * homedir.c (gnupg_module_name): Add it.
92         * exechelp.c (w32_fd_or_null) [W32]: New.
93         (gnupg_spawn_process_fd): New.
94         (gnupg_wait_process) [W32]: Close the handle after if the process has
95         returned.
96
97 2007-08-22  Werner Koch  <wk@g10code.com>
98
99         Updated estream from libestream.
100         
101         * estream.c (mem_malloc, mem_realloc, mem_free): New.  Use them
102         instead of the ES_MEM_foo.
103         * estream.c (estream_cookie_mem): Remove members DONT_FREE,
104         APPEND_ZERO, PTR and SIZE.  Add MEMORY_LIMIT.  Put GROW into a new
105         FLAGS struct.
106         (es_func_mem_create): Remove APPEND_ZERO, DONT_FREE, PTR and
107         SIZE.  Add MEMORY_LIMIT.
108         (es_func_mem_write, es_func_mem_seek, es_func_mem_destroy): Revamp.
109         (es_open_memstream): Change API to just take a memory limit and a
110         mode argument.  Rename to ..
111         (es_fopenmem): .. this.
112         (HAVE_W32_SYSTEM) [_WIN32]: Define if not defined.
113         (tmpfd) [W32]: Implement directly using the W32 API.
114         (es_fgets): Rewrite without using doreadline.
115
116 2007-08-21  Werner Koch  <wk@g10code.com>
117
118         * sysutils.c (gnupg_tmpfile): New.
119         * t-sysutils.c: New.
120         * Makefile.am (module_tests): Add t-sysutils.
121
122 2007-08-20  Werner Koch  <wk@g10code.com>
123
124         * exechelp.c [W32]: Redefine X_OK to F_OK.
125
126 2007-08-16  Werner Koch  <wk@g10code.com>
127
128         * Makefile.am (t_convert_DEPENDENCIES): Remove
129         ($(PROGRAMS)): Remove.
130         (t_common_ldadd): Use libcommon.a and not the macro.
131
132 2007-08-14  Werner Koch  <wk@g10code.com>
133
134         * homedir.c (dirmngr_socket_name): New.
135
136 2007-08-07  Werner Koch  <wk@g10code.com>
137
138         * tlv.c, tlv.h: Move from ../scd/.
139         * tlv.c (parse_sexp, parse_ber_header): Add ERRSOURCE arg and prefix
140         name with a _.
141         * tlv.h: Use macro to convey ERRSOURCE.
142
143 2007-08-02  Werner Koch  <wk@g10code.com>
144
145         * gc-opt-flags.h: New.
146
147 2007-08-01  Werner Koch  <wk@g10code.com>
148
149         * estream-printf.c (read_dummy_value): Removed as it is useless now.
150         (read_values): Remove check on !vaargs which is not anymore needed
151         and anyway not portable.  Reported by Peter O'Gorman.
152
153 2007-07-16  Werner Koch  <wk@g10code.com>
154
155         * estream.c (es_func_file_create): Clear NO_CLOSE flag.
156
157 2007-07-12  Werner Koch  <wk@g10code.com>
158
159         * sysutils.h (gnupg_fd_t): New.
160         * sysutils.c (translate_sys2libc_fd): Use that type instead of int.
161         (translate_sys2libc_fd_int): New.
162
163 2007-07-09  Werner Koch  <wk@g10code.com>
164
165         * t-gettime.c (test_isotime2epoch): Use time_t and not u32.
166
167 2007-07-05  Werner Koch  <wk@g10code.com>
168
169         * t-gettime.c: New. 
170         * gettime.c (isotime2epoch, epoch2isotime): New.
171
172 2007-07-04  Werner Koch  <wk@g10code.com>
173
174         * estream.c (es_init_do): Do not throw an error if pth has already
175         been initialized.
176
177 2007-06-26  Werner Koch  <wk@g10code.com>
178
179         * Makefile.am ($(PROGRAMS)): New.
180
181         * util.h (init_common_subsystems): Moved to ..
182         * init.h: .. New.
183         * util.h: Include init.h.
184
185         * homedir.c (standard_homedir): New.
186         (default_homedir) [W32]: Reimplemented in terms of
187         standard_homedir.  Fixed memory leak.
188
189 2007-06-25  Werner Koch  <wk@g10code.com>
190
191         * iobuf.c: Add more documentation and slighly restructured macro
192         defintion for better readability.
193         (FILEP_OR_FD): Rename to fp_or_fd_t.
194         (CLOSE_CACHE): Rename to close_cache_t.
195
196         * sysutils.c (translate_sys2libc_fd): New using the code from iobuf.c.
197         * iobuf.c: Include sysutils.h.
198         (iobuf_translate_file_handle): Remove.
199         (translate_file_handle): Use new function.
200
201         * estream-printf.c [TEST]: Header including fixes. 
202         (do_format): Do not append a trailing Nul.  This avoids spurious
203         Nuls in the es_printf output.
204         (estream_vsnprintf, estream_vasprintf): Take this in account.
205
206         * estream.h (struct es__stream): Change FLAGS to a bit structure.
207         (ES__FLAG_WRITING): Replace by a bit from FLAGS.  * estream.c
208         (struct estream_internal): Rename FLAGS to MODEFLAGS so that they
209         are not confused with the estream flags.
210         (es_initialize, es_create): Add arg MODEFLAGS so that we can setup
211         the intial writemode.  Changed all callers to pass them.
212         (es_convert_mode): Set O_BINARY.
213         (es_func_fd_create, es_func_fp_create, es_func_file_create) [W32]:
214         Call setmode if requested.
215         
216 2007-06-24  Werner Koch  <wk@g10code.com>
217
218         * estream.c (do_fpopen, es_fpopen, es_fpopen_nc): New.
219         (es_func_fp_create, es_func_fp_read, es_func_fp_write) 
220         (es_func_fp_seek, es_func_fp_destroy): New.
221
222 2007-06-22  Werner Koch  <wk@g10code.com>
223
224         * estream.c (es_fdopen): Factored code out to..
225         (do_fdopen): .. new.
226         (es_fdopen_nc): New.
227         (estream_cookie_fd): Add field NO_CLOSE. 
228         (es_func_fd_create): Add arg NO_CLOSE and changed all callers.
229         (es_func_fd_destroy): Handle the new flag.
230
231         * homedir.c (gnupg_libexecdir) [W32]: Factor code out to ..
232         (w32_rootdir): .. new.
233         (gnupg_sysconfdir, gnupg_libdir, gnupg_datadir) [W32]: Return
234         name based on w32_rootdir().
235
236 2007-06-21  Werner Koch  <wk@g10code.com>
237
238         * membuf.h (get_membuf_len): New.
239
240         * membuf.c (init_membuf_secure): Really allocate in secure memory.
241         (put_membuf_str): New.
242
243         * ttyio.c (tty_getf): New.
244
245         * util.h (ctrl_t): Declare it here.
246
247         * asshelp.c (start_new_gpg_agent): New.  Based on code from
248         ../sm/call-agent.c
249
250 2007-06-20  Werner Koch  <wk@g10code.com>
251
252         * sysutils.c (gnupg_sleep): New.
253         * sysutils.h [W32]: Remove _sleep wrapper.  Changed all callers to
254         use gnupg_sleep.
255
256         * exechelp.c (build_w32_commandline_copy): New.
257         (build_w32_commandline): Factored some code out to new function
258         and correctly process a PGMNAME with spaces.
259         (gnupg_spawn_process_detached) [W32]: Implement.
260
261 2007-06-14  Werner Koch  <wk@g10code.com>
262
263         * simple-pwquery.h (MAP_SPWQ_ERROR_IMPL): New.
264         (SPWQ_NO_PIN_ENTRY): New.
265         * simple-pwquery.c (simple_pw_set_socket): New.
266         (agent_open): Use it if GPG_AGENT_INFO is not set.
267         (simple_pwquery): Extended to allow returning of otehyr error codes.
268
269         * util.h (GNUPG_MODULE_NAME_AGENT, GNUPG_MODULE_NAME_PINENTRY) 
270         (GNUPG_MODULE_NAME_SCDAEMON, GNUPG_MODULE_NAME_DIRMNGR) 
271         (GNUPG_MODULE_NAME_PROTECT_TOOL): New.
272         * homedir.c (gnupg_module_name): New.
273         (gnupg_bindir): New.
274
275 2007-06-12  Werner Koch  <wk@g10code.com>
276
277         * homedir.c (gnupg_sysconfdir): New.
278         (gnupg_libexecdir): New.  Taken from g10/misc.c:get_libexecdir.
279         (gnupg_datadir): New.
280         (gnupg_libdir): New.
281
282         * http.c (connect_server) [W32]: Do not call init_sockets if
283         HTTP_NO_WSASTARTUP is defined.
284
285         * init.c: New.
286
287         * estream.c (es_init_do): Init stream lock here because we can't
288         use a static initialization with W32pth.
289
290 2007-06-11  Werner Koch  <wk@g10code.com>
291
292         * Makefile.am (t_common_ldadd): Use libcommonstd macro.
293
294 2007-06-06  Werner Koch  <wk@g10code.com>
295
296         * Makefile.am: Include am/cmacros.am.
297
298         * sysutils.h [W32]: Remove prototypes for the registry access.
299         * w32reg.c:  Move to ../jnlib/w32-reg.c.
300
301         * i18n.c (i18n_init): New.
302
303         * simple-gettext.c: Remove.
304
305         * iobuf.c (iobuf_get_filelength): Rename SIZE to EXSIZE to silent
306         shadowing warning.
307
308 2007-06-04  Werner Koch  <wk@g10code.com>
309
310         * http.c [W32]: Include unistd.h also in this case.
311         (write_server) [W32]: Fixed error code.
312         (init_sockets): Fixed syntax error.
313         (cookie_close): Replace close by sock_close macro.
314
315         * estream.c [w32]: Do not init Mutex.
316
317         * Makefile.am (common_sources) [USE_SNS_SRV]: Build srv.c only
318         when needed.
319
320         * ttyio.c (init_ttyfp) [W32]: Do not use TTYFP.
321
322         * util.h: Include ../jnlib/dynload.h.
323
324         * dynload.h:  Move to ../jnlib.
325
326 2007-05-30  Werner Koch  <wk@g10code.com>
327
328         * estream.c (MEM_FREE, MEM_ALLOC, MEM_REALLOC): Prefix with ES_ as
329         windows.h also has such definitions,
330
331 2007-05-15  Werner Koch  <wk@g10code.com>
332
333         * util.h: Do not include gnulib's vasprintf.  Redefine asprintf
334         and vasprintf.
335
336         * xasprintf.c (xasprintf, xtryasprintf): Use estream_vasprintf.
337
338         * estream-printf.h, estream-printf.c: New.  Taken from current
339         libestream SVN.
340         * Makefile.am (common_sources): Add them.
341
342 2007-05-14  Werner Koch  <wk@g10code.com>
343
344         * sexp-parse.h (smklen): New.
345         * sexputil.c: Include sexp-parse.h.
346         (make_simple_sexp_from_hexstr): Replace sprintf by smklen.
347
348 2007-05-07  Werner Koch  <wk@g10code.com>
349
350         * signal.c (got_fatal_signal): Protect SIG from being clobbered by
351         a faulty signal implementaion.  Suggested by James Juran. 
352
353 2007-04-25  Werner Koch  <wk@g10code.com>
354
355         * i18n.h (ngettext): New.
356         * simple-gettext.c (ngettext): New.
357
358 2007-04-20  Werner Koch  <wk@g10code.com>
359
360         * miscellaneous.c (my_gcry_logger, my_gcry_outofcore_handler):
361         Moved from gpg-agent to here.
362         (my_gcry_fatalerror_handler): new.
363         (setup_libgcrypt_logging): New.
364
365 2007-03-19  Werner Koch  <wk@g10code.com>
366
367         * miscellaneous.c (print_hexstring): New.
368         * estream.c (es_fprintf_unlocked): New.
369         (es_write_sanitized): New.
370         (es_write_hexstring): New.
371         (es_write_sanitized_utf8_buffer) [GNUPG_MAJOR_VERSION]: New.
372
373 2007-03-09  David Shaw  <dshaw@jabberwocky.com>
374
375         From STABLE-BRANCH-1-4
376
377         * http.c (do_parse_uri): Remove the hkp port 11371 detection.  We
378         implement hkp in the keyserver handler, and the support here makes
379         it appear like a bad hkp request actually succeeded.
380
381 2007-01-31  Werner Koch  <wk@g10code.com>
382
383         * Makefile.am (t_common_ldadd): Add LIBINCONV and LIBINTL.
384
385 2007-01-25  Werner Koch  <wk@g10code.com>
386
387         * simple-pwquery.c (simple_pwquery): New arg OPT_CHECK.
388
389 2006-12-13  David Shaw  <dshaw@jabberwocky.com>
390
391         * Makefile.am (AM_CPPFLAGS): Include intl/ so we can reference the
392         built-in headers.
393
394 2006-11-23  Werner Koch  <wk@g10code.com>
395
396         * http.c: Include i18n.h
397
398 2006-11-21  Werner Koch  <wk@g10code.com>
399
400         * estream.c: Remove explicit Pth soft mapping diabling becuase it
401         is now done in config.h.
402
403 2006-11-15  Werner Koch  <wk@g10code.com>
404
405         * estream.c: Disabled Pth soft mapping.
406         (my_funopen_hook_ret_t): New.
407         (print_fun_writer): Use it here.
408
409         * iobuf.c (fd_cache_close): Use %d instead of %p for debug output.
410
411 2006-11-03  Werner Koch  <wk@g10code.com>
412
413         * Makefile.am (t_convert_DEPENDENCIES): Add libcommon.  From
414         Gentoo.
415
416 2006-10-24  Marcus Brinkmann  <marcus@g10code.de>
417
418         * Makefile.am (libcommon_a_CFLAGS): Add $(LIBASSUAN_CFLAGS).
419         (libsimple_pwquery_a_CFLAGS): New variable.
420
421 2006-10-20  Werner Koch  <wk@g10code.com>
422
423         * convert.c (hex2bin): New.
424
425 2006-10-17  Werner Koch  <wk@g10code.com>
426
427         * estream.c (struct estream_internal, es_initialize) 
428         (es_deinitialize, print_fun_writer, es_print): New and modified
429         functions to avoid tempfiles for printf style printing. 
430
431         * Makefile.am (libcommonpth_a_SOURCES): New. We now build a secon
432         version of the library with explicit Pth support.
433         * exechelp.c, estream.c: Make use of WITHOUT_GNU_PTH.
434
435 2006-10-08  Werner Koch  <wk@g10code.com>
436
437         * gpgrlhelp.c: Trun all functions into dummies if readline is not
438         available.
439
440 2006-10-06  Werner Koch  <wk@g10code.com>
441
442         * Makefile.am (AM_CFLAGS): Use PTH version of libassuan.
443
444         * util.h (GNUPG_GCC_A_SENTINEL): Defined for gcc >= 4.
445
446 2006-10-04  David Shaw  <dshaw@jabberwocky.com>
447
448         * gpgrlhelp.c: readline requires stdio.h.
449
450 2006-10-04  Werner Koch  <wk@g10code.com>
451
452         * membuf.c (init_membuf_secure): New.
453         (put_membuf): Make sure that ERRNO is set even if the underlying
454         malloc code does not work properly.
455         (get_membuf): Set ERRNO on error.
456         (get_membuf): Allow to pass LEN as NULL.
457
458 2006-10-02  Werner Koch  <wk@g10code.com>
459
460         * iobuf.c (iobuf_unread): Removed.  This code is not required.
461         Also removed the entire unget buffer stuff.
462
463 2006-09-27  Werner Koch  <wk@g10code.com>
464
465         * util.h: Do not include strsep.h and strpbrk.h.
466         (isascii): Removed as it is now in jnlib.
467
468         * iobuf.c (pop_filter, underflow, iobuf_close): Free the unget
469         buffer.
470
471 2006-09-27  Florian Weimer <fweimer@bfk.de>  (wk)
472         
473         * iobuf.c (iobuf_unread): New.
474
475 2006-09-22  Werner Koch  <wk@g10code.com>
476
477         * i18n.h: Changed license to an all permissive one.
478
479         * ttyio.c (tty_get): We need to use readline too.  Added two more
480         hooks.
481
482 2006-09-21  Werner Koch  <wk@g10code.com>
483
484         * ttyio.c (tty_private_set_rl_hooks): New.
485         (tty_enable_completion, tty_disable_completion): Use a hook to
486         enable readline support.  Now always available.
487         (tty_cleanup_rl_after_signal): New.
488
489         * ttyio.h: Removed readline specific stuff.  Included util.h.
490         * common-defs.h: New.
491
492 2006-09-15  Werner Koch  <wk@g10code.com>
493
494         * convert.c: New.
495         (hexcolon2bin): New.
496         (bin2hex, bin2hexcolon, do_binhex): New.
497         * t-convert.c: New
498
499 2006-09-14  Werner Koch  <wk@g10code.com>
500
501         * util.h (out_of_core): Use new gpg_error_from_syserror function.
502
503         * http.c (init_sockets): Changed it to require 2.2 unless it is
504         build within gnupg 1 where we require 1.1 (and not anymore allow
505         for 1.0).
506
507 2006-09-07  Werner Koch  <wk@g10code.com>
508
509         * exechelp.c (gnupg_spawn_process): Factor out post fork code to ..
510         (do_exec): .. new function.  Allow passing of -1 for the fds.
511         (gnupg_spawn_process): Terminate gcrypt's secure memory in the child.
512         (gnupg_spawn_process_detached): New.
513
514 2006-09-06  Werner Koch  <wk@g10code.com>
515
516         * maperror.c: Removed.
517
518         * util.h (out_of_core): New.
519
520 2006-09-04  Werner Koch  <wk@g10code.com>
521
522         * http.c (http_get_header): New.
523         (capitalize_header_name, store_header): New.
524         (parse_response): Store headers away.
525         (send_request): Return GPG_ERR_NOT_FOUND if connect_server failed.
526         * http.h: New flag HTTP_FLAG_NEED_HEADER.
527
528 2006-08-21  Werner Koch  <wk@g10code.com>
529
530         * Makefile.am (libcommon_a_SOURCES): Added keyserver.h
531
532         * openpgpdefs.h: New.  Stripped from ..g10/packet.h.
533
534 2006-08-16  Werner Koch  <wk@g10code.com>
535
536         * keyserver.h: Moved from ../include to here.
537
538         * http.c: Include srv.h.
539
540         * srv.c, srv.h: New. Taken from GnuPG 1.4
541
542 2006-08-14  Werner Koch  <wk@g10code.com>
543
544         * http.h (struct http_context_s): Moved to implementation.
545         * http.c (http_open): Changed call to return a context.
546         (http_open_document): Ditto.
547         (http_get_read_ptr, http_get_read_ptr, http_get_status_code): New.
548         (do_parse_uri): Replaced strlwr by straight code to ease
549         standalone use of this file.
550         (http_wait_response): Removed arg STATUS_CODE as it is available
551         through an accessor function. Adjusted caller.
552         (http_escape_string): New.
553
554         * estream.c (es_read_line): Renamed to ..
555         (doreadline): .. this.  Changed all callers.
556         (es_read_line): New.  This is theusual limited getline variabnt as
557         used at several places.  Here taken and adjusted from xreadline.c
558         (es_free): New.
559
560 2006-08-11  Werner Koch  <wk@g10code.com>
561
562         * http.c: Major internal changes to optionallly support GNUTLS and
563         ESTREAM.
564         (http_open): Move initialization of the stream ...
565         (send_request): .. here.
566         (http_register_tls_callback): New.
567
568         * estream.c (es_writen): Try to seek only is a seek function has
569         been registered.
570
571 2006-08-09  Werner Koch  <wk@g10code.com>
572
573         * http.c, http.h: New.  Taken from gnupg 1.4.5, merged with
574         changes done for the Dirmngr project (by g10 Code) and cleaned up
575         some stuff.
576         (make_header_line): New. Change all caller to make user of the new
577         * Makefile.am (libcommon_a_SOURCES): Added http.c and http.h.
578
579 2006-05-23  Werner Koch  <wk@g10code.com>
580
581         * gettime.c (isotimestamp): New.
582
583         * ttyio.c (tty_get_ttyname): Posixly correct usage of ctermid.
584
585         * dns-cert.c: New.  Taken from 1.4.3's util/cert.c.
586         * dns-cert.h: New.
587
588 2006-05-22  Werner Koch  <wk@g10code.com>
589
590         * pka.c: New. Taked from 1.4.3.
591         * pka.h: New.
592         * Makefile.am: Added pka.
593
594 2006-05-19  Werner Koch  <wk@g10code.com>
595
596         * yesno.c (answer_is_yes_no_default, answer_is_yes_no_quit):
597         Updated from 1.4.3.
598         (answer_is_okay_cancel): new.  From 1.4.3.
599
600         * miscellaneous.c (match_multistr): New.  Taken from 1.4.3.
601
602         * ttyio.c (tty_enable_completion, tty_disable_completion): New
603         dummy functions.
604         * ttyio.h: Add prototypes and stubs.
605
606 2006-04-19  Werner Koch  <wk@g10code.com>
607
608         * iobuf.c (iobuf_get_fd): New.  Taken from 1.4.3.
609         (iobuf_is_pipe_filename): New.
610         (pop_filter): Made static.
611         (iobuf_skip_rest): New.  Orginal patch by Florian
612         Weimer.  Added new argument PARTIAL.
613         (block_filter): Remove the old gpg indeterminate length mode.
614         (block_filter): Properly handle a partial body stream
615         that ends with a 5-byte length that happens to be zero.
616         (iobuf_set_block_mode, iobuf_in_block_mode): Removed as
617         superfluous.
618         (iobuf_get_filelength): New arg OVERFLOW.
619         (iobuf_get_filelength) [W32]: Use GetFileSizeEx if available
620         * miscellaneous.c (is_file_compressed): Take care of OVERFLOW.
621
622 2006-04-18  Werner Koch  <wk@g10code.com>
623
624         * homedir.c (w32_shgetfolderpath): New.  Taken from gpg 1.4.3.
625         (default_homedir): Use it.
626
627 2005-10-08  Marcus Brinkmann  <marcus@g10code.de>
628
629         * signal.c (get_signal_name): Check value of HAVE_DECL_SYS_SIGLIST
630         instead of just if it is defined.
631
632 2005-09-28  Marcus Brinkmann  <marcus@g10code.de>
633
634         * Makefile.am (AM_CFLAGS): Add $(LIBASSUAN_CFLAGS).
635
636 2005-07-04  Marcus Brinkmann  <marcus@g10code.de>
637
638         * simple-pwquery.h (simple_pwclear): New prototype.
639         * simple-pwquery.c (simple_pwclear): New function.
640
641 2005-06-15  Werner Koch  <wk@g10code.com>
642
643         * miscellaneous.c (make_printable_string): Made P a void*.
644
645         * sexputil.c (keygrip_from_canon_sexp, cmp_simple_canon_sexp):
646         Fixed signed/unsigned pointer mismatch.
647         (make_simple_sexp_from_hexstr): Ditto.  This is all too ugly; I
648         wonder why gcc-4's default is to warn about them and forcing us to
649         use cast the warning away.
650         * iobuf.c (block_filter): Ditto.
651         (iobuf_flush): Ditto.
652         (iobuf_read_line): Ditto.
653         (iobuf_read): Make BUFFER a void *.
654         (iobuf_write): Make BUFFER a const void *.
655         * ttyio.c (tty_print_utf8_string2): Ditto.
656         * estream.c (estream_cookie_mem): Make MEMORY unsigned char*.
657         (es_write): Make BUFFER a void *.
658         (es_writen): Ditto.
659         (es_func_fd_read, es_func_fd_write, es_func_mem_read) 
660         (es_func_mem_write): Ditto.
661         (es_read, es_readn): Ditto.
662         (es_func_mem_write): Made MEMORY_NEW an unsigned char *.
663         * estream.h (es_cookie_read_function_t)
664         (es_cookie_write_function_t): Changed buffer arg to void*.
665
666 2005-06-03  Werner Koch  <wk@g10code.com>
667
668         * estream.c: Use HAVE_CONFIG_H and not USE_CONFIG_H!
669         (es_func_fd_read, es_func_fd_write): Protect against EINTR.
670         
671 2005-06-01  Werner Koch  <wk@g10code.com>
672
673         * Makefile.am (AM_CPPFLAGS): Added.
674
675         * util.h: Add some includes for gnulib.
676         (ttyname, isascii): Define them inline.
677         * fseeko.c, ftello.c: Removed.
678         * strsep.c, mkdtemp.c: Removed.
679         * ttyname.c, isascii.c: Removed.
680
681 2005-05-31  Werner Koch  <wk@g10code.com>
682
683         * dynload.h: s/__inline__/inline/.
684
685 2005-05-13  Werner Koch  <wk@g10code.com>
686
687         * signal.c (got_fatal_signal): Print the signal number if we can't
688         get a name for it.
689         (get_signal_name): Return NULL if no name is available. Fixed
690         conditional for sys_siglist to the correct one.
691
692 2005-04-17  Werner Koch  <wk@g10code.com>
693
694         * sexputil.c (cmp_simple_canon_sexp): New.
695         (make_simple_sexp_from_hexstr): New.
696
697 2005-04-07  Werner Koch  <wk@g10code.com>
698
699         * sexputil.c: New.
700
701 2005-04-11  Marcus Brinkmann  <marcus@g10code.de>
702
703         * simple-pwquery.c (simple_pwquery): Use spwq_secure_free.
704
705 2005-03-03  Werner Koch  <wk@g10code.com>
706
707         * Makefile.am (AM_CFLAGS): Added PTH_CFLAGS.  Noted by Kazu Yamamoto.
708
709 2005-02-25  Werner Koch  <wk@g10code.com>
710
711         * xasprintf.c (xtryasprintf): New.
712
713 2005-01-26  Moritz Schulte  <moritz@g10code.com>
714
715         * Makefile.am (libcommon_a_SOURCES): New source files: estream.c,
716         estream.h.
717         * estream.c, estream.h: New files.
718
719 2005-01-03  Werner Koch  <wk@g10code.com>
720
721         * asshelp.c (send_pinentry_environment): Fixed changed from
722         2004-12-18; cut+paste error for lc-messages.
723
724 2004-12-21  Werner Koch  <wk@g10code.com>
725
726         * simple-pwquery.c (agent_open) [W32]: Implement for W32.
727         (readline) [W32]: Use recv instead of read.
728         (writen) [W32]: Use send instead of write.
729         (my_stpcpy): Define a stpcpy replacement so that this file
730         continues to be self-contained.
731         (agent_send_all_options) [W32]: Don't call ttyname.
732
733 2004-12-21  Marcus Brinkmann  <marcus@g10code.de>
734
735         * simple-pwquery.h (simple_query): Add prototype.
736         * simple-pwquery.c (simple_query): New function.
737
738 2004-12-21  Werner Koch  <wk@g10code.com>
739
740         * signal.c (got_fatal_signal, got_usr_signal)
741         (got_fatal_signal) [DOSISH]: Don't build.
742         * simple-gettext.c: Include sysutils.h 
743
744         * homedir.c: New. Use CSIDL_APPDATA for W32 as the default home
745         directory.
746         * Makefile.am (libcommon_a_SOURCES): Add it.
747         (EXTRA_DIST): Removed mkerror and mkerrtok.
748
749 2004-12-20  Werner Koch  <wk@g10code.com>
750
751         * sysutils.h [W32]: Define sleep.
752         * util.h: Add prototype for mkdtemp.
753
754         * membuf.c (put_membuf): Wipe out buffer after a failed realloc.
755
756 2004-12-19  Werner Koch  <wk@g10code.com>
757
758         * maperror.c (map_assuan_err_with_source): Oops, args were swapped.
759
760 2004-12-18  Werner Koch  <wk@g10code.com>
761
762         * maperror.c (map_assuan_err): Renamed to ..
763         (map_assuan_err_with_source): .. this and add arg SOURCE.c
764         * asshelp.c (send_pinentry_environment, send_one_option): Add arg
765         ERRSOURCE.
766
767 2004-12-15  Werner Koch  <wk@g10code.com>
768
769         * sysutils.h [W32]: Prototypes for registry functions.
770         * w32reg.c: Include sysutils.h
771
772         * simple-pwquery.c [W32]: Dummy code to allow a build.
773
774         * exechelp.c [W32]: Implemented for W32 .
775
776         * ttyname.c: New.
777
778         * asshelp.c (send_one_option): New.
779         (send_pinentry_environment): Cleaned up and made sure that empty
780         values are not send.
781
782 2004-12-07  Werner Koch  <wk@g10code.com>
783
784         * asshelp.c (send_pinentry_environment) [W32]: Do not use ttyname.
785
786 2004-12-06  Werner Koch  <wk@g10code.com>
787
788         * exechelp.h, exechelp.c: New.  Based on code from ../sm/import.c.
789
790 2004-12-03  Werner Koch  <wk@g10code.com>
791
792         * strsep.c: Fixed copyright comments.
793
794 2004-11-26  Werner Koch  <wk@g10code.com>
795
796         * simple-gettext.c: New taken from gnupg 1.3.x
797
798         * simple-pwquery.c [_WIN32]: Include winsock2.h.
799         (agent_open): Disable it until we have our AF_UNIX implementation
800         ready.
801         * fseeko.c, ftello.c: Include sys/types for the sake of W32.
802
803 2004-11-23  Werner Koch  <wk@g10code.com>
804
805         * b64enc.c: Include stdio.h and string.h
806
807 2004-08-18  Werner Koch  <wk@g10code.de>
808
809         * simple-pwquery.c (simple_pwquery): Handle gpg-error style return
810         code for canceled.
811
812 2004-07-20  Werner Koch  <wk@g10code.de>
813
814         * maperror.c: Removed header ksba.h.  Not required anymore.
815
816 2004-06-14  Werner Koch  <wk@gnupg.org>
817
818         * xreadline.c: New.  Based on the iobuf_read_line function.
819
820 2004-05-12  Werner Koch  <wk@gnupg.org>
821
822         * util.h (xtrycalloc_secure,xtrymalloc_secure): New.
823
824 2004-05-11  Werner Koch  <wk@gnupg.org>
825
826         * sysutils.c (disable_core_dumps): Only set the current limit.
827         (enable_core_dumps): New.
828
829 2004-04-13  Werner Koch  <wk@gnupg.org>
830
831         * simple-pwquery.c (copy_and_escape): Relaxed quoting.
832
833 2004-04-05  Werner Koch  <wk@gnupg.org>
834
835         * errors.h (STATUS_NEWSIG): New.
836
837 2004-03-11  Werner Koch  <wk@gnupg.org>
838
839         * dynload.h [__MINGW32__]: Define RTLD_LAZY.
840
841 2004-03-09  Werner Koch  <wk@gnupg.org>
842
843         * maperror.c (map_assuan_err): Map the Locale_Problem item.
844
845 2004-03-03  Werner Koch  <wk@gnupg.org>
846
847         * asshelp.c, asshelp.h: New.
848         (send_pinentry_environment): New. Code taken from ../sm/call-agent.c.
849
850 2004-02-19  Werner Koch  <wk@gnupg.org>
851
852         * simple-pwquery.c (agent_open): Don't mangle INFOSTR.
853
854 2004-02-17  Werner Koch  <wk@gnupg.org>
855
856         * simple-pwquery.c (agent_open): Ignore an empty GPG_AGENT_INFO.
857
858         * errors.h: Added STATUS_IMPORT_OK.
859
860 2004-02-10  Werner Koch  <wk@gnupg.org>
861
862         * b64enc.c: New.  Based on code from ../sm/base64.c.
863
864 2004-01-30  Marcus Brinkmann  <marcus@g10code.de>
865
866         * Makefile.am (libcommon_a_SOURCES): Add xasprintf.c.
867         * miscellaneous.c (xasprintf): Moved to ...
868         * xasprintf (xasprintf): ... here.  New file.
869         This allows to use xasprintf without sucking in gpg-error.
870
871 2004-01-27  Werner Koch  <wk@gnupg.org>
872
873         * sexp-parse.h: New; moved from../agent.
874
875         * util.h (xtoi_4): New.
876
877 2003-12-23  Werner Koch  <wk@gnupg.org>
878
879         * maperror.c (map_assuan_err): Prepared for a new error code.
880
881 2003-12-17  Werner Koch  <wk@gnupg.org>
882
883         * gettime.c (asctimestamp): Add a note on a non-avoidable gcc warning.
884
885         * util.h [!HAVE_VASPRINTF]: Add printf format attribute to the
886         replacement function.
887
888         * miscellaneous.c (xasprintf): New.
889
890 2003-11-14  Werner Koch  <wk@gnupg.org>
891
892         * mkdtemp.c (mkdtemp): Use gcry_create_nonce.
893
894         * cryptmiss.c: Removed.
895
896 2003-11-13  Werner Koch  <wk@gnupg.org>
897
898         * util.h (vasprintf): Also fixed the prototype.
899
900         * vasprintf.c (vasprintf): ARGS should not be a pointer.  Fixed
901         segv on Solaris.  Reported by Andrew J. Schorr.
902
903 2003-11-12  Werner Koch  <wk@gnupg.org>
904
905         * maperror.c (map_ksba_err, map_gcry_err, map_kbx_err): Removed.
906
907 2003-10-31  Werner Koch  <wk@gnupg.org>
908
909         * util.h (gnupg_isotime_t): New.
910         (gnupg_copy_time): New.
911
912         * gettime.c (gnupg_get_isotime): New.
913
914 2003-09-23  Werner Koch  <wk@gnupg.org>
915
916         * iobuf.c (check_special_filename): Replaced is isdigit by digitp
917         to avoid passing negative values and potential locale problems.
918         Problem noted by Christian Biere.
919
920         * util.h (ascii_isspace): New.
921
922 2003-09-18  Werner Koch  <wk@gnupg.org>
923
924         * ttyio.c (tty_fprintf): New.
925         (tty_print_string, tty_print_utf8_string2)
926         (tty_print_utf8_string): Made P argument const byte*.
927
928 2003-08-20  Marcus Brinkmann  <marcus@g10code.de>
929
930         * maperror.c (map_ksba_err): Map -1.  Use gpg_err_make to set
931         the error source.
932
933 2003-08-14  Timo Schulz  <twoaday@freakmail.de>
934
935         * dynload.h. New. W32 wrapper around the dynload mechanism.
936         
937 2003-07-15  Werner Koch  <wk@gnupg.org>
938
939         * simple-pwquery.c, simple-pwquery.h:  New; moved from ../agent.  
940         * Makefile.am (libsimple_pwquery_a_LIBADD): New.
941
942 2003-06-25  Werner Koch  <wk@gnupg.org>
943
944         * maperror.c (map_to_assuan_status): Directly map 0 to 0.
945
946 2003-06-17  Werner Koch  <wk@gnupg.org>
947
948         * gettime.c (scan_isodatestr,add_days_to_timestamp,strtimevalue)
949         (strtimestamp,asctimestamp): New.  Code taken from gnupg 1.3.2
950         mischelp.c.
951
952         * yesno.c: New.  Code taken from gnupg 1.3.2 mischelp.c
953
954         * miscellaneous.c: New.
955
956         * util.h: Include utf8conf.h
957
958 2003-06-16  Werner Koch  <wk@gnupg.org>
959
960         * gettime.c (make_timestamp): New.
961
962         * ttyio.c: New. Taken from gnupg 1.2.
963         * ttyio.h: Move from ../include.
964
965 2003-06-13  Werner Koch  <wk@gnupg.org>
966
967         * util.h (seterr): Removed macro.
968         (xmalloc_secure,xcalloc_secure): New.
969
970 2003-06-11  Werner Koch  <wk@gnupg.org>
971
972         * iobuf.c (iobuf_writebyte,iobuf_write): Return error code from
973         iobuf_flush.
974         (iobuf_writestr): Ditto.
975
976 2003-06-10  Werner Koch  <wk@gnupg.org>
977
978         * iobuf.c, iobuf.h: New. Taken from current gnupg 1.3 CVS.  Run
979         indent on it and adjusted error handling to libgpg-error style.
980         Replaced IOBUF by iobuf_t. Renamed malloc functions.
981
982 2003-06-04  Werner Koch  <wk@gnupg.org>
983
984         * errors.h: Removed all error codes.  We keep the status codes for
985         now.
986         * Makefile.am: Do not create errors.c anymore; remove it from the
987         sources.
988
989         * maperror.c: Don't include error.h.  Change all error codes to
990         libgpg-error style.
991         (map_assuan_err): Changed to new Assuan error code convention.
992         (map_to_assuan_status): Likewise.
993         (map_gcry_err,map_kbx_err): Not needed.  For now dummy functions.
994
995         * membuf.c, membuf.h: New.  Code taken from ../sm/call-agent.h.
996         * Makefile.am: Added above.
997
998 2003-04-29  Werner Koch  <wk@gnupg.org>
999
1000         * util.h (fopencokokie): Removed prototype and struct.
1001
1002         * fopencookie.c: Removed.
1003
1004         * maperror.c: Use system assuan.h
1005
1006 2002-10-31  Neal H. Walfield  <neal@g10code.de>
1007
1008         * isascii.c: New file.
1009         * putc_unlocked.c: Likewise.
1010
1011 2002-10-28  Neal H. Walfield  <neal@g10code.de>
1012
1013         * signal.c (caught_fatal_sig): Remove superfluous zero
1014         initializer.
1015         (caught_sigusr1): Likewise.
1016
1017 2002-09-04  Neal H. Walfield  <neal@g10code.de>
1018
1019         * vasprintf.c (vasprintf) [va_copy]: Use va_copy.
1020         [!va_copy && __va_copy]: Use __va_copy.
1021         [!va_copy && !__va_copy]: Only now fall back to using memcpy.
1022
1023 2002-08-21  Werner Koch  <wk@gnupg.org>
1024
1025         * errors.h: Added STATUS_IMPORT_PROBLEM.
1026
1027 2002-08-20  Werner Koch  <wk@gnupg.org>
1028
1029         * vasprintf.c: Hack to handle NULL for %s.
1030
1031 2002-08-09  Werner Koch  <wk@gnupg.org>
1032
1033         * signal.c: New. Taken from GnuPG 1.1.91.
1034
1035 2002-07-23  Werner Koch  <wk@gnupg.org>
1036
1037         * util.h (_IO_cookie_io_functions_t): Fixed typo.  Noted by
1038         Richard Lefebvre.
1039
1040 2002-07-22  Werner Koch  <wk@gnupg.org>
1041
1042         * fseeko.c, ftello.c: New.
1043
1044 2002-06-28  Werner Koch  <wk@gnupg.org>
1045
1046         * maperror.c (map_to_assuan_status): Map more errorcodes to Bad
1047         Certificate.
1048
1049 2002-06-26  Werner Koch  <wk@gnupg.org>
1050
1051         * maperror.c (map_to_assuan_status): Map EOF to No_Data_Available.
1052
1053 2002-06-10  Werner Koch  <wk@gnupg.org>
1054
1055         * errors.h (gnupg_error_token): Add new prototype.
1056         (STATUS_ERROR): New.
1057
1058         * mkerrtok: New.
1059         * Makefile.am: Use it to create the new error token function.
1060
1061 2002-06-04  Werner Koch  <wk@gnupg.org>
1062
1063         * maperror.c (map_to_assuan_status): Map Bad_CA_Certificate.
1064
1065 2002-05-23  Werner Koch  <wk@gnupg.org>
1066
1067         * no-pth.c, Makefile.am: Removed.
1068
1069 2002-05-22  Werner Koch  <wk@gnupg.org>
1070
1071         * mkdtemp.c: Replaced byte by unsigned char because it is no longer
1072         defined in gcrypt.h.
1073
1074 2002-05-21  Werner Koch  <wk@gnupg.org>
1075
1076         * maperror.c (map_gcry_err): Add libgcrypt's new S-expression errors.
1077         (map_ksba_err): Add a few mappings.
1078
1079 2002-05-14  Werner Koch  <wk@gnupg.org>
1080
1081         * gettime.c: New.
1082
1083 2002-05-03  Werner Koch  <wk@gnupg.org>
1084
1085         * errors.h: Added STARUS_EXPSIG and STATUS_EXPKEYSIG.
1086
1087 2002-04-15  Werner Koch  <wk@gnupg.org>
1088
1089         * cryptmiss.c: New.
1090
1091 2002-02-14  Werner Koch  <wk@gnupg.org>
1092
1093         * maperror.c: Add more assuan<->gnupg mappings.
1094
1095 2002-02-12  Werner Koch  <wk@gnupg.org>
1096
1097         * fopencookie.c: Dummy function.
1098
1099         * vasprintf.c: New.  Taken from binutils-2.9.1 and dropped all non
1100         ANSI-C stuff.  Merged with asprintf version.
1101
1102         * no-pth.c: New.
1103
1104 2002-01-23  Werner Koch  <wk@gnupg.org>
1105
1106         * mkdtemp.c: Copied from gnupg-1.0.6c and changed to use libgcrypt.
1107
1108 2002-01-19  Werner Koch  <wk@gnupg.org>
1109
1110         * sysutils.c: New.  This is the misc.c file from gnupg 1.0.6 with
1111         the OpenPGP stuff removed.
1112         * sysutils.h: New.
1113         
1114 2002-01-15  Werner Koch  <wk@gnupg.org>
1115
1116         * maperror.c: Add mapping for Not_Trusted. 
1117
1118 2002-01-11  Werner Koch  <wk@gnupg.org>
1119
1120         * maperror.c (map_assuan_err): Codes for CRL
1121
1122 2002-01-08  Werner Koch  <wk@gnupg.org>
1123
1124         * util.h (spacep): New.
1125
1126 2002-01-02  Werner Koch  <wk@gnupg.org>
1127
1128         * maperror.c (map_to_assuan_status): New.  Merged from ../agent
1129         and ../sm.
1130
1131 2001-12-20  Werner Koch  <wk@gnupg.org>
1132
1133         * maperror.c (map_gcry_err): Add some mappings.
1134
1135 2001-12-18  Werner Koch  <wk@gnupg.org>
1136
1137         * Makefile.am (AM_CPPFLAGS): Include flags for gcrypt and ksba
1138
1139 2001-12-14  Werner Koch  <wk@gnupg.org>
1140
1141         * util.h (digitp, hexdigitp): New ctype like macros.
1142         (atoi_1,atoi_2,atoi_4,xtoi_1,xtoi_2): New.
1143         
1144         
1145  Copyright 2001, 2002, 2003, 2004, 2005, 2006, 
1146            2007 Free Software Foundation, Inc.
1147
1148  This file is free software; as a special exception the author gives
1149  unlimited permission to copy and/or distribute it, with or without
1150  modifications, as long as this notice is preserved.
1151
1152  This file is distributed in the hope that it will be useful, but
1153  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1154  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1155                 
1156