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