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