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