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