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