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