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