Remove superfluous parameter.
[gnupg.git] / common / ChangeLog
1 2010-11-25  Werner Koch  <wk@g10code.com>
2
3         * asshelp.c (start_new_gpg_agent): Change style of startup info.
4         (start_new_dirmngr): Ditto.
5
6 2010-11-23  Werner Koch  <wk@g10code.com>
7
8         * asshelp.c (SECS_TO_WAIT_FOR_AGENT, SECS_TO_WAIT_FOR_DIRMNGR):
9         Use these constants.  For W32CE increase them to 30 seconds.
10         (start_new_gpg_agent): Print time to startup agent.
11         (start_new_dirmngr): Ditto.
12
13 2010-11-04  Werner Koch  <wk@g10code.com>
14
15         * logging.c (do_logv) [W32]: Don't set a default log stream if the
16         registry entry is empty.
17
18 2010-10-27  Werner Koch  <wk@g10code.com>
19
20         * gettime.c (gnupg_get_isotime): Compare to (time_t)-1.
21         (epoch2isotime): Ditto.
22         (IS_INVALID_TIME_T): New.
23         (asctimestamp): Use lNew macro.
24         (strtimestamp, isotimestamp): Ditto.  Use snprintf.
25
26 2010-10-25  Werner Koch  <wk@g10code.com>
27
28         * logging.c (do_log): Rename to log_log and make global.
29
30 2010-10-20  Werner Koch  <wk@g10code.com>
31
32         * i18n.c (i18n_init) [USE_SIMPLE_GETTEXT]: Call textdomain.
33
34 2010-10-14  Werner Koch  <wk@g10code.com>
35
36         * asshelp.c (start_new_gpg_agent): Print a notice once the agent
37         has been started.
38         (start_new_dirmngr): Likewise.
39
40 2010-10-13  Werner Koch  <wk@g10code.com>
41
42         * miscellaneous.c (parse_version_number, parse_version_string)
43         (gnupg_compare_version): New.
44
45 2010-10-04  Werner Koch  <wk@g10code.com>
46
47         * gettime.c (asctimestamp) [W32CE]: Do not print the timezone.
48
49 2010-09-30  Werner Koch  <wk@g10code.com>
50
51         * util.h (GPG_ERR_FULLY_CANCELED): Add replacement.
52
53 2010-09-17  Werner Koch  <wk@g10code.com>
54
55         * http.c (INADDR_NONE): Provide fallback.
56         * logging.c (INADDR_NONE): Ditto.
57
58 2010-09-16  Werner Koch  <wk@g10code.com>
59
60         * util.h: Add GPG_ERR_MISSING_ISSUER_CERT.
61         * status.c (get_inv_recpsgnr_code): Ditto.
62
63 2010-09-13  Werner Koch  <wk@g10code.com>
64
65         * homedir.c (gnupg_bindir) [W32CE]: Change to bin/.
66         (gnupg_libexecdir) [W32]: Call gnupg_bindir.
67         (gnupg_libdir, gnupg_datadir, gnupg_localedir) [W32]: Simplify by
68         using xstrconcat.
69         (gnupg_module_name): Ditto.
70         (w32_rootdir): Strip a trailing "bin".
71
72 2010-09-02  Werner Koch  <wk@g10code.com>
73
74         * util.h (GPG_ERR_NOT_INITIALIZED): Define if not defined.
75
76 2010-09-01  Marcus Brinkmann  <marcus@g10code.de>
77
78         * estream.c (_es_set_std_fd): Disable debug output.
79
80 2010-08-26  Werner Koch  <wk@g10code.com>
81
82         * estream.c (es_convert_mode): Rename to parse_mode.
83         (parse_mode): Add arg R_CMODE and parse key value pairs.  Use Use
84         664 as the default mode.  Change callers.
85         (ES_DEFAULT_OPEN_MODE): Remove.
86         (es_fopen, do_fpopen, do_w32open, es_freopen): Support a creation
87         mode.
88         (es_func_file_create): Rename to func_file_create and add arg CMODE.
89         (es_func_fd_create): Rename to func_fd_create.
90         (es_func_fp_create): Rename to func_fp_create.
91         (es_list_add): Rename to do_list_add.
92         (es_list_remove): Rename to do_list_remove.
93         (es_list_iterate): Rename to do_list_iterate.
94         (es_pth_read): Rename to do_pth_read.
95         (es_deinit): Rename to do_deinit.
96         (es_init_do): Rename to do_init.
97         (es_func_mem_create): Rename to func_mem_create.
98
99 2010-08-23  Werner Koch  <wk@g10code.com>
100
101         * exechelp-w32ce.c: Rewrite all spawn stuff.
102
103         * exechelp-w32.c (close_all_fds) [W32]: Make it a dummy function.
104
105         * estream.c (es_onclose): New.
106         (notify_list_t, onclose): New.
107         (struct estream_internal): Add field ONCLOSE.
108         (es_initialize, es_deinitialize): Manage new field.
109         (do_close): Call onclose notify functions.
110
111 2010-08-20  Werner Koch  <wk@g10code.com>
112
113         * exechelp-w32.c (create_inheritable_pipe): Change arg to HANDLE.
114
115         * estream.h (es_sysopen_t): New.
116         * estream.c (es_func_w32_create, es_func_w32_read)
117         (es_func_w32_write, es_func_w32_seek, es_func_w32_destroy)
118         (estream_functions_w32, estream_cookie_fd): New.  Only for W32.
119         (es_sysopen, es_sysopen_nc): New.
120         (do_w32open, do_sysopen): New.
121         (es_syshd, es_syshd_unlocked): New.
122         (struct estream_internal): Replace filed FD by SYSHD.
123         (es_initialize): Clear SYSHD_VALID.
124         (map_w32_to_errno): New.
125         (es_get_fd): Remove.
126         (es_fileno_unlocked): Re-implement using es_syshd.
127         (es_initialize, es_create): Replace arg FD by SYSHD.
128         (es_fopen, es_mopen, es_fopenmem, do_fdopen, do_fpopen)
129         (es_tmpfile): Use SYSHD instead of FD.
130         (es_destroy): Rename to do_close.
131
132 2010-08-19  Werner Koch  <wk@g10code.com>
133
134         * exechelp-posix.c (create_pipe_and_estream): New.
135         (gnupg_spawn_process): Rework this function and its calling
136         convention; it is not used anyway.
137         * exechelp-w32.c (gnupg_spawn_process): Ditto.
138
139 2010-08-18  Werner Koch  <wk@g10code.com>
140
141         * logging.c (writen): Add arg IS_SOCKET.
142         (fun_writer): Pass the is_socket flag.
143         (do_logv) [W32]: Allow for a default log stream
144
145         * estream.c (struct estream_internal): Remove obsolete fields
146         PRINT_FP, PRINT_ERRNO, PRINT_ERR and all remaining code cruft.
147
148 2010-08-16  Werner Koch  <wk@g10code.com>
149
150         * estream.c (es_printf_unlocked, es_printf): New.
151
152         * asshelp.c (lock_agent_t): Rename to lock_spawn_t.
153         (lock_agent_spawning, unlock_agent_spawning): Factor code out to ...
154         (lock_spawning, unlock_spawning): .. new.
155         (start_new_gpg_agent): Make more use of ERRSOURCE.
156         (start_new_dirmngr): New.
157
158 2010-08-13  Werner Koch  <wk@g10code.com>
159
160         * Makefile.am (audit-events.h, status-codes.h): Fix srcdir problem
161         amd depend on Makefile.am instead of Makefile.
162
163 2010-08-12  Werner Koch  <wk@g10code.com>
164
165         * sysutils.c (gnupg_remove) [W32CE]: Fix returned error.
166
167 2010-08-09  Werner Koch  <wk@g10code.com>
168
169         * logging.c (WITH_IPV6): New macro.
170         (parse_portno): New.  From libassuan.
171         (fun_writer): Support TCP logging on all platforms.
172         (sock_close): New.
173
174 2010-08-06  Werner Koch  <wk@g10code.com>
175
176         * homedir.c (dirmngr_socket_name) [W32CE]: Base on default homedir.
177         (gnupg_cachedir) [W32CE]: Drop drive letter.
178
179         * http.c (http_open_document): Rename to _http_open_document and
180         add arg ERRSOURCE.  Pass ERRSOURCE to all called funcs.
181         (http_wait_response, http_open, http_parse_uri): Likewise.
182         (do_parse_uri, parse_response, store_header): Change to return an
183         gpg_err_code_t.  Change callers.
184         (send_request): Add arg ERRSOURCE.  Change callers.
185         * http.h (http_open_document, http_wait_response, http_open)
186         (http_parse_uri): Define as macro.
187
188 2010-08-05  Werner Koch  <wk@g10code.com>
189
190         * estream.h (es_asprintf, es_vasprintf): Add lost prototyps.
191
192         * http.c: Require estream and make HTTP_USE_ESTREAM obsolete.  It
193         make the code unreadable and we require estream anyway for GnuPG.
194         (http_wait_response): Get use of cookies right.
195         (send_request): s/xtryasprintf/es_asprintf/ to allow standalone
196         use of the code.
197         (insert_escapes, connect_server): s/sprintf/snprintf/.
198         (parse_response): s/my_read_line/es_read_line/.
199         (my_read_line): Remove.
200         (write_server): Use pth_write.
201
202 2010-07-26  Werner Koch  <wk@g10code.com>
203
204         * estream.c (es_func_fp_write) [W32]: Write smaller chunks.
205
206 2010-07-25  Werner Koch  <wk@g10code.com>
207
208         * argparse.c (initialize): Use ARGPARSE_PRINT_WARNING constant.
209
210 2010-07-24  Werner Koch  <wk@g10code.com>
211
212         * estream.c (es_set_binary): New.
213
214 2010-07-19  Werner Koch  <wk@g10code.com>
215
216         * utf8conv.c (utf8_to_wchar): s/malloc/jnlib_malloc/.
217
218 2010-07-16  Werner Koch  <wk@g10code.com>
219
220         * http.h (HTTP_FLAG_IGNORE_CL): Add flag .
221         * http.c (WITHOUT_GNU_PTH): Test macro for Pth support.
222         (http_parse_uri): s/xcalloc/xtrycalloc/.
223         (send_request): Replace of discrete allocation and sprintf by
224         xtryasprintf.
225         (http_wait_response): Replace HTTP_FLAG_NO_SHUTDOWN by
226         HTTP_FLAG_SHUTDOWN to change the default to no shutdown.
227         (cookie_read) [HAVE_PTH]: Use pth_read.
228         (longcounter_t): New.
229         (struct cookie_s): Add support for content length.  Turn flag
230         fields into bit types.
231         (parse_response): Parse content length header.
232         (cookie_read): Take care of the content length.
233
234 2010-07-08  Werner Koch  <wk@g10code.com>
235
236         * estream.c (estream_functions_file): Remove and replace by
237         identical estream_functions_fd.
238
239 2010-07-06  Werner Koch  <wk@g10code.com>
240
241         * util.h (b64state): Add field STREAM.
242         * b64enc.c (b64enc_start): Factor code out to ..
243         (enc_start): new.
244         (b64enc_start_es, my_fputs): New.
245         (b64enc_write, b64enc_finish): Support estream.
246
247 2010-06-24  Werner Koch  <wk@g10code.com>
248
249         * asshelp.c (lock_agent_spawning) [W32]: Use CreateMutexW.
250         (start_new_gpg_agent): Use HANG option for gnupg_wait_progress.
251         Fixes regression from 2010-06-09.
252
253 2010-06-21  Werner Koch  <wk@g10code.com>
254
255         * util.h (xfree_fnc): New.
256
257 2010-06-18  Werner Koch  <wk@g10code.com>
258
259         * util.h (GPG_ERR_MISSING_KEY) [!GPG_ERR_MISSING_KEY]: New.
260
261         * sexputil.c (make_canon_sexp_pad): Add arg SECURE.
262
263 2010-06-17  Werner Koch  <wk@g10code.com>
264
265         * sexputil.c (make_canon_sexp_pad): New.
266
267 2010-06-14  Werner Koch  <wk@g10code.com>
268
269         * membuf.c (put_membuf): Add shortcut for !LEN.
270
271 2010-06-11  Marcus Brinkmann  <marcus@g10code.de>
272
273         * sysutils.c (translate_sys2libc_fd): Revert last change.
274         (translate_sys2libc_fd_int): Revert last change.
275
276 2010-06-10  Marcus Brinkmann  <marcus@g10code.de>
277
278         * sysutils.c (translate_sys2libc_fd) [HAVE_W32CE_SYSTEM]:
279         Implement.
280         (translate_sys2libc_fd_int) [HAVE_W32CE_SYSTEM]: Don't call
281         translate_sys2libc_fd.
282
283         * estream.c (_es_get_std_stream): Fix cut&paste bug.
284
285 2010-06-09  Werner Koch  <wk@g10code.com>
286
287         * exechelp-posix.c, exechelp-w32.c
288         * exechelp-w32ce.c (gnupg_wait_process): Add new arg HANG.  Change
289         all callers.
290         (gnupg_release_process): New.  Use it after all calls to
291         gnupg_wait_process.
292
293         * util.h (GNUPG_MODULE_NAME_DIRMNGR_LDAP): New.
294         * homedir.c (gnupg_cachedir): New.
295         (w32_try_mkdir): New.
296         (dirmngr_socket_name): Change standard socket name.
297         (gnupg_module_name): Support GNUPG_MODULE_NAME_DIRMNGR_LDAP.
298
299         * logging.c (log_set_get_tid_callback): Replace by ...
300         (log_set_pid_suffix_cb): .. new.
301         (do_logv): Change accordingly.
302
303 2010-06-08  Marcus Brinkmann  <marcus@g10code.de>
304
305         * Makefile.am (AM_CFLAGS): Add $(LIBASSUAN_CFLAGS).
306         (t_common_ldadd): Add $(LIBASSUAN_LIBS).
307         * sysutils.c: Include <assuan.h>.
308         (translate_sys2libc_fd_int): Cast to silence gcc warning.
309         * iobuf.c: Include <assuan.h>
310         (translate_file_handle): Fix syntax error.
311
312 2010-06-08  Werner Koch  <wk@g10code.com>
313
314         * iobuf.c (translate_file_handle) [W32CE]: Handle rendezvous ids.
315
316 2010-06-07  Werner Koch  <wk@g10code.com>
317
318         * sysutils.c [W32CE]: Finish pipe creation.
319
320         * estream.c (es_fname_get, es_fname_set): New.
321         (fname_set_internal): New.
322         (struct estream_internal): Add fields printable_fname and
323         printable_fname_inuse.
324         (_es_get_std_stream): Set stream name.
325         (es_fopen, es_freopen, es_deinitialize): Set fname.
326
327         * exechelp-posix.c (gnupg_spawn_process): Allow passing INFILE or
328         OUTFILE as NULL.
329         * exechelp-w32.c (gnupg_spawn_process): Ditto.
330         * exechelp-w32ce.c (gnupg_spawn_process): Return an error for
331         INFILE or OUTFILE passed as NULL.
332
333 2010-06-01  Werner Koch  <wk@g10code.com>
334
335         * logging.c (log_get_stream): Make sture a log stream is available.
336
337 2010-05-30  Werner Koch  <wk@g10code.com>
338
339         * init.c (writestring_via_estream): New.
340         (init_common_subsystems): Register with argparse.
341
342         * argparse.c (argparse_register_outfnc): New.
343         (writestrings, flushstrings): New.  Use them instead of stdout or
344         stderr based functions.
345
346 2010-05-04  Werner Koch  <wk@g10code.com>
347
348         * estream.c (_es_get_std_stream): Re-use registered standard fds.
349         (IS_INVALID_FD, ESTREAM_SYS_YIELD): New.
350         (es_func_fd_read, es_func_fd_write, es_func_fd_seek)
351         (es_func_fd_destroy): Implement a dummy stream.
352
353         * exechelp-w32ce.c (build_w32_commandline): Add args FD0_ISNULL
354         and FD1_ISNULL.  Remove arg PGMNAME.  Change callers.
355         (gnupg_spawn_process_detached): Implement.
356         (gnupg_spawn_process_fd): Implement one special case for now.
357
358 2010-05-03  Werner Koch  <wk@g10code.com>
359
360         * asshelp.c (lock_agent_spawning, unlock_agent_spawning): New.
361         (start_new_gpg_agent): Test for configured standard socket and
362         try to fire up the agent in this case.
363
364         * exechelp-posix.c (gnupg_wait_process): Do not log a message if
365         EXITCODE is given.
366         (gnupg_spawn_process_detached): Do not reuse PID for the second fork.
367
368 2010-04-26  Werner Koch  <wk@g10code.com>
369
370         * utf8conv.c (load_libiconv) [W32CE]: No libiconv warning
371
372         * init.c (init_common_subsystems) [W32CE]: Register the sleep
373         function before es_init.
374
375 2010-04-20  Werner Koch  <wk@g10code.com>
376
377         * estream.c (es_deinit): New.
378         (es_init_do): Install atexit handler to flush all streams.
379
380         * Makefile.am (common_sources): Add gettime.h.
381
382 2010-04-20  Marcus Brinkmann  <marcus@g10code.de>
383
384         * logging.c (do_log_ignore_arg): New helper function.
385         (log_string): Use it to remove ugly volatile hack that causes gcc
386         warning.
387         (log_flush): Likewise.
388         * sysutils.c (gnupg_unsetenv) [!HAVE_W32CE_SYSTEM]: Return something.
389         (gnupg_setenv) [!HAVE_W32CE_SYSTEM]: Likewise.
390         * pka.c (get_pka_info): Solve strict aliasing rule violation.
391         * t-exechelp.c (test_close_all_fds): Use dummy variables to
392         silence gcc warning.
393
394 2010-04-15  Werner Koch  <wk@g10code.com>
395
396         * util.h: Factor time related functions out to ...
397         * gettime.h: New.
398         (gnupg_copy_time): Move to ...
399         * gettime.c (gnupg_copy_time): New.
400
401         * sysutils.c (gnupg_setenv) [!W32CE]: Add missing return.
402         (gnupg_unsetenv) [!W32CE]: Add missing return.
403
404 2010-04-14  Werner Koch  <wk@g10code.com>
405
406         * Makefile.am (noinst_LIBRARIES) [W32CE]: Exclude libsimple-pwquery.
407
408         * w32help.h (umask) [W32CE]: New.
409
410         * sysutils.c (_gnupg_isatty): New.
411         * util.h (gnupg_isatty): New.
412
413         * asshelp.c (setup_libassuan_logging): Read ASSUAN_DEBUG envvar.
414         (my_libassuan_log_handler): Use it.
415         * sysutils.c (_gnupg_getenv): Implement ASSUAN_DEBUG.
416
417 2010-04-08  Werner Koch  <wk@g10code.com>
418
419         * w32help.h (_setmode, setmode) [W32CE]: Provide prototype and
420         macro.
421
422 2010-04-07  Werner Koch  <wk@g10code.com>
423
424         * mischelp.c (timegm): Replace unsetenv/putenv by gnupg_unsetenv.
425
426         * sysutils.c: Include setenv.h.
427         (gnupg_setenv, gnupg_unsetenv): New.
428
429
430 2010-04-06  Werner Koch  <wk@g10code.com>
431
432         * sysutils.c (gnupg_mkdir): New.
433
434 2010-03-29  Werner Koch  <wk@g10code.com>
435
436         * init.c (sleep_on_exit): Change to 400ms.
437
438 2010-03-25  Werner Koch  <wk@g10code.com>
439
440         * init.c (sleep_on_exit) [W32CE]: New.
441         (init_common_subsystems): Call it.
442
443 2010-03-24  Werner Koch  <wk@g10code.com>
444
445         * stringhelp.c (change_slashes, compare_filenames): Replace
446         HAVE_DRIVE_LETTERS by HAVE_DOSISH_SYSTEM.
447         (make_basename, make_dirname): Detect backslashes and drive
448         letters separately.
449
450         * dotlock.c (make_dotlock, create_dotlock, release_dotlock): Use
451         LockFileEx and UnlockFileEx to support W32CE.
452
453         * ttyio.c (USE_W32_CONSOLE): Replace all _WIN32 by this.
454         (init_ttyfp) [W32CE]: Use stderr.
455
456         * iobuf.c (FD_FOR_STDIN, FD_FOR_STDOUT) [W32CE]: Use estream.
457         (translate_file_handle) [W32CE]: Remove handle translation.
458
459 2010-03-23  Werner Koch  <wk@g10code.com>
460
461         * sysutils.c (gnupg_remove): New.
462
463 2010-03-22  Werner Koch  <wk@g10code.com>
464
465         * exechelp-w32ce.c (build_w32_commandline): Replace by code from
466         libassuan.
467         (create_inheritable_pipe): Use _assuan_w32ce_prepare_pipe.
468         (build_w32_commandline_copy, do_create_pipe): Remove.
469
470         * exechelp-posix.c (gnupg_spawn_process): Change to use estream
471         also for INFILE and STATUSFILE.
472         * exechelp-w32.c (gnupg_spawn_process): Ditto.
473
474 2010-03-22  Werner Koch  <wk@g10code.com>
475
476         * exechelp.c: Remove after factoring all code out to ...
477         * exechelp-posix.c, exechelp-w32.c, exechelp-w32ce.c:  .. new.
478
479         * exechelp.c (create_inheritable_pipe_r)
480         (create_inheritable_pipe_w): Fold both into ...
481         (create_inheritable_pipe): .. New.  Change callers to use this.
482         (gnupg_create_inbound_pipe, gnupg_create_outbound_pipe): Factor
483         code out to ...
484         (do_create_pipe): .. New.
485
486         * init.c (parse_std_file_handles): Change to use rendezvous ids.
487
488 2010-03-15  Werner Koch  <wk@g10code.com>
489
490         * init.c (init_common_subsystems): Add args ARGCP and
491         ARGVP.  Change all callers to provide them.
492         (parse_std_file_handles): New.
493
494         * t-sysutils.c (rewind) [W32CE]: Provide a replacement.
495
496         * Makefile.am (module_tests) [W32CE]: Don't build t-exechelp for now.
497
498         * sysutils.c (gnupg_allow_set_foregound_window) [W32CE]: Don't
499         call AllowSetForegroundWindow.
500
501         * logging.c (isatty) [W32CE]: New.
502         (fun_writer, set_file_fd): Use estream even for the internal error
503         messages.
504         (log_string, log_flush): Make DUMMY_ARG_PTR static.
505
506 2010-03-15  Werner Koch  <wk@g10code.com>
507
508         * asshelp.c (send_pinentry_environment) [!HAVE_SETLOCALE]: Do not
509         define OLD_LC.
510         * http.c (connect_server) [!USE_DNS_SRV]: Mark SRVTAG unused.
511         * dns-cert.c (get_dns_cert) [!USE_DNS_CERT]: Mark args unused.
512         * pka.c (get_pka_info): Ditto.
513
514         * signal.c (pause_on_sigusr): Remove.  It was used in ancient gpg
515         version with shared memory IPC.  Last caller removed on 2006-04-18.
516         (do_block) [W32]: Mark arg unused.
517
518         * exechelp.c (w32_open_null): Use CreateFileW.
519
520         * init.c (init_common_subsystems): Add args ARGCP and ARGVP.
521         Change all callers to pass them.
522
523         * logging.c (S_IRGRP, S_IROTH, S_IWGRP, S_IWOTH) [W32]: New.
524         (fun_writer, set_file_fd) [W32]: Disable socket code.
525
526         * localename.c: Include gpg-error.h.
527
528         * util.h (GPG_ERR_NOT_ENABLED): Remove this temporary definition.
529
530 2010-03-12  Werner Koch  <wk@g10code.com>
531
532         * status.h (STATUS_ENTER): New.
533
534         * ttyio.c (tty_fprintf): Change to use estream.
535
536         * miscellaneous.c (print_utf8_string): Rename to print_utf8_buffer
537         and change FP arg to an estream.  Change all callers.
538         (print_utf8_string2): Ditto; new name is to print_utf8_buffer2.
539
540 2010-03-11  Werner Koch  <wk@g10code.com>
541
542         * miscellaneous.c (print_string): Remove.
543
544         * estream.c (es_setvbuf): Fix parameter check.
545         (es_set_buffering): Allow a SIZE of 0.
546         * asshelp.c (setup_libassuan_logging, my_libassuan_log_handler): New.
547         * logging.c (do_logv): Add arg IGNORE_ARG_PTR.  Change all callers.
548         (log_string): New.
549         (log_flush): New.
550         (set_file_fd): Simplify by using estreams es_stderr.
551
552         * estream.h (es_stdout, es_stderr, es_stdin): New.
553
554 2010-03-10  Werner Koch  <wk@g10code.com>
555
556         * estream.c (es_func_fp_read, es_func_fp_write, es_func_fp_seek)
557         (es_func_fp_destroy): Allow a NULL FP to implement a dummy stream.
558         (do_fpopen): Ditto.
559         (es_vfprintf_unlocked): New.
560         (es_fprintf_unlocked): Make public.
561         (es_fputs_unlocked): New.
562
563         * logging.h: Replace FILE* by estream_t.
564         * logging.c: Remove USE_FUNWRITER cpp conditional because we now
565         use estream.
566         (my_funopen_hook_ret_t, my_funopen_hook_size_t): Replace by
567         ssize_t.
568         (log_get_stream): Change to return an estream_t.
569         (set_file_fd): Always close the log stream because it can't be
570         assigned to stderr or stdout directly.  Use a dummy estream as
571         last resort log stream.
572         (log_test_fd, log_get_fd): Use es_fileno.
573         (log_get_stream): Assert that we have a log stream.
574         (do_logv): Use estream functions and lock the output.
575
576 2010-03-10  Werner Koch  <wk@g10code.com>
577
578         * util.h: Replace jnlib path part by common.
579         (snprintf): Use the replacement macro on all platforms.
580
581         * Makefile.am (jnlib_sources): New.
582         (libcommon_a_SOURCES, libcommonpth_a_SOURCES): Add jnlib_sources.
583         (jnlib_tests): New.
584         (noinst_PROGRAMS, TESTS): Add jnlib_tests.
585         (t_common_ldadd): Remove libjnlib.a.
586
587         * README.jnlib, ChangeLog.jnlib, libjnlib-config.h, argparse.c
588         * argparse.h, dotlock.c, dotlock.h, dynload.h, logging.c
589         * logging.h, mischelp.c, mischelp.h, stringhelp.c, stringhelp.h
590         * strlist.c, strlist.h, types.h, utf8conv.c, utf8conv.h
591         * w32-afunix.c, w32-afunix.h, w32-reg.c, w32help.h, xmalloc.c
592         * xmalloc.h, t-stringhelp.c, t-support.c, t-support.h
593         * t-timestuff.c, t-w32-reg.c: Move from jnlib to here.
594
595         * init.c: Remove "estream.h".
596         * util.h: Include "estream.h".
597
598         * xasprintf.c, ttyio.c: Remove "estream-printf.h".
599
600 2010-03-08  Werner Koch  <wk@g10code.com>
601
602         * exechelp.c [!HAVE_SIGNAL_H]: Do not include signal.h.
603         (DETACHED_PROCESS, CREATE_NEW_PROCESS_GROUP) [W32CE]: Provide stubs.
604
605         * iobuf.h (iobuf_ioctl_t): New.  Use the new macros instead of the
606         hard wired values.
607         * iobuf.c (iobuf_append): Remove.
608         (iobuf_fdopen): Factor code out to ...
609         (do_iobuf_fdopen): ... new.
610         (iobuf_fdopen_nc): New.
611         (iobuf_open_fd_or_name): Implement using iobuf_fdopen_nc.
612
613         * iobuf.c (INVALID_FD): Replace by GNUPG_INVALID_FD.
614         (fp_or_fd_t): Replace by gnupg_fd_t.
615         (my_fileno): Replace by the FD2INT macro.
616         (FILEP_OR_FD_FOR_STDIN, FILEP_OR_FD_FOR_STDOUT): Rename to
617         FD_FOR_STDIN, FD_FOR_STDOUT.
618         (file_filter): Make full use of FD_FOR_STDIN.
619         (USE_SETMODE): Remove.  Not needed without stdio.
620         (my_fopen_ro, my_fopen): Replace unneeded macros.
621
622         * iobuf.c [FILE_FILTER_USES_STDIO]: Remove all code.  It has not
623         been used for a long time.
624
625         * exechelp.h: Include "estream.h".
626
627         * exechelp.c (gnupg_spawn_process): Change OUTFILE to an estream_t.
628
629 2010-03-02  Werner Koch  <wk@g10code.com>
630
631         * estream.c, estream.h, estream-printf.c, estream-printf.h: Update
632         from libestream.
633
634 2010-03-01  Werner Koch  <wk@g10code.com>
635
636         * signal.c [!HAVE_SIGNAL_H]: Don't include signal.h.
637
638         * iobuf.c (direct_open) [W32CE]: Make filename to wchar_t.
639         (iobuf_cancel) [W32CE]: Use DeleteFile.
640
641         * gettime.c (dump_isotime): Use "%s" to print "none".
642
643         * homedir.c (standard_homedir) [W32CE]: Use wchar_t to create the
644         directory.
645         (w32_rootdir) [W32CE]: Likewise.
646
647         * sysutils.c (translate_sys2libc_fd) [W32CE]: Add support.
648         (gnupg_tmpfile) [W32CE]: Ditto.
649         (_gnupg_getenv) [W32CE]: New.
650
651         * util.h (getpid, getenv) [W32CE]: New.
652
653         * i18n.c (i18n_switchto_utf8)
654         (i18n_switchback) [USE_SIMPLE_GETTEXT]: Use new function from
655         libgpg-error which supports proper restoring.
656
657         * sysutils.c (get_session_marker): Simplified by using gcrypt.
658
659 2009-12-08  Marcus Brinkmann  <marcus@g10code.de>
660
661         * Makefile.am (audit-events.h, status.h) [!MAINTAINER_MODE]: No
662         longer include these rules if not in maintainer mode.
663
664 2009-12-08  Werner Koch  <wk@g10code.com>
665
666         * userids.h, userids.c: New.
667         (classify_user_id): Merged from similar fucntions in sm/ and g10/.
668
669         * dns-cert.c (get_dns_cert): Add support for ADNS.
670
671 2009-12-08  Marcus Brinkmann  <marcus@g10code.de>
672
673         * asshelp.c (start_new_gpg_agent): Convert posix FD to assuan FD.
674
675         * asshelp.c (start_new_gpg_agent) [HAVE_W32_SYSTEM]: Add missing
676         argument in assuan_socket_connect invocation.
677         * iobuf.c (iobuf_open_fd_or_name): Fix type of FD in function
678         declaration.
679
680 2009-12-07  Werner Koch  <wk@g10code.com>
681
682         * pka.c (get_pka_info): Add support for ADNS.
683         * src.v (getsrv): Add support for ADNS.
684
685         * srv.c (getsrv): s/xrealloc/xtryrealloc/.
686
687 2009-12-04  Werner Koch  <wk@g10code.com>
688
689         * Makefile.am (audit-events.h, status-codes.h): Create files in
690         the source dir.  Fixes bug#1164.
691
692 2009-12-02  Werner Koch  <wk@g10code.com>
693
694         * audit.c (proc_type_decrypt, proc_type_sign): Implemented.
695         (proc_type_verify): Print hash algo infos.
696         * audit.h (AUDIT_DATA_CIPHER_ALGO, AUDIT_BAD_DATA_CIPHER_ALSO)
697         (AUDIT_NEW_RECP, AUDIT_DECRYPTION_RESULT, AUDIT_RECP_RESULT)
698         (AUDIT_ATTR_HASH_ALGO, AUDIT_SIGNED_BY, AUDIT_SIGNING_DONE):
699
700 2009-11-05  Marcus Brinkmann  <marcus@g10code.de>
701
702         * asshelp.c (start_new_gpg_agent): Update use of
703         assuan_socket_connect and assuan_pipe_connect.
704
705 2009-11-02  Marcus Brinkmann  <marcus@g10code.de>
706
707         * get-passphrase.c (default_inq_cb, membuf_data_cb): Change return
708         type to gpg_error_t.
709
710 2009-10-28  Werner Koch  <wk@g10code.com>
711
712         * status.h (STATUS_MOUNTPOINT): New.
713
714 2009-10-16  Marcus Brinkmann  <marcus@g10code.com>
715
716         * Makefile.am (libcommon_a_CFLAGS): Use LIBASSUAN_CFLAGS instead
717         of LIBASSUAN_PTH_CFLAGS.
718
719 2009-10-13  Werner Koch  <wk@g10code.com>
720
721         * exechelp.c (gnupg_kill_process): New.
722
723 2009-09-29  Werner Koch  <wk@g10code.com>
724
725         * exechelp.c (create_inheritable_pipe): Rename to
726         create_inheritable_pipe_w.
727         (create_inheritable_pipe_r): New.
728         (gnupg_create_outbound_pipe): New.
729
730         * iobuf.h: Include "sysutils.h"
731
732         * iobuf.c (iobuf_open_fd_or_name): New.
733         (iobuf_get_fname_nonnull): New.
734
735 2009-09-23  Marcus Brinkmann  <marcus@g10code.de>
736
737         * asshelp.c (start_new_gpg_agent): Allocate assuan context before
738         starting server.
739
740 2009-09-03  Werner Koch  <wk@g10code.com>
741
742         Update from libestream:
743         * estream-printf.c: Include stdint.h only if HAVE_STDINT_H is
744         defined.
745         * estream-printf.c: Remove all test code.  Use macro DEBUG instead
746         of TEST for debugging.
747         * estream-printf.c (pr_float): Make buffer larger for silly high
748         numbers.
749
750 2009-08-11  David Shaw  <dshaw@jabberwocky.com>
751
752         * ttyio.h, ttyio.c (tty_enable_completion): Some ifdefs around
753         HAVE_LIBREADLINE to allow building when readline isn't available.
754
755 2009-08-06  Werner Koch  <wk@g10code.com>
756
757         * status.h (STATUS_INV_SGNR, STATUS_NO_SGNR): New.
758         * status.c (get_inv_recpsgnr_code): New.
759
760 2009-07-23  David Shaw  <dshaw@jabberwocky.com>
761
762         * srv.c (getsrv): Fix type-punning warning.
763
764 2009-07-23  Werner Koch  <wk@g10code.com>
765
766         * util.h (GPG_ERR_NOT_ENABLED): New.
767         * audit.h (enum): Add AUDIT_CRL_CHECK.
768         * audit.c (proc_type_verify): Show CRL check result.
769
770 2009-07-06  Werner Koch  <wk@g10code.com>
771
772         * get-passphrase.c (struct agentargs): Add SESSION_ENV and remove
773         obsolete args.
774         (gnupg_prepare_get_passphrase): Ditto.
775
776         * session-env.c, session-env.h: New.
777         * t-session-env.c: New.
778         * Makefile.am (common_sources, module_tests): Add them.
779         * asshelp.h: Include "session-env.h"
780         * asshelp.c (send_one_option): Add arg PUTENV.
781         (send_pinentry_environment): Replace most args by SESSION_ENV and
782         rewrite fucntion.
783         (start_new_gpg_agent): Likewise.
784
785         * t-exechelp.c (test_close_all_fds): Remove debug code.
786
787 2009-07-01  Werner Koch  <wk@g10code.com>
788
789         * sexputil.c (get_pk_algo_from_canon_sexp): New.
790
791 2009-06-29  Werner Koch  <wk@g10code.com>
792
793         * estream.c (BUFFER_ROUND_TO_BLOCK): Remove unused macro.
794         (es_func_mem_write): Rewrite reallocation part.
795
796         * estream.c (es_write_sanitized_utf8_buffer): Typo typo fix.
797
798 2009-06-25  Werner Koch  <wk@g10code.com>
799
800         * estream.c (es_write_sanitized_utf8_buffer): Typo fix.
801
802 2009-06-24  Werner Koch  <wk@g10code.com>
803
804         * estream.c (es_read_line): In the malloc error case, set
805         MAX_LENGTH to 0 only if requested.
806         * xreadline.c (read_line): Ditto.
807         * estream.c (es_write_sanitized_utf8_buffer): Pass on error from
808         es_fputs.
809         * sexputil.c (get_rsa_pk_from_canon_sexp): Check for error after
810         the loop.  Reported by Fabian Keil.
811
812 2009-06-22  Werner Koch  <wk@g10code.com>
813
814         * estream.c (es_pth_read, es_pth_write) [W32]: New.
815         (ESTREAM_SYS_READ, ESTREAM_SYS_WRITE) [HAVE_PTH]: Use them.
816
817 2009-06-03  Werner Koch  <wk@g10code.com>
818
819         * estream.c (es_convert_mode): Rewrite and support the "x" flag.
820
821 2009-05-28  David Shaw  <dshaw@jabberwocky.com>
822
823         From 1.4:
824
825         * http.h, http.c (send_request) Pass in a STRLIST for additional
826         headers.  Change all callers.
827
828 2009-05-27  David Shaw  <dshaw@jabberwocky.com>
829
830         From 1.4:
831
832         * http.h, http.c (send_request): Pass in srvtag and make its
833         presence sufficient to turn the feature on.
834         (http_open): From here.
835         (http_document): And here.
836
837         * srv.c (getsrv): Raise maximum packet size to 2048, as PACKETSZ
838         is too small these days.
839
840 2009-05-22  Werner Koch  <wk@g10code.com>
841
842         * ttyio.c (tty_cleanup_after_signal): New.
843
844 2009-05-19  Werner Koch  <wk@g10code.com>
845
846         * simple-pwquery.c (agent_open): Use SUN_LEN
847         (JNLIB_NEED_AFLOCAL): Define and include mischelp.h.
848
849 2009-05-07  Werner Koch  <wk@g10code.com>
850
851         * sexputil.c (get_rsa_pk_from_canon_sexp): New.
852         * t-sexputil.c (test_make_canon_sexp_from_rsa_pk): Extend the test.
853
854 2009-04-28  Werner Koch  <wk@g10code.com>
855
856         * sexputil.c (make_canon_sexp_from_rsa_pk): New.
857         * t-sexputil.c (test_make_canon_sexp_from_rsa_pk): New.
858
859 2009-04-01  Werner Koch  <wk@g10code.com>
860
861         * iobuf.c: Port David's changes from 1.4:
862         (fd_cache_invalidate): Pass return code from close back.
863         (direct_open, iobuf_ioctl): Check that return value.
864         (fd_cache_synchronize): New.
865         (iobuf_ioctl): Add new sub command 4 (fsync).
866
867         * iobuf.c (fd_cache_strcmp): New. Taken from 1.4.
868         (fd_cache_invalidate, fd_cache_close, fd_cache_open):  Use it.
869
870         * exechelp.c (gnupg_spawn_process): Implement new flag bit 6.
871         * sysutils.c (gnupg_allow_set_foregound_window): Allow the use of
872         ASFW_ANY.
873
874         * membuf.c (put_membuf, get_membuf): Wipe memory on out of core.
875
876 2009-03-31  Werner Koch  <wk@g10code.com>
877
878         * percent.c (percent_unescape, percent_plus_unescape): New.
879         (percent_plus_unescape_inplace, percent_unescape_inplace): New.
880         (do_plus_or_plain_unescape, count_unescape, do_unescape): New.
881         (do_unescape_inplace): New.
882         * t-percent.c (test_percent_plus_escape): Test percent_plus_unescape.
883
884         * get-passphrase.c, get-passphrase.h: New.
885         * Makefile.am (without_pth_sources): New.
886
887 2009-03-18  Werner Koch  <wk@g10code.com>
888
889         * exechelp.c: Include sys/resource.h and sys/stat.h.
890         (get_max_open_fds): New.
891         (do_exec): Use it.
892         (get_all_open_fds): New.
893         (close_all_fds): New.
894         (do_exec): Use close_all_fds.
895         * t-exechelp.c: New.
896
897 2009-03-13  David Shaw  <dshaw@jabberwocky.com>
898
899         * http.c (do_parse_uri): Properly handle IPv6 literal addresses as
900         per RFC-2732.  Adapted from patch by Phil Pennock.
901
902 2009-03-12  Werner Koch  <wk@g10code.com>
903
904         * gettime.c: Include i18n.h.
905         (dump_isotime): New.
906
907 2009-03-06  Werner Koch  <wk@g10code.com>
908
909         * sexputil.c (make_canon_sexp): New.
910
911 2009-03-03  Werner Koch  <wk@g10code.com>
912
913         * exechelp.c (do_exec): Make sure that /dev/null connected FDs are
914         not closed.
915
916 2009-01-19  Werner Koch  <wk@g10code.com>
917
918         * audit.c (writeout_li): Translate a few more result strings.
919         Fixes bug#970.
920
921         * convert.c (hex2str): Fix optimization to append a nul character.
922
923 2008-12-05  Werner Koch  <wk@g10code.com>
924
925         * percent.c, t-percent.c: New.
926
927         * exechelp.c (gnupg_spawn_process, gnupg_spawn_process_fd)
928         (gnupg_spawn_process_detached) [W32]: Remove debug output.
929
930 2008-11-20  Werner Koch  <wk@g10code.com>
931
932         * audit.c (writeout_li): Translate OKTEXT.
933
934 2008-11-04  Werner Koch  <wk@g10code.com>
935
936         * i18n.c (i18n_init) [USE_SIMPLE_GETTEXT]: Adjust for changed
937         w32-gettext.c.
938         * homedir.c (gnupg_localedir): New.
939
940 2008-10-20  Werner Koch  <wk@g10code.com>
941
942         * http.c (http_register_tls_callback) [!HTTP_USE_GNUTLS]: Mark
943         unused arg.
944         * localename.c (do_nl_locale_name): Ditto.
945         * audit.c (event2str): Silent gcc warning.
946         * sysutils.c (translate_sys2libc_fd): Mark unused arg.
947         (translate_sys2libc_fd_int): Ditto.
948         * iobuf.c (translate_file_handle): Ditto.
949         * asshelp.c (send_one_option): Ditto.
950         * exechelp.c (gnupg_spawn_process): Ditto.
951         * signal.c (got_usr_signal): Ditto
952         * estream.c (es_func_fd_create) [!W32]: Ditto.
953         (es_func_fp_create) [!W32]: Ditto.
954         (es_write_hexstring): Ditto.
955         (dummy_mutex_call_void, dummy_mutex_call_int) [HAVE_PTH]: New.
956         (ESTREAM_MUTEX_LOCK, ESTREAM_MUTEX_UNLOCK, ESTREAM_MUTEX_TRYLOCK)
957         (ESTREAM_MUTEX_INITIALIZE) [HAVE_PTH]: Use dummy calls so to mark
958         unused arg.
959
960 2008-10-19  Werner Koch  <wk@g10code.com>
961
962         * estream-printf.c (estream_vsnprintf): Fix return value.
963         (check_snprintf): Add a new test.
964         (one_test) [W32]: Disable test.
965
966 2008-10-17  Werner Koch  <wk@g10code.com>
967
968         * util.h (snprintf) [W32]: Redefine to estream_snprintf.
969
970 2008-09-03  Werner Koch  <wk@g10code.com>
971
972         * convert.c (hex2str): New.
973         (hex2str_alloc): New.
974         * t-convert.c (test_hex2str): New.
975
976 2008-08-19  Werner Koch  <wk@g10code.com>
977
978         * iobuf.c: Avoid passing a NULL (iobuf_t)->desc to the log
979         function.  Should in general never be NULL, but well.  Reported by
980         M. Heneka.
981
982 2008-06-26  Werner Koch  <wk@g10code.com>
983
984         * estream.c (es_write_sanitized): Loose check for control
985         characters to better cope with utf-8.  The range 0x80..0x9f is
986         nowadays not anymore accidently used for control charaters.
987
988 2008-06-25  Marcus Brinkmann  <marcus@g10code.de>
989
990         Revert last three changes related to handle translation.
991         * sysutils.c:
992         (FD_TRANSLATE_MAX, fd_translate, fd_translate_len)
993         (translate_table_init, translate_table_lookup): Removed.
994         * iobuf.c (check_special_filename): Do not use
995         translate_table_lookup.
996         * sysutils.h (translate_table_init, translate_table_lookup):
997         Remove prototypes.
998
999 2008-06-19  Werner Koch  <wk@g10code.com>
1000
1001         * sysutils.c: Remove <ctype.h>.
1002         (fd_translate_max): Use macro for the size.
1003         (translate_table_init): Protect read against EINTR and replace
1004         isspace by spacep.
1005
1006 2008-06-18  Marcus Brinkmann  <marcus@g10code.de>
1007
1008         * sysutils.c (TRANS_MAX): Bump up to 350 to be on the safe side.
1009
1010         * sysutils.h (translate_table_init, translate_table_lookup): New
1011         prototypes.
1012         * sysutils.c: Include <ctype.h>.
1013         (FD_TRANSLATE_MAX): New macro.
1014         (fd_translate, fd_translate_len): New static variables.
1015         (translate_table_init, translate_table_lookup): New functions.
1016         (translate_sys2libc_fd_int): Translate file descriptor.
1017         * iobuf.c (check_special_filename): Translate handle values from
1018         special filenames.
1019
1020 2008-06-16  Werner Koch  <wk@g10code.com>
1021
1022         * homedir.c (w32_commondir): New.
1023         (gnupg_sysconfdir): Use it.
1024
1025 2008-06-09  Werner Koch  <wk@g10code.com>
1026
1027         * b64dec.c: New.
1028
1029 2008-06-05  Werner Koch  <wk@g10code.com>
1030
1031         * util.h (gnupg_copy_time): Replace strcpy by memcpy.
1032
1033 2008-05-26  Werner Koch  <wk@g10code.com>
1034
1035         * asshelp.c (send_one_option, send_pinentry_environment): use
1036         xfree and xtrystrdup.
1037
1038         * i18n.c (i18n_switchto_utf8) [USE_SIMPLE_GETTEXT]: Return NULL.
1039
1040         * homedir.c (gnupg_module_name): Add
1041         GNUPG_MODULE_NAME_CONNECT_AGENT and GNUPG_MODULE_NAME_GPGCONF.
1042
1043 2008-04-21  Werner Koch  <wk@g10code.com>
1044
1045         * http.c (http_wait_response) [W32]: Use DuplicateHandle because
1046         it is a socket.
1047         (cookie_read) [W32]: Use recv in place of read.
1048
1049 2008-04-08  Werner Koch  <wk@g10code.com>
1050
1051         * i18n.c (i18n_switchto_utf8, i18n_switchback)
1052         [USE_SIMPLE_GETTEXT]: Implement.
1053
1054 2008-04-07  Werner Koch  <wk@g10code.com>
1055
1056         * b64enc.c (b64enc_start): Detect PGP mode.
1057         (b64enc_finish): Write PGP CRC.
1058         * util.h (struct b64state): Add field CRC.
1059         * t-b64.c: New.
1060
1061         * pka.c (get_pka_info): Use xtrymalloc and check result.
1062
1063 2008-03-25  Werner Koch  <wk@g10code.com>
1064
1065         * localename.c: Strip all W32 code.  Include w32help.h.
1066         (gnupg_messages_locale_name) [W32]: Use the gettext_localename.
1067
1068 2008-03-17  Werner Koch  <wk@g10code.com>
1069
1070         * iobuf.c (IOBUF_BUFFER_SIZE): Actually use this macro.
1071
1072         * simple-pwquery.c (agent_send_all_options): Fix last change.
1073
1074 2008-03-06  Werner Koch  <wk@g10code.com>
1075
1076         * simple-pwquery.c (agent_send_all_options): Add support for
1077         XAUTHORITY and PINENTRY_USER_DATA.
1078
1079 2008-02-15  Marcus Brinkmann  <marcus@g10code.de>
1080
1081         * exechelp.c (gnupg_spawn_process_fd): Add flag DETACHED_PROCESS
1082         unconditionally (required for all callers at the moment).
1083
1084 2008-02-14  Werner Koch  <wk@g10code.com>
1085
1086         * sysutils.c (gnupg_allow_set_foregound_window): New.
1087         (WINVER) [W32]: Define.
1088
1089 2008-01-31  Werner Koch  <wk@g10code.com>
1090
1091         * audit.c (audit_print_result): Make sure that the output is
1092         always UTF8.
1093
1094 2008-01-27  Werner Koch  <wk@g10code.com>
1095
1096         * exechelp.c (gnupg_spawn_process): Add arg FLAGS and changed all
1097         callers to pass 0 for it.
1098
1099 2007-12-13  Werner Koch  <wk@g10code.com>
1100
1101         * sexputil.c (hash_algo_from_sigval): New.
1102         * t-sexputil.c: New.
1103         * Makefile.am (module_tests): Add it.
1104
1105 2007-12-11  Werner Koch  <wk@g10code.com>
1106
1107         * asshelp.c (send_pinentry_environment): Allow using of old
1108         gpg-agents not capabale of the xauthority and pinentry_user_data
1109         options.
1110
1111 2007-12-04  Werner Koch  <wk@g10code.com>
1112
1113         * Makefile.am (t_helpfile_LDADD, module_maint_tests): New.
1114         * t-helpfile.c: New.
1115         * helpfile.c: New.
1116         * membuf.h (is_membuf_ready, MEMBUF_ZERO): New.
1117         * localename.c: New.  Taken from gettext with modifications as done
1118         for GpgOL.  Export one new function.
1119         * util.h (gnupg_messages_locale_name, gnupg_get_help_string): Added.
1120
1121         * sysutils.c (gnupg_reopen_std): New.  Taken from ../g10/gpg.c.
1122
1123 2007-11-27  Werner Koch  <wk@g10code.com>
1124
1125         * Makefile.am (CLEANFILES): New.
1126
1127         * homedir.c (dirmngr_socket_name): Use CSIDL_WINDOWS.
1128
1129 2007-11-15  Werner Koch  <wk@g10code.com>
1130
1131         * asshelp.c (send_pinentry_environment): Add args XAUTHORITY and
1132         PINENTRY_USER_DATA.
1133         (start_new_gpg_agent): Ditto.
1134
1135 2007-11-07  Werner Koch  <wk@g10code.com>
1136
1137         * status.h: New.
1138         * errors.h: Remove.
1139
1140 2007-11-05  Werner Koch  <wk@g10code.com>
1141
1142         * audit.c, audit.h: New.
1143         * Makefile.am: Add rules to build audit-events.h.
1144         * exaudit.awk: New.
1145         * mkstrtable.awk: New.  Taken from libgpg-error.
1146
1147 2007-10-19  Werner Koch  <wk@g10code.com>
1148
1149         * i18n.c (i18n_switchto_utf8, i18n_switchback): New.
1150
1151 2007-10-01  Werner Koch  <wk@g10code.com>
1152
1153         * sysutils.h (FD2INT, INT2FD): New.
1154
1155 2007-09-21  Werner Koch  <wk@g10code.com>
1156
1157         * homedir.c (default_homedir): Make registry work.  Reported by
1158         Marc Mutz.
1159
1160 2007-08-29  Werner Koch  <wk@g10code.com>
1161
1162         * exechelp.c (gnupg_wait_process): Add arg EXITCODE.  Changed all
1163         callers.
1164         (gnupg_create_inbound_pipe): New.
1165         * util.h (GNUPG_MODULE_NAME_GPGSM, GNUPG_MODULE_NAME_GPG): New.
1166         * homedir.c (gnupg_module_name): Add them
1167
1168 2007-08-28  Werner Koch  <wk@g10code.com>
1169
1170         * gettime.c (check_isotime, add_isotime): New.  Originally written
1171         for DirMngr by me.
1172         (add_days_to_isotime): New.
1173         (date2jd, jd2date, days_per_month, days_per_year): New. Taken from
1174         my ancient (1988) code used in Wedit (time2.c).
1175
1176 2007-08-27  Werner Koch  <wk@g10code.com>
1177
1178         * util.h (GNUPG_MODULE_NAME_CHECK_PATTERN): New.
1179         * homedir.c (gnupg_module_name): Add it.
1180         * exechelp.c (w32_fd_or_null) [W32]: New.
1181         (gnupg_spawn_process_fd): New.
1182         (gnupg_wait_process) [W32]: Close the handle after if the process has
1183         returned.
1184
1185 2007-08-22  Werner Koch  <wk@g10code.com>
1186
1187         Updated estream from libestream.
1188
1189         * estream.c (mem_malloc, mem_realloc, mem_free): New.  Use them
1190         instead of the ES_MEM_foo.
1191         * estream.c (estream_cookie_mem): Remove members DONT_FREE,
1192         APPEND_ZERO, PTR and SIZE.  Add MEMORY_LIMIT.  Put GROW into a new
1193         FLAGS struct.
1194         (es_func_mem_create): Remove APPEND_ZERO, DONT_FREE, PTR and
1195         SIZE.  Add MEMORY_LIMIT.
1196         (es_func_mem_write, es_func_mem_seek, es_func_mem_destroy): Revamp.
1197         (es_open_memstream): Change API to just take a memory limit and a
1198         mode argument.  Rename to ..
1199         (es_fopenmem): .. this.
1200         (HAVE_W32_SYSTEM) [_WIN32]: Define if not defined.
1201         (tmpfd) [W32]: Implement directly using the W32 API.
1202         (es_fgets): Rewrite without using doreadline.
1203
1204 2007-08-21  Werner Koch  <wk@g10code.com>
1205
1206         * sysutils.c (gnupg_tmpfile): New.
1207         * t-sysutils.c: New.
1208         * Makefile.am (module_tests): Add t-sysutils.
1209
1210 2007-08-20  Werner Koch  <wk@g10code.com>
1211
1212         * exechelp.c [W32]: Redefine X_OK to F_OK.
1213
1214 2007-08-16  Werner Koch  <wk@g10code.com>
1215
1216         * Makefile.am (t_convert_DEPENDENCIES): Remove
1217         ($(PROGRAMS)): Remove.
1218         (t_common_ldadd): Use libcommon.a and not the macro.
1219
1220 2007-08-14  Werner Koch  <wk@g10code.com>
1221
1222         * homedir.c (dirmngr_socket_name): New.
1223
1224 2007-08-07  Werner Koch  <wk@g10code.com>
1225
1226         * tlv.c, tlv.h: Move from ../scd/.
1227         * tlv.c (parse_sexp, parse_ber_header): Add ERRSOURCE arg and prefix
1228         name with a _.
1229         * tlv.h: Use macro to convey ERRSOURCE.
1230
1231 2007-08-02  Werner Koch  <wk@g10code.com>
1232
1233         * gc-opt-flags.h: New.
1234
1235 2007-08-01  Werner Koch  <wk@g10code.com>
1236
1237         * estream-printf.c (read_dummy_value): Removed as it is useless now.
1238         (read_values): Remove check on !vaargs which is not anymore needed
1239         and anyway not portable.  Reported by Peter O'Gorman.
1240
1241 2007-07-16  Werner Koch  <wk@g10code.com>
1242
1243         * estream.c (es_func_file_create): Clear NO_CLOSE flag.
1244
1245 2007-07-12  Werner Koch  <wk@g10code.com>
1246
1247         * sysutils.h (gnupg_fd_t): New.
1248         * sysutils.c (translate_sys2libc_fd): Use that type instead of int.
1249         (translate_sys2libc_fd_int): New.
1250
1251 2007-07-09  Werner Koch  <wk@g10code.com>
1252
1253         * t-gettime.c (test_isotime2epoch): Use time_t and not u32.
1254
1255 2007-07-05  Werner Koch  <wk@g10code.com>
1256
1257         * t-gettime.c: New.
1258         * gettime.c (isotime2epoch, epoch2isotime): New.
1259
1260 2007-07-04  Werner Koch  <wk@g10code.com>
1261
1262         * estream.c (es_init_do): Do not throw an error if pth has already
1263         been initialized.
1264
1265 2007-06-26  Werner Koch  <wk@g10code.com>
1266
1267         * Makefile.am ($(PROGRAMS)): New.
1268
1269         * util.h (init_common_subsystems): Moved to ..
1270         * init.h: .. New.
1271         * util.h: Include init.h.
1272
1273         * homedir.c (standard_homedir): New.
1274         (default_homedir) [W32]: Reimplemented in terms of
1275         standard_homedir.  Fixed memory leak.
1276
1277 2007-06-25  Werner Koch  <wk@g10code.com>
1278
1279         * iobuf.c: Add more documentation and slighly restructured macro
1280         defintion for better readability.
1281         (FILEP_OR_FD): Rename to fp_or_fd_t.
1282         (CLOSE_CACHE): Rename to close_cache_t.
1283
1284         * sysutils.c (translate_sys2libc_fd): New using the code from iobuf.c.
1285         * iobuf.c: Include sysutils.h.
1286         (iobuf_translate_file_handle): Remove.
1287         (translate_file_handle): Use new function.
1288
1289         * estream-printf.c [TEST]: Header including fixes.
1290         (do_format): Do not append a trailing Nul.  This avoids spurious
1291         Nuls in the es_printf output.
1292         (estream_vsnprintf, estream_vasprintf): Take this in account.
1293
1294         * estream.h (struct es__stream): Change FLAGS to a bit structure.
1295         (ES__FLAG_WRITING): Replace by a bit from FLAGS.  * estream.c
1296         (struct estream_internal): Rename FLAGS to MODEFLAGS so that they
1297         are not confused with the estream flags.
1298         (es_initialize, es_create): Add arg MODEFLAGS so that we can setup
1299         the intial writemode.  Changed all callers to pass them.
1300         (es_convert_mode): Set O_BINARY.
1301         (es_func_fd_create, es_func_fp_create, es_func_file_create) [W32]:
1302         Call setmode if requested.
1303
1304 2007-06-24  Werner Koch  <wk@g10code.com>
1305
1306         * estream.c (do_fpopen, es_fpopen, es_fpopen_nc): New.
1307         (es_func_fp_create, es_func_fp_read, es_func_fp_write)
1308         (es_func_fp_seek, es_func_fp_destroy): New.
1309
1310 2007-06-22  Werner Koch  <wk@g10code.com>
1311
1312         * estream.c (es_fdopen): Factored code out to..
1313         (do_fdopen): .. new.
1314         (es_fdopen_nc): New.
1315         (estream_cookie_fd): Add field NO_CLOSE.
1316         (es_func_fd_create): Add arg NO_CLOSE and changed all callers.
1317         (es_func_fd_destroy): Handle the new flag.
1318
1319         * homedir.c (gnupg_libexecdir) [W32]: Factor code out to ..
1320         (w32_rootdir): .. new.
1321         (gnupg_sysconfdir, gnupg_libdir, gnupg_datadir) [W32]: Return
1322         name based on w32_rootdir().
1323
1324 2007-06-21  Werner Koch  <wk@g10code.com>
1325
1326         * membuf.h (get_membuf_len): New.
1327
1328         * membuf.c (init_membuf_secure): Really allocate in secure memory.
1329         (put_membuf_str): New.
1330
1331         * ttyio.c (tty_getf): New.
1332
1333         * util.h (ctrl_t): Declare it here.
1334
1335         * asshelp.c (start_new_gpg_agent): New.  Based on code from
1336         ../sm/call-agent.c
1337
1338 2007-06-20  Werner Koch  <wk@g10code.com>
1339
1340         * sysutils.c (gnupg_sleep): New.
1341         * sysutils.h [W32]: Remove _sleep wrapper.  Changed all callers to
1342         use gnupg_sleep.
1343
1344         * exechelp.c (build_w32_commandline_copy): New.
1345         (build_w32_commandline): Factored some code out to new function
1346         and correctly process a PGMNAME with spaces.
1347         (gnupg_spawn_process_detached) [W32]: Implement.
1348
1349 2007-06-14  Werner Koch  <wk@g10code.com>
1350
1351         * simple-pwquery.h (MAP_SPWQ_ERROR_IMPL): New.
1352         (SPWQ_NO_PIN_ENTRY): New.
1353         * simple-pwquery.c (simple_pw_set_socket): New.
1354         (agent_open): Use it if GPG_AGENT_INFO is not set.
1355         (simple_pwquery): Extended to allow returning of otehyr error codes.
1356
1357         * util.h (GNUPG_MODULE_NAME_AGENT, GNUPG_MODULE_NAME_PINENTRY)
1358         (GNUPG_MODULE_NAME_SCDAEMON, GNUPG_MODULE_NAME_DIRMNGR)
1359         (GNUPG_MODULE_NAME_PROTECT_TOOL): New.
1360         * homedir.c (gnupg_module_name): New.
1361         (gnupg_bindir): New.
1362
1363 2007-06-12  Werner Koch  <wk@g10code.com>
1364
1365         * homedir.c (gnupg_sysconfdir): New.
1366         (gnupg_libexecdir): New.  Taken from g10/misc.c:get_libexecdir.
1367         (gnupg_datadir): New.
1368         (gnupg_libdir): New.
1369
1370         * http.c (connect_server) [W32]: Do not call init_sockets if
1371         HTTP_NO_WSASTARTUP is defined.
1372
1373         * init.c: New.
1374
1375         * estream.c (es_init_do): Init stream lock here because we can't
1376         use a static initialization with W32pth.
1377
1378 2007-06-11  Werner Koch  <wk@g10code.com>
1379
1380         * Makefile.am (t_common_ldadd): Use libcommonstd macro.
1381
1382 2007-06-06  Werner Koch  <wk@g10code.com>
1383
1384         * Makefile.am: Include am/cmacros.am.
1385
1386         * sysutils.h [W32]: Remove prototypes for the registry access.
1387         * w32reg.c:  Move to ../jnlib/w32-reg.c.
1388
1389         * i18n.c (i18n_init): New.
1390
1391         * simple-gettext.c: Remove.
1392
1393         * iobuf.c (iobuf_get_filelength): Rename SIZE to EXSIZE to silent
1394         shadowing warning.
1395
1396 2007-06-04  Werner Koch  <wk@g10code.com>
1397
1398         * http.c [W32]: Include unistd.h also in this case.
1399         (write_server) [W32]: Fixed error code.
1400         (init_sockets): Fixed syntax error.
1401         (cookie_close): Replace close by sock_close macro.
1402
1403         * estream.c [w32]: Do not init Mutex.
1404
1405         * Makefile.am (common_sources) [USE_SNS_SRV]: Build srv.c only
1406         when needed.
1407
1408         * ttyio.c (init_ttyfp) [W32]: Do not use TTYFP.
1409
1410         * util.h: Include ../jnlib/dynload.h.
1411
1412         * dynload.h:  Move to ../jnlib.
1413
1414 2007-05-30  Werner Koch  <wk@g10code.com>
1415
1416         * estream.c (MEM_FREE, MEM_ALLOC, MEM_REALLOC): Prefix with ES_ as
1417         windows.h also has such definitions,
1418
1419 2007-05-15  Werner Koch  <wk@g10code.com>
1420
1421         * util.h: Do not include gnulib's vasprintf.  Redefine asprintf
1422         and vasprintf.
1423
1424         * xasprintf.c (xasprintf, xtryasprintf): Use estream_vasprintf.
1425
1426         * estream-printf.h, estream-printf.c: New.  Taken from current
1427         libestream SVN.
1428         * Makefile.am (common_sources): Add them.
1429
1430 2007-05-14  Werner Koch  <wk@g10code.com>
1431
1432         * sexp-parse.h (smklen): New.
1433         * sexputil.c: Include sexp-parse.h.
1434         (make_simple_sexp_from_hexstr): Replace sprintf by smklen.
1435
1436 2007-05-07  Werner Koch  <wk@g10code.com>
1437
1438         * signal.c (got_fatal_signal): Protect SIG from being clobbered by
1439         a faulty signal implementaion.  Suggested by James Juran.
1440
1441 2007-04-25  Werner Koch  <wk@g10code.com>
1442
1443         * i18n.h (ngettext): New.
1444         * simple-gettext.c (ngettext): New.
1445
1446 2007-04-20  Werner Koch  <wk@g10code.com>
1447
1448         * miscellaneous.c (my_gcry_logger, my_gcry_outofcore_handler):
1449         Moved from gpg-agent to here.
1450         (my_gcry_fatalerror_handler): new.
1451         (setup_libgcrypt_logging): New.
1452
1453 2007-03-19  Werner Koch  <wk@g10code.com>
1454
1455         * miscellaneous.c (print_hexstring): New.
1456         * estream.c (es_fprintf_unlocked): New.
1457         (es_write_sanitized): New.
1458         (es_write_hexstring): New.
1459         (es_write_sanitized_utf8_buffer) [GNUPG_MAJOR_VERSION]: New.
1460
1461 2007-03-09  David Shaw  <dshaw@jabberwocky.com>
1462
1463         From STABLE-BRANCH-1-4
1464
1465         * http.c (do_parse_uri): Remove the hkp port 11371 detection.  We
1466         implement hkp in the keyserver handler, and the support here makes
1467         it appear like a bad hkp request actually succeeded.
1468
1469 2007-01-31  Werner Koch  <wk@g10code.com>
1470
1471         * Makefile.am (t_common_ldadd): Add LIBINCONV and LIBINTL.
1472
1473 2007-01-25  Werner Koch  <wk@g10code.com>
1474
1475         * simple-pwquery.c (simple_pwquery): New arg OPT_CHECK.
1476
1477 2006-12-13  David Shaw  <dshaw@jabberwocky.com>
1478
1479         * Makefile.am (AM_CPPFLAGS): Include intl/ so we can reference the
1480         built-in headers.
1481
1482 2006-11-23  Werner Koch  <wk@g10code.com>
1483
1484         * http.c: Include i18n.h
1485
1486 2006-11-21  Werner Koch  <wk@g10code.com>
1487
1488         * estream.c: Remove explicit Pth soft mapping diabling becuase it
1489         is now done in config.h.
1490
1491 2006-11-15  Werner Koch  <wk@g10code.com>
1492
1493         * estream.c: Disabled Pth soft mapping.
1494         (my_funopen_hook_ret_t): New.
1495         (print_fun_writer): Use it here.
1496
1497         * iobuf.c (fd_cache_close): Use %d instead of %p for debug output.
1498
1499 2006-11-03  Werner Koch  <wk@g10code.com>
1500
1501         * Makefile.am (t_convert_DEPENDENCIES): Add libcommon.  From
1502         Gentoo.
1503
1504 2006-10-24  Marcus Brinkmann  <marcus@g10code.de>
1505
1506         * Makefile.am (libcommon_a_CFLAGS): Add $(LIBASSUAN_CFLAGS).
1507         (libsimple_pwquery_a_CFLAGS): New variable.
1508
1509 2006-10-20  Werner Koch  <wk@g10code.com>
1510
1511         * convert.c (hex2bin): New.
1512
1513 2006-10-17  Werner Koch  <wk@g10code.com>
1514
1515         * estream.c (struct estream_internal, es_initialize)
1516         (es_deinitialize, print_fun_writer, es_print): New and modified
1517         functions to avoid tempfiles for printf style printing.
1518
1519         * Makefile.am (libcommonpth_a_SOURCES): New. We now build a secon
1520         version of the library with explicit Pth support.
1521         * exechelp.c, estream.c: Make use of WITHOUT_GNU_PTH.
1522
1523 2006-10-08  Werner Koch  <wk@g10code.com>
1524
1525         * gpgrlhelp.c: Trun all functions into dummies if readline is not
1526         available.
1527
1528 2006-10-06  Werner Koch  <wk@g10code.com>
1529
1530         * Makefile.am (AM_CFLAGS): Use PTH version of libassuan.
1531
1532         * util.h (GNUPG_GCC_A_SENTINEL): Defined for gcc >= 4.
1533
1534 2006-10-04  David Shaw  <dshaw@jabberwocky.com>
1535
1536         * gpgrlhelp.c: readline requires stdio.h.
1537
1538 2006-10-04  Werner Koch  <wk@g10code.com>
1539
1540         * membuf.c (init_membuf_secure): New.
1541         (put_membuf): Make sure that ERRNO is set even if the underlying
1542         malloc code does not work properly.
1543         (get_membuf): Set ERRNO on error.
1544         (get_membuf): Allow to pass LEN as NULL.
1545
1546 2006-10-02  Werner Koch  <wk@g10code.com>
1547
1548         * iobuf.c (iobuf_unread): Removed.  This code is not required.
1549         Also removed the entire unget buffer stuff.
1550
1551 2006-09-27  Werner Koch  <wk@g10code.com>
1552
1553         * util.h: Do not include strsep.h and strpbrk.h.
1554         (isascii): Removed as it is now in jnlib.
1555
1556         * iobuf.c (pop_filter, underflow, iobuf_close): Free the unget
1557         buffer.
1558
1559 2006-09-27  Florian Weimer <fweimer@bfk.de>  (wk)
1560
1561         * iobuf.c (iobuf_unread): New.
1562
1563 2006-09-22  Werner Koch  <wk@g10code.com>
1564
1565         * i18n.h: Changed license to an all permissive one.
1566
1567         * ttyio.c (tty_get): We need to use readline too.  Added two more
1568         hooks.
1569
1570 2006-09-21  Werner Koch  <wk@g10code.com>
1571
1572         * ttyio.c (tty_private_set_rl_hooks): New.
1573         (tty_enable_completion, tty_disable_completion): Use a hook to
1574         enable readline support.  Now always available.
1575         (tty_cleanup_rl_after_signal): New.
1576
1577         * ttyio.h: Removed readline specific stuff.  Included util.h.
1578         * common-defs.h: New.
1579
1580 2006-09-15  Werner Koch  <wk@g10code.com>
1581
1582         * convert.c: New.
1583         (hexcolon2bin): New.
1584         (bin2hex, bin2hexcolon, do_binhex): New.
1585         * t-convert.c: New
1586
1587 2006-09-14  Werner Koch  <wk@g10code.com>
1588
1589         * util.h (out_of_core): Use new gpg_error_from_syserror function.
1590
1591         * http.c (init_sockets): Changed it to require 2.2 unless it is
1592         build within gnupg 1 where we require 1.1 (and not anymore allow
1593         for 1.0).
1594
1595 2006-09-07  Werner Koch  <wk@g10code.com>
1596
1597         * exechelp.c (gnupg_spawn_process): Factor out post fork code to ..
1598         (do_exec): .. new function.  Allow passing of -1 for the fds.
1599         (gnupg_spawn_process): Terminate gcrypt's secure memory in the child.
1600         (gnupg_spawn_process_detached): New.
1601
1602 2006-09-06  Werner Koch  <wk@g10code.com>
1603
1604         * maperror.c: Removed.
1605
1606         * util.h (out_of_core): New.
1607
1608 2006-09-04  Werner Koch  <wk@g10code.com>
1609
1610         * http.c (http_get_header): New.
1611         (capitalize_header_name, store_header): New.
1612         (parse_response): Store headers away.
1613         (send_request): Return GPG_ERR_NOT_FOUND if connect_server failed.
1614         * http.h: New flag HTTP_FLAG_NEED_HEADER.
1615
1616 2006-08-21  Werner Koch  <wk@g10code.com>
1617
1618         * Makefile.am (libcommon_a_SOURCES): Added keyserver.h
1619
1620         * openpgpdefs.h: New.  Stripped from ..g10/packet.h.
1621
1622 2006-08-16  Werner Koch  <wk@g10code.com>
1623
1624         * keyserver.h: Moved from ../include to here.
1625
1626         * http.c: Include srv.h.
1627
1628         * srv.c, srv.h: New. Taken from GnuPG 1.4
1629
1630 2006-08-14  Werner Koch  <wk@g10code.com>
1631
1632         * http.h (struct http_context_s): Moved to implementation.
1633         * http.c (http_open): Changed call to return a context.
1634         (http_open_document): Ditto.
1635         (http_get_read_ptr, http_get_read_ptr, http_get_status_code): New.
1636         (do_parse_uri): Replaced strlwr by straight code to ease
1637         standalone use of this file.
1638         (http_wait_response): Removed arg STATUS_CODE as it is available
1639         through an accessor function. Adjusted caller.
1640         (http_escape_string): New.
1641
1642         * estream.c (es_read_line): Renamed to ..
1643         (doreadline): .. this.  Changed all callers.
1644         (es_read_line): New.  This is theusual limited getline variabnt as
1645         used at several places.  Here taken and adjusted from xreadline.c
1646         (es_free): New.
1647
1648 2006-08-11  Werner Koch  <wk@g10code.com>
1649
1650         * http.c: Major internal changes to optionallly support GNUTLS and
1651         ESTREAM.
1652         (http_open): Move initialization of the stream ...
1653         (send_request): .. here.
1654         (http_register_tls_callback): New.
1655
1656         * estream.c (es_writen): Try to seek only is a seek function has
1657         been registered.
1658
1659 2006-08-09  Werner Koch  <wk@g10code.com>
1660
1661         * http.c, http.h: New.  Taken from gnupg 1.4.5, merged with
1662         changes done for the Dirmngr project (by g10 Code) and cleaned up
1663         some stuff.
1664         (make_header_line): New. Change all caller to make user of the new
1665         * Makefile.am (libcommon_a_SOURCES): Added http.c and http.h.
1666
1667 2006-05-23  Werner Koch  <wk@g10code.com>
1668
1669         * gettime.c (isotimestamp): New.
1670
1671         * ttyio.c (tty_get_ttyname): Posixly correct usage of ctermid.
1672
1673         * dns-cert.c: New.  Taken from 1.4.3's util/cert.c.
1674         * dns-cert.h: New.
1675
1676 2006-05-22  Werner Koch  <wk@g10code.com>
1677
1678         * pka.c: New. Taked from 1.4.3.
1679         * pka.h: New.
1680         * Makefile.am: Added pka.
1681
1682 2006-05-19  Werner Koch  <wk@g10code.com>
1683
1684         * yesno.c (answer_is_yes_no_default, answer_is_yes_no_quit):
1685         Updated from 1.4.3.
1686         (answer_is_okay_cancel): new.  From 1.4.3.
1687
1688         * miscellaneous.c (match_multistr): New.  Taken from 1.4.3.
1689
1690         * ttyio.c (tty_enable_completion, tty_disable_completion): New
1691         dummy functions.
1692         * ttyio.h: Add prototypes and stubs.
1693
1694 2006-04-19  Werner Koch  <wk@g10code.com>
1695
1696         * iobuf.c (iobuf_get_fd): New.  Taken from 1.4.3.
1697         (iobuf_is_pipe_filename): New.
1698         (pop_filter): Made static.
1699         (iobuf_skip_rest): New.  Orginal patch by Florian
1700         Weimer.  Added new argument PARTIAL.
1701         (block_filter): Remove the old gpg indeterminate length mode.
1702         (block_filter): Properly handle a partial body stream
1703         that ends with a 5-byte length that happens to be zero.
1704         (iobuf_set_block_mode, iobuf_in_block_mode): Removed as
1705         superfluous.
1706         (iobuf_get_filelength): New arg OVERFLOW.
1707         (iobuf_get_filelength) [W32]: Use GetFileSizeEx if available
1708         * miscellaneous.c (is_file_compressed): Take care of OVERFLOW.
1709
1710 2006-04-18  Werner Koch  <wk@g10code.com>
1711
1712         * homedir.c (w32_shgetfolderpath): New.  Taken from gpg 1.4.3.
1713         (default_homedir): Use it.
1714
1715 2005-10-08  Marcus Brinkmann  <marcus@g10code.de>
1716
1717         * signal.c (get_signal_name): Check value of HAVE_DECL_SYS_SIGLIST
1718         instead of just if it is defined.
1719
1720 2005-09-28  Marcus Brinkmann  <marcus@g10code.de>
1721
1722         * Makefile.am (AM_CFLAGS): Add $(LIBASSUAN_CFLAGS).
1723
1724 2005-07-04  Marcus Brinkmann  <marcus@g10code.de>
1725
1726         * simple-pwquery.h (simple_pwclear): New prototype.
1727         * simple-pwquery.c (simple_pwclear): New function.
1728
1729 2005-06-15  Werner Koch  <wk@g10code.com>
1730
1731         * miscellaneous.c (make_printable_string): Made P a void*.
1732
1733         * sexputil.c (keygrip_from_canon_sexp, cmp_simple_canon_sexp):
1734         Fixed signed/unsigned pointer mismatch.
1735         (make_simple_sexp_from_hexstr): Ditto.  This is all too ugly; I
1736         wonder why gcc-4's default is to warn about them and forcing us to
1737         use cast the warning away.
1738         * iobuf.c (block_filter): Ditto.
1739         (iobuf_flush): Ditto.
1740         (iobuf_read_line): Ditto.
1741         (iobuf_read): Make BUFFER a void *.
1742         (iobuf_write): Make BUFFER a const void *.
1743         * ttyio.c (tty_print_utf8_string2): Ditto.
1744         * estream.c (estream_cookie_mem): Make MEMORY unsigned char*.
1745         (es_write): Make BUFFER a void *.
1746         (es_writen): Ditto.
1747         (es_func_fd_read, es_func_fd_write, es_func_mem_read)
1748         (es_func_mem_write): Ditto.
1749         (es_read, es_readn): Ditto.
1750         (es_func_mem_write): Made MEMORY_NEW an unsigned char *.
1751         * estream.h (es_cookie_read_function_t)
1752         (es_cookie_write_function_t): Changed buffer arg to void*.
1753
1754 2005-06-03  Werner Koch  <wk@g10code.com>
1755
1756         * estream.c: Use HAVE_CONFIG_H and not USE_CONFIG_H!
1757         (es_func_fd_read, es_func_fd_write): Protect against EINTR.
1758
1759 2005-06-01  Werner Koch  <wk@g10code.com>
1760
1761         * Makefile.am (AM_CPPFLAGS): Added.
1762
1763         * util.h: Add some includes for gnulib.
1764         (ttyname, isascii): Define them inline.
1765         * fseeko.c, ftello.c: Removed.
1766         * strsep.c, mkdtemp.c: Removed.
1767         * ttyname.c, isascii.c: Removed.
1768
1769 2005-05-31  Werner Koch  <wk@g10code.com>
1770
1771         * dynload.h: s/__inline__/inline/.
1772
1773 2005-05-13  Werner Koch  <wk@g10code.com>
1774
1775         * signal.c (got_fatal_signal): Print the signal number if we can't
1776         get a name for it.
1777         (get_signal_name): Return NULL if no name is available. Fixed
1778         conditional for sys_siglist to the correct one.
1779
1780 2005-04-17  Werner Koch  <wk@g10code.com>
1781
1782         * sexputil.c (cmp_simple_canon_sexp): New.
1783         (make_simple_sexp_from_hexstr): New.
1784
1785 2005-04-07  Werner Koch  <wk@g10code.com>
1786
1787         * sexputil.c: New.
1788
1789 2005-04-11  Marcus Brinkmann  <marcus@g10code.de>
1790
1791         * simple-pwquery.c (simple_pwquery): Use spwq_secure_free.
1792
1793 2005-03-03  Werner Koch  <wk@g10code.com>
1794
1795         * Makefile.am (AM_CFLAGS): Added PTH_CFLAGS.  Noted by Kazu Yamamoto.
1796
1797 2005-02-25  Werner Koch  <wk@g10code.com>
1798
1799         * xasprintf.c (xtryasprintf): New.
1800
1801 2005-01-26  Moritz Schulte  <moritz@g10code.com>
1802
1803         * Makefile.am (libcommon_a_SOURCES): New source files: estream.c,
1804         estream.h.
1805         * estream.c, estream.h: New files.
1806
1807 2005-01-03  Werner Koch  <wk@g10code.com>
1808
1809         * asshelp.c (send_pinentry_environment): Fixed changed from
1810         2004-12-18; cut+paste error for lc-messages.
1811
1812 2004-12-21  Werner Koch  <wk@g10code.com>
1813
1814         * simple-pwquery.c (agent_open) [W32]: Implement for W32.
1815         (readline) [W32]: Use recv instead of read.
1816         (writen) [W32]: Use send instead of write.
1817         (my_stpcpy): Define a stpcpy replacement so that this file
1818         continues to be self-contained.
1819         (agent_send_all_options) [W32]: Don't call ttyname.
1820
1821 2004-12-21  Marcus Brinkmann  <marcus@g10code.de>
1822
1823         * simple-pwquery.h (simple_query): Add prototype.
1824         * simple-pwquery.c (simple_query): New function.
1825
1826 2004-12-21  Werner Koch  <wk@g10code.com>
1827
1828         * signal.c (got_fatal_signal, got_usr_signal)
1829         (got_fatal_signal) [DOSISH]: Don't build.
1830         * simple-gettext.c: Include sysutils.h
1831
1832         * homedir.c: New. Use CSIDL_APPDATA for W32 as the default home
1833         directory.
1834         * Makefile.am (libcommon_a_SOURCES): Add it.
1835         (EXTRA_DIST): Removed mkerror and mkerrtok.
1836
1837 2004-12-20  Werner Koch  <wk@g10code.com>
1838
1839         * sysutils.h [W32]: Define sleep.
1840         * util.h: Add prototype for mkdtemp.
1841
1842         * membuf.c (put_membuf): Wipe out buffer after a failed realloc.
1843
1844 2004-12-19  Werner Koch  <wk@g10code.com>
1845
1846         * maperror.c (map_assuan_err_with_source): Oops, args were swapped.
1847
1848 2004-12-18  Werner Koch  <wk@g10code.com>
1849
1850         * maperror.c (map_assuan_err): Renamed to ..
1851         (map_assuan_err_with_source): .. this and add arg SOURCE.c
1852         * asshelp.c (send_pinentry_environment, send_one_option): Add arg
1853         ERRSOURCE.
1854
1855 2004-12-15  Werner Koch  <wk@g10code.com>
1856
1857         * sysutils.h [W32]: Prototypes for registry functions.
1858         * w32reg.c: Include sysutils.h
1859
1860         * simple-pwquery.c [W32]: Dummy code to allow a build.
1861
1862         * exechelp.c [W32]: Implemented for W32 .
1863
1864         * ttyname.c: New.
1865
1866         * asshelp.c (send_one_option): New.
1867         (send_pinentry_environment): Cleaned up and made sure that empty
1868         values are not send.
1869
1870 2004-12-07  Werner Koch  <wk@g10code.com>
1871
1872         * asshelp.c (send_pinentry_environment) [W32]: Do not use ttyname.
1873
1874 2004-12-06  Werner Koch  <wk@g10code.com>
1875
1876         * exechelp.h, exechelp.c: New.  Based on code from ../sm/import.c.
1877
1878 2004-12-03  Werner Koch  <wk@g10code.com>
1879
1880         * strsep.c: Fixed copyright comments.
1881
1882 2004-11-26  Werner Koch  <wk@g10code.com>
1883
1884         * simple-gettext.c: New taken from gnupg 1.3.x
1885
1886         * simple-pwquery.c [_WIN32]: Include winsock2.h.
1887         (agent_open): Disable it until we have our AF_UNIX implementation
1888         ready.
1889         * fseeko.c, ftello.c: Include sys/types for the sake of W32.
1890
1891 2004-11-23  Werner Koch  <wk@g10code.com>
1892
1893         * b64enc.c: Include stdio.h and string.h
1894
1895 2004-08-18  Werner Koch  <wk@g10code.de>
1896
1897         * simple-pwquery.c (simple_pwquery): Handle gpg-error style return
1898         code for canceled.
1899
1900 2004-07-20  Werner Koch  <wk@g10code.de>
1901
1902         * maperror.c: Removed header ksba.h.  Not required anymore.
1903
1904 2004-06-14  Werner Koch  <wk@gnupg.org>
1905
1906         * xreadline.c: New.  Based on the iobuf_read_line function.
1907
1908 2004-05-12  Werner Koch  <wk@gnupg.org>
1909
1910         * util.h (xtrycalloc_secure,xtrymalloc_secure): New.
1911
1912 2004-05-11  Werner Koch  <wk@gnupg.org>
1913
1914         * sysutils.c (disable_core_dumps): Only set the current limit.
1915         (enable_core_dumps): New.
1916
1917 2004-04-13  Werner Koch  <wk@gnupg.org>
1918
1919         * simple-pwquery.c (copy_and_escape): Relaxed quoting.
1920
1921 2004-04-05  Werner Koch  <wk@gnupg.org>
1922
1923         * errors.h (STATUS_NEWSIG): New.
1924
1925 2004-03-11  Werner Koch  <wk@gnupg.org>
1926
1927         * dynload.h [__MINGW32__]: Define RTLD_LAZY.
1928
1929 2004-03-09  Werner Koch  <wk@gnupg.org>
1930
1931         * maperror.c (map_assuan_err): Map the Locale_Problem item.
1932
1933 2004-03-03  Werner Koch  <wk@gnupg.org>
1934
1935         * asshelp.c, asshelp.h: New.
1936         (send_pinentry_environment): New. Code taken from ../sm/call-agent.c.
1937
1938 2004-02-19  Werner Koch  <wk@gnupg.org>
1939
1940         * simple-pwquery.c (agent_open): Don't mangle INFOSTR.
1941
1942 2004-02-17  Werner Koch  <wk@gnupg.org>
1943
1944         * simple-pwquery.c (agent_open): Ignore an empty GPG_AGENT_INFO.
1945
1946         * errors.h: Added STATUS_IMPORT_OK.
1947
1948 2004-02-10  Werner Koch  <wk@gnupg.org>
1949
1950         * b64enc.c: New.  Based on code from ../sm/base64.c.
1951
1952 2004-01-30  Marcus Brinkmann  <marcus@g10code.de>
1953
1954         * Makefile.am (libcommon_a_SOURCES): Add xasprintf.c.
1955         * miscellaneous.c (xasprintf): Moved to ...
1956         * xasprintf (xasprintf): ... here.  New file.
1957         This allows to use xasprintf without sucking in gpg-error.
1958
1959 2004-01-27  Werner Koch  <wk@gnupg.org>
1960
1961         * sexp-parse.h: New; moved from../agent.
1962
1963         * util.h (xtoi_4): New.
1964
1965 2003-12-23  Werner Koch  <wk@gnupg.org>
1966
1967         * maperror.c (map_assuan_err): Prepared for a new error code.
1968
1969 2003-12-17  Werner Koch  <wk@gnupg.org>
1970
1971         * gettime.c (asctimestamp): Add a note on a non-avoidable gcc warning.
1972
1973         * util.h [!HAVE_VASPRINTF]: Add printf format attribute to the
1974         replacement function.
1975
1976         * miscellaneous.c (xasprintf): New.
1977
1978 2003-11-14  Werner Koch  <wk@gnupg.org>
1979
1980         * mkdtemp.c (mkdtemp): Use gcry_create_nonce.
1981
1982         * cryptmiss.c: Removed.
1983
1984 2003-11-13  Werner Koch  <wk@gnupg.org>
1985
1986         * util.h (vasprintf): Also fixed the prototype.
1987
1988         * vasprintf.c (vasprintf): ARGS should not be a pointer.  Fixed
1989         segv on Solaris.  Reported by Andrew J. Schorr.
1990
1991 2003-11-12  Werner Koch  <wk@gnupg.org>
1992
1993         * maperror.c (map_ksba_err, map_gcry_err, map_kbx_err): Removed.
1994
1995 2003-10-31  Werner Koch  <wk@gnupg.org>
1996
1997         * util.h (gnupg_isotime_t): New.
1998         (gnupg_copy_time): New.
1999
2000         * gettime.c (gnupg_get_isotime): New.
2001
2002 2003-09-23  Werner Koch  <wk@gnupg.org>
2003
2004         * iobuf.c (check_special_filename): Replaced is isdigit by digitp
2005         to avoid passing negative values and potential locale problems.
2006         Problem noted by Christian Biere.
2007
2008         * util.h (ascii_isspace): New.
2009
2010 2003-09-18  Werner Koch  <wk@gnupg.org>
2011
2012         * ttyio.c (tty_fprintf): New.
2013         (tty_print_string, tty_print_utf8_string2)
2014         (tty_print_utf8_string): Made P argument const byte*.
2015
2016 2003-08-20  Marcus Brinkmann  <marcus@g10code.de>
2017
2018         * maperror.c (map_ksba_err): Map -1.  Use gpg_err_make to set
2019         the error source.
2020
2021 2003-08-14  Timo Schulz  <twoaday@freakmail.de>
2022
2023         * dynload.h. New. W32 wrapper around the dynload mechanism.
2024
2025 2003-07-15  Werner Koch  <wk@gnupg.org>
2026
2027         * simple-pwquery.c, simple-pwquery.h:  New; moved from ../agent.
2028         * Makefile.am (libsimple_pwquery_a_LIBADD): New.
2029
2030 2003-06-25  Werner Koch  <wk@gnupg.org>
2031
2032         * maperror.c (map_to_assuan_status): Directly map 0 to 0.
2033
2034 2003-06-17  Werner Koch  <wk@gnupg.org>
2035
2036         * gettime.c (scan_isodatestr,add_days_to_timestamp,strtimevalue)
2037         (strtimestamp,asctimestamp): New.  Code taken from gnupg 1.3.2
2038         mischelp.c.
2039
2040         * yesno.c: New.  Code taken from gnupg 1.3.2 mischelp.c
2041
2042         * miscellaneous.c: New.
2043
2044         * util.h: Include utf8conf.h
2045
2046 2003-06-16  Werner Koch  <wk@gnupg.org>
2047
2048         * gettime.c (make_timestamp): New.
2049
2050         * ttyio.c: New. Taken from gnupg 1.2.
2051         * ttyio.h: Move from ../include.
2052
2053 2003-06-13  Werner Koch  <wk@gnupg.org>
2054
2055         * util.h (seterr): Removed macro.
2056         (xmalloc_secure,xcalloc_secure): New.
2057
2058 2003-06-11  Werner Koch  <wk@gnupg.org>
2059
2060         * iobuf.c (iobuf_writebyte,iobuf_write): Return error code from
2061         iobuf_flush.
2062         (iobuf_writestr): Ditto.
2063
2064 2003-06-10  Werner Koch  <wk@gnupg.org>
2065
2066         * iobuf.c, iobuf.h: New. Taken from current gnupg 1.3 CVS.  Run
2067         indent on it and adjusted error handling to libgpg-error style.
2068         Replaced IOBUF by iobuf_t. Renamed malloc functions.
2069
2070 2003-06-04  Werner Koch  <wk@gnupg.org>
2071
2072         * errors.h: Removed all error codes.  We keep the status codes for
2073         now.
2074         * Makefile.am: Do not create errors.c anymore; remove it from the
2075         sources.
2076
2077         * maperror.c: Don't include error.h.  Change all error codes to
2078         libgpg-error style.
2079         (map_assuan_err): Changed to new Assuan error code convention.
2080         (map_to_assuan_status): Likewise.
2081         (map_gcry_err,map_kbx_err): Not needed.  For now dummy functions.
2082
2083         * membuf.c, membuf.h: New.  Code taken from ../sm/call-agent.h.
2084         * Makefile.am: Added above.
2085
2086 2003-04-29  Werner Koch  <wk@gnupg.org>
2087
2088         * util.h (fopencokokie): Removed prototype and struct.
2089
2090         * fopencookie.c: Removed.
2091
2092         * maperror.c: Use system assuan.h
2093
2094 2002-10-31  Neal H. Walfield  <neal@g10code.de>
2095
2096         * isascii.c: New file.
2097         * putc_unlocked.c: Likewise.
2098
2099 2002-10-28  Neal H. Walfield  <neal@g10code.de>
2100
2101         * signal.c (caught_fatal_sig): Remove superfluous zero
2102         initializer.
2103         (caught_sigusr1): Likewise.
2104
2105 2002-09-04  Neal H. Walfield  <neal@g10code.de>
2106
2107         * vasprintf.c (vasprintf) [va_copy]: Use va_copy.
2108         [!va_copy && __va_copy]: Use __va_copy.
2109         [!va_copy && !__va_copy]: Only now fall back to using memcpy.
2110
2111 2002-08-21  Werner Koch  <wk@gnupg.org>
2112
2113         * errors.h: Added STATUS_IMPORT_PROBLEM.
2114
2115 2002-08-20  Werner Koch  <wk@gnupg.org>
2116
2117         * vasprintf.c: Hack to handle NULL for %s.
2118
2119 2002-08-09  Werner Koch  <wk@gnupg.org>
2120
2121         * signal.c: New. Taken from GnuPG 1.1.91.
2122
2123 2002-07-23  Werner Koch  <wk@gnupg.org>
2124
2125         * util.h (_IO_cookie_io_functions_t): Fixed typo.  Noted by
2126         Richard Lefebvre.
2127
2128 2002-07-22  Werner Koch  <wk@gnupg.org>
2129
2130         * fseeko.c, ftello.c: New.
2131
2132 2002-06-28  Werner Koch  <wk@gnupg.org>
2133
2134         * maperror.c (map_to_assuan_status): Map more errorcodes to Bad
2135         Certificate.
2136
2137 2002-06-26  Werner Koch  <wk@gnupg.org>
2138
2139         * maperror.c (map_to_assuan_status): Map EOF to No_Data_Available.
2140
2141 2002-06-10  Werner Koch  <wk@gnupg.org>
2142
2143         * errors.h (gnupg_error_token): Add new prototype.
2144         (STATUS_ERROR): New.
2145
2146         * mkerrtok: New.
2147         * Makefile.am: Use it to create the new error token function.
2148
2149 2002-06-04  Werner Koch  <wk@gnupg.org>
2150
2151         * maperror.c (map_to_assuan_status): Map Bad_CA_Certificate.
2152
2153 2002-05-23  Werner Koch  <wk@gnupg.org>
2154
2155         * no-pth.c, Makefile.am: Removed.
2156
2157 2002-05-22  Werner Koch  <wk@gnupg.org>
2158
2159         * mkdtemp.c: Replaced byte by unsigned char because it is no longer
2160         defined in gcrypt.h.
2161
2162 2002-05-21  Werner Koch  <wk@gnupg.org>
2163
2164         * maperror.c (map_gcry_err): Add libgcrypt's new S-expression errors.
2165         (map_ksba_err): Add a few mappings.
2166
2167 2002-05-14  Werner Koch  <wk@gnupg.org>
2168
2169         * gettime.c: New.
2170
2171 2002-05-03  Werner Koch  <wk@gnupg.org>
2172
2173         * errors.h: Added STARUS_EXPSIG and STATUS_EXPKEYSIG.
2174
2175 2002-04-15  Werner Koch  <wk@gnupg.org>
2176
2177         * cryptmiss.c: New.
2178
2179 2002-02-14  Werner Koch  <wk@gnupg.org>
2180
2181         * maperror.c: Add more assuan<->gnupg mappings.
2182
2183 2002-02-12  Werner Koch  <wk@gnupg.org>
2184
2185         * fopencookie.c: Dummy function.
2186
2187         * vasprintf.c: New.  Taken from binutils-2.9.1 and dropped all non
2188         ANSI-C stuff.  Merged with asprintf version.
2189
2190         * no-pth.c: New.
2191
2192 2002-01-23  Werner Koch  <wk@gnupg.org>
2193
2194         * mkdtemp.c: Copied from gnupg-1.0.6c and changed to use libgcrypt.
2195
2196 2002-01-19  Werner Koch  <wk@gnupg.org>
2197
2198         * sysutils.c: New.  This is the misc.c file from gnupg 1.0.6 with
2199         the OpenPGP stuff removed.
2200         * sysutils.h: New.
2201
2202 2002-01-15  Werner Koch  <wk@gnupg.org>
2203
2204         * maperror.c: Add mapping for Not_Trusted.
2205
2206 2002-01-11  Werner Koch  <wk@gnupg.org>
2207
2208         * maperror.c (map_assuan_err): Codes for CRL
2209
2210 2002-01-08  Werner Koch  <wk@gnupg.org>
2211
2212         * util.h (spacep): New.
2213
2214 2002-01-02  Werner Koch  <wk@gnupg.org>
2215
2216         * maperror.c (map_to_assuan_status): New.  Merged from ../agent
2217         and ../sm.
2218
2219 2001-12-20  Werner Koch  <wk@gnupg.org>
2220
2221         * maperror.c (map_gcry_err): Add some mappings.
2222
2223 2001-12-18  Werner Koch  <wk@gnupg.org>
2224
2225         * Makefile.am (AM_CPPFLAGS): Include flags for gcrypt and ksba
2226
2227 2001-12-14  Werner Koch  <wk@gnupg.org>
2228
2229         * util.h (digitp, hexdigitp): New ctype like macros.
2230         (atoi_1,atoi_2,atoi_4,xtoi_1,xtoi_2): New.
2231
2232
2233  Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
2234            2009, 2010 Free Software Foundation, Inc.
2235
2236  This file is free software; as a special exception the author gives
2237  unlimited permission to copy and/or distribute it, with or without
2238  modifications, as long as this notice is preserved.
2239
2240  This file is distributed in the hope that it will be useful, but
2241  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
2242  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.