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