Re-indent code and use test macros for betetr readability
[gnupg.git] / common / ChangeLog
index abb3c64..1fb20d7 100644 (file)
+2010-05-03  Werner Koch  <wk@g10code.com>
+
+       * asshelp.c (lock_agent_spawning, unlock_agent_spawning): New.
+       (start_new_gpg_agent): Test for configured standard socket and
+       try to fire up the agent in this case.
+
+       * exechelp.c (gnupg_spawn_process_detached): Do not reuse PID for
+       the second fork.
+       (gnupg_wait_process): Do not log a message if EXITCODE is given.
+
+2010-03-17  Werner Koch  <wk@g10code.com>
+
+       * asshelp.c (start_new_gpg_agent) [W32]: Use a named mutex to
+       avoid starting two agents.
+
+2010-03-12  Werner Koch  <wk@g10code.com>
+
+       * status.h (STATUS_ENTER): New.
+
+2010-02-11  Marcus Brinkmann  <marcus@g10code.de>
+
+       From trunk 2009-10-16, 2009-11-02, 2009-11-05:
+
+       * Makefile.am (libcommon_a_CFLAGS): Use LIBASSUAN_CFLAGS instead
+       of LIBASSUAN_PTH_CFLAGS.
+       * get-passphrase.c (default_inq_cb, membuf_data_cb): Change return
+       type to gpg_error_t.
+       * asshelp.c (start_new_gpg_agent): Update use of
+       assuan_socket_connect and assuan_pipe_connect.  Convert posix FD
+       to assuan FD.
+       [HAVE_W32_SYSTEM]: Add missing argument in assuan_socket_connect
+       invocation.
+       * iobuf.c (iobuf_open_fd_or_name): Fix type of FD in function
+       declaration.
+
+2009-10-13  Werner Koch  <wk@g10code.com>
+
+       From trunk 2009-09-23:
+
+       * asshelp.c (start_new_gpg_agent): Allocate assuan context before
+       starting server.
+
+2009-12-21  Marcus Brinkmann  <marcus@g10code.de>  (wk)
+
+       * Makefile.am (audit-events.h, status.h) [!MAINTAINER_MODE]: No
+       longer include these rules if not in maintainer mode.
+
+2009-12-08  Werner Koch  <wk@g10code.com>
+
+       * dns-cert.c: Add support for ADNS.
+
+2009-12-07  Werner Koch  <wk@g10code.com>
+
+       * pka.c (get_pka_info): Add support for ADNS.
+       * src.v (getsrv): Add support for ADNS.
+
+       * srv.c (getsrv): s/xrealloc/xtryrealloc/.
+
+2009-12-04  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (audit-events.h, status-codes.h): Create files in
+       the source dir.  Fixes bug#1164.
+
+2009-12-03  Werner Koch  <wk@g10code.com>
+
+       From trunk:
+       * audit.c (proc_type_decrypt, proc_type_sign): Implemented.
+       (proc_type_verify): Print hash algo infos.
+       * audit.h (AUDIT_DATA_CIPHER_ALGO, AUDIT_BAD_DATA_CIPHER_ALSO)
+       (AUDIT_NEW_RECP, AUDIT_DECRYPTION_RESULT, AUDIT_RECP_RESULT)
+       (AUDIT_ATTR_HASH_ALGO, AUDIT_SIGNED_BY, AUDIT_SIGNING_DONE):
+
+2009-09-03  Werner Koch  <wk@g10code.com>
+
+       Update from libestream:
+       * estream-printf.c: Include stdint.h only if HAVE_STDINT_H is
+       defined.
+       * estream-printf.c: Remove all test code.  Use macro DEBUG instead
+       of TEST for debugging.
+       * estream-printf.c (pr_float): Make buffer larger for silly high
+       numbers.
+
+2009-08-11  David Shaw  <dshaw@jabberwocky.com>
+
+       * ttyio.h, ttyio.c (tty_enable_completion): Some ifdefs around
+       HAVE_LIBREADLINE to allow building when readline isn't available.
+
+2009-08-06  Werner Koch  <wk@g10code.com>
+
+       * status.h (STATUS_INV_SGNR, STATUS_NO_SGNR): New.
+       * status.c (get_inv_recpsgnr_code): New.
+
+2009-07-23  David Shaw  <dshaw@jabberwocky.com>
+
+       * srv.c (getsrv): Fix type-punning warning.
+
+2009-07-23  Werner Koch  <wk@g10code.com>
+
+       * util.h (GPG_ERR_NOT_ENABLED): New.
+       * audit.h (enum): Add AUDIT_CRL_CHECK.
+       * audit.c (proc_type_verify): Show CRL check result.
+
+2009-07-06  Werner Koch  <wk@g10code.com>
+
+       * get-passphrase.c (struct agentargs): Add SESSION_ENV and remove
+       obsolete args.
+       (gnupg_prepare_get_passphrase): Ditto.
+
+       * session-env.c, session-env.h: New.
+       * t-session-env.c: New.
+       * Makefile.am (common_sources, module_tests): Add them.
+       * asshelp.h: Include "session-env.h"
+       * asshelp.c (send_one_option): Add arg PUTENV.
+       (send_pinentry_environment): Replace most args by SESSION_ENV and
+       rewrite fucntion.
+       (start_new_gpg_agent): Likewise.
+
+       * t-exechelp.c (test_close_all_fds): Remove debug code.
+
+2009-07-01  Werner Koch  <wk@g10code.com>
+
+       * sexputil.c (get_pk_algo_from_canon_sexp): New.
+
+2009-06-29  Werner Koch  <wk@g10code.com>
+
+       * estream.c (BUFFER_ROUND_TO_BLOCK): Remove unused macro.
+       (es_func_mem_write): Rewrite reallocation part.
+
+       * estream.c (es_write_sanitized_utf8_buffer): Typo typo fix.
+
+2009-06-25  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_write_sanitized_utf8_buffer): Typo fix.
+
+2009-06-24  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_read_line): In the malloc error case, set
+       MAX_LENGTH to 0 only if requested.
+       * xreadline.c (read_line): Ditto.
+       * estream.c (es_write_sanitized_utf8_buffer): Pass on error from
+       es_fputs.
+       * sexputil.c (get_rsa_pk_from_canon_sexp): Check for error after
+       the loop.  Reported by Fabian Keil.
+
+2009-06-22  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_pth_read, es_pth_write) [W32]: New.
+       (ESTREAM_SYS_READ, ESTREAM_SYS_WRITE) [HAVE_PTH]: Use them.
+
+2009-06-03  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_convert_mode): Rewrite and support the "x" flag.
+
+2009-05-28  David Shaw  <dshaw@jabberwocky.com>
+
+       From 1.4:
+
+       * http.h, http.c (send_request) Pass in a STRLIST for additional
+       headers.  Change all callers.
+
+2009-05-27  David Shaw  <dshaw@jabberwocky.com>
+
+       From 1.4:
+
+       * http.h, http.c (send_request): Pass in srvtag and make its
+       presence sufficient to turn the feature on.
+       (http_open): From here.
+       (http_document): And here.
+
+       * srv.c (getsrv): Raise maximum packet size to 2048, as PACKETSZ
+       is too small these days.
+
+2009-05-22  Werner Koch  <wk@g10code.com>
+
+       * ttyio.c (tty_cleanup_after_signal): New.
+
+2009-05-19  Werner Koch  <wk@g10code.com>
+
+       * simple-pwquery.c (agent_open): Use SUN_LEN
+       (JNLIB_NEED_AFLOCAL): Define and include mischelp.h.
+
+2009-05-07  Werner Koch  <wk@g10code.com>
+
+       * sexputil.c (get_rsa_pk_from_canon_sexp): New.
+       * t-sexputil.c (test_make_canon_sexp_from_rsa_pk): Extend the test.
+
+2009-04-28  Werner Koch  <wk@g10code.com>
+
+       * sexputil.c (make_canon_sexp_from_rsa_pk): New.
+       * t-sexputil.c (test_make_canon_sexp_from_rsa_pk): New.
+
+2009-04-01  Werner Koch  <wk@g10code.com>
+
+       * iobuf.c: Port David's changes from 1.4:
+       (fd_cache_invalidate): Pass return code from close back.
+       (direct_open, iobuf_ioctl): Check that eturn value.
+       (fd_cache_synchronize): New.
+       (iobuf_ioctl): Add new sub command 4 (fsync).
+
+       * iobuf.c (fd_cache_strcmp): New. Taken from 1.4.
+       (fd_cache_invalidate, fd_cache_close, fd_cache_open):  Use it.
+
+       * exechelp.c (gnupg_spawn_process): Implement new flag bit 6.
+       * sysutils.c (gnupg_allow_set_foregound_window): Allow the use of
+       ASFW_ANY.
+
+       * membuf.c (put_membuf, get_membuf): Wipe memory on out of core.
+
+2009-03-31  Werner Koch  <wk@g10code.com>
+
+       * percent.c (percent_unescape, percent_plus_unescape): New.
+       (percent_plus_unescape_inplace, percent_unescape_inplace): New.
+       (do_plus_or_plain_unescape, count_unescape, do_unescape): New.
+       (do_unescape_inplace): New.
+       * t-percent.c (test_percent_plus_escape): Test percent_plus_unescape.
+
+       * get-passphrase.c, get-passphrase.h: New.
+       * Makefile.am (without_pth_sources): New.
+
+2009-03-18  Werner Koch  <wk@g10code.com>
+
+       * exechelp.c: Include sys/resource.h and sys/stat.h.
+       (get_max_open_fds): New.
+       (do_exec): Use it.
+       (get_all_open_fds): New.
+       (close_all_fds): New.
+       (do_exec): Use close_all_fds.
+       * t-exechelp.c: New.
+
+2009-03-13  David Shaw  <dshaw@jabberwocky.com>
+
+       * http.c (do_parse_uri): Properly handle IPv6 literal addresses as
+       per RFC-2732.  Adapted from patch by Phil Pennock.
+
+2009-03-12  Werner Koch  <wk@g10code.com>
+
+       * gettime.c: Include i18n.h.
+       (dump_isotime): New.
+
+2009-03-06  Werner Koch  <wk@g10code.com>
+
+       * sexputil.c (make_canon_sexp): New.
+
+2009-03-03  Werner Koch  <wk@g10code.com>
+
+       * exechelp.c (do_exec): Make sure that /dev/null connected FDs are
+       not closed.
+
+2009-01-19  Werner Koch  <wk@g10code.com>
+
+       * audit.c (writeout_li): Translate a few more result strings.
+       Fixes bug#970.
+
+       * convert.c (hex2str): Fix optimization to append a nul character.
+
+2008-12-05  Werner Koch  <wk@g10code.com>
+
+       * percent.c, t-percent.c: New.
+
+       * exechelp.c (gnupg_spawn_process, gnupg_spawn_process_fd) 
+       (gnupg_spawn_process_detached) [W32]: Remove debug output.
+
+2008-11-20  Werner Koch  <wk@g10code.com>
+
+       * audit.c (writeout_li): Translate OKTEXT.
+
+2008-11-04  Werner Koch  <wk@g10code.com>
+
+       * i18n.c (i18n_init) [USE_SIMPLE_GETTEXT]: Adjust for changed
+       w32-gettext.c.
+       * homedir.c (gnupg_localedir): New.
+
+2008-10-20  Werner Koch  <wk@g10code.com>
+
+       * http.c (http_register_tls_callback) [!HTTP_USE_GNUTLS]: Mark
+       unused arg.
+       * localename.c (do_nl_locale_name): Ditto.
+       * audit.c (event2str): Silent gcc warning.
+       * sysutils.c (translate_sys2libc_fd): Mark unused arg.
+       (translate_sys2libc_fd_int): Ditto.
+       * iobuf.c (translate_file_handle): Ditto.
+       * asshelp.c (send_one_option): Ditto.
+       * exechelp.c (gnupg_spawn_process): Ditto.
+       * signal.c (got_usr_signal): Ditto
+       * estream.c (es_func_fd_create) [!W32]: Ditto.
+       (es_func_fp_create) [!W32]: Ditto.
+       (es_write_hexstring): Ditto.
+       (dummy_mutex_call_void, dummy_mutex_call_int) [HAVE_PTH]: New.
+       (ESTREAM_MUTEX_LOCK, ESTREAM_MUTEX_UNLOCK, ESTREAM_MUTEX_TRYLOCK)
+       (ESTREAM_MUTEX_INITIALIZE) [HAVE_PTH]: Use dummy calls so to mark
+       unused arg.
+
+2008-10-19  Werner Koch  <wk@g10code.com>
+
+       * estream-printf.c (estream_vsnprintf): Fix return value.
+       (check_snprintf): Add a new test.
+       (one_test) [W32]: Disable test.
+
+2008-10-17  Werner Koch  <wk@g10code.com>
+
+       * util.h (snprintf) [W32]: Redefine to estream_snprintf.
+
+2008-09-03  Werner Koch  <wk@g10code.com>
+
+       * convert.c (hex2str): New.
+       (hex2str_alloc): New.
+       * t-convert.c (test_hex2str): New.
+
+2008-08-19  Werner Koch  <wk@g10code.com>
+
+       * iobuf.c: Avoid passing a NULL (iobuf_t)->desc to the log
+       function.  Should in general never be NULL, but well.  Reported by
+       M. Heneka.
+
+2008-06-26  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_write_sanitized): Loose check for control
+       characters to better cope with utf-8.  The range 0x80..0x9f is
+       nowadays not anymore accidently used for control charaters.
+
+2008-06-25  Marcus Brinkmann  <marcus@g10code.de>
+
+       Revert last three changes related to handle translation.
+       * sysutils.c:
+       (FD_TRANSLATE_MAX, fd_translate, fd_translate_len)
+       (translate_table_init, translate_table_lookup): Removed.
+       * iobuf.c (check_special_filename): Do not use
+       translate_table_lookup.
+       * sysutils.h (translate_table_init, translate_table_lookup):
+       Remove prototypes.
+
+2008-06-19  Werner Koch  <wk@g10code.com>
+
+       * sysutils.c: Remove <ctype.h>.
+       (fd_translate_max): Use macro for the size.
+       (translate_table_init): Protect read against EINTR and replace
+       isspace by spacep.
+
+2008-06-18  Marcus Brinkmann  <marcus@g10code.de>
+
+       * sysutils.c (TRANS_MAX): Bump up to 350 to be on the safe side.
+
+       * sysutils.h (translate_table_init, translate_table_lookup): New
+       prototypes.
+       * sysutils.c: Include <ctype.h>.
+       (FD_TRANSLATE_MAX): New macro.
+       (fd_translate, fd_translate_len): New static variables.
+       (translate_table_init, translate_table_lookup): New functions.
+       (translate_sys2libc_fd_int): Translate file descriptor.
+       * iobuf.c (check_special_filename): Translate handle values from
+       special filenames.
+
+2008-06-16  Werner Koch  <wk@g10code.com>
+
+       * homedir.c (w32_commondir): New.
+       (gnupg_sysconfdir): Use it.
+
+2008-06-09  Werner Koch  <wk@g10code.com>
+
+       * b64dec.c: New.
+
+2008-06-05  Werner Koch  <wk@g10code.com>
+
+       * util.h (gnupg_copy_time): Replace strcpy by memcpy.
+
+2008-05-26  Werner Koch  <wk@g10code.com>
+
+       * asshelp.c (send_one_option, send_pinentry_environment): use
+       xfree and xtrystrdup.
+
+       * i18n.c (i18n_switchto_utf8) [USE_SIMPLE_GETTEXT]: Return NULL.
+
+       * homedir.c (gnupg_module_name): Add
+       GNUPG_MODULE_NAME_CONNECT_AGENT and GNUPG_MODULE_NAME_GPGCONF.
+
+2008-04-21  Werner Koch  <wk@g10code.com>
+
+       * http.c (http_wait_response) [W32]: Use DuplicateHandle because
+       it is a socket.
+       (cookie_read) [W32]: Use recv in place of read.
+
+2008-04-08  Werner Koch  <wk@g10code.com>
+
+       * i18n.c (i18n_switchto_utf8, i18n_switchback)
+       [USE_SIMPLE_GETTEXT]: Implement.
+
+2008-04-07  Werner Koch  <wk@g10code.com>
+
+       * b64enc.c (b64enc_start): Detect PGP mode.
+       (b64enc_finish): Write PGP CRC.
+       * util.h (struct b64state): Add field CRC.
+       * t-b64.c: New.
+
+       * pka.c (get_pka_info): Use xtrymalloc and check result.
+
+2008-03-25  Werner Koch  <wk@g10code.com>
+
+       * localename.c: Strip all W32 code.  Include w32help.h.
+       (gnupg_messages_locale_name) [W32]: Use the gettext_localename.
+
+2008-03-17  Werner Koch  <wk@g10code.com>
+
+       * iobuf.c (IOBUF_BUFFER_SIZE): Actually use this macro.
+
+       * simple-pwquery.c (agent_send_all_options): Fix last change.
+
+2008-03-06  Werner Koch  <wk@g10code.com>
+
+       * simple-pwquery.c (agent_send_all_options): Add support for
+       XAUTHORITY and PINENTRY_USER_DATA.
+
+2008-02-15  Marcus Brinkmann  <marcus@g10code.de>
+
+       * exechelp.c (gnupg_spawn_process_fd): Add flag DETACHED_PROCESS
+       unconditionally (required for all callers at the moment).
+
+2008-02-14  Werner Koch  <wk@g10code.com>
+
+       * sysutils.c (gnupg_allow_set_foregound_window): New.
+       (WINVER) [W32]: Define.
+
+2008-01-31  Werner Koch  <wk@g10code.com>
+
+       * audit.c (audit_print_result): Make sure that the output is
+       always UTF8.
+
+2008-01-27  Werner Koch  <wk@g10code.com>
+
+       * exechelp.c (gnupg_spawn_process): Add arg FLAGS and changed all
+       callers to pass 0 for it.
+
+2007-12-13  Werner Koch  <wk@g10code.com>
+
+       * sexputil.c (hash_algo_from_sigval): New.
+       * t-sexputil.c: New.
+       * Makefile.am (module_tests): Add it.
+
+2007-12-11  Werner Koch  <wk@g10code.com>
+
+       * asshelp.c (send_pinentry_environment): Allow using of old
+       gpg-agents not capabale of the xauthority and pinentry_user_data
+       options.
+
+2007-12-04  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (t_helpfile_LDADD, module_maint_tests): New.
+       * t-helpfile.c: New.
+       * helpfile.c: New.
+       * membuf.h (is_membuf_ready, MEMBUF_ZERO): New.
+       * localename.c: New.  Taken from gettext with modifications as done
+       for GpgOL.  Export one new function.
+       * util.h (gnupg_messages_locale_name, gnupg_get_help_string): Added.
+
+       * sysutils.c (gnupg_reopen_std): New.  Taken from ../g10/gpg.c.
+
+2007-11-27  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (CLEANFILES): New.
+
+       * homedir.c (dirmngr_socket_name): Use CSIDL_WINDOWS.
+
+2007-11-15  Werner Koch  <wk@g10code.com>
+
+       * asshelp.c (send_pinentry_environment): Add args XAUTHORITY and
+       PINENTRY_USER_DATA.
+       (start_new_gpg_agent): Ditto.
+
+2007-11-07  Werner Koch  <wk@g10code.com>
+
+       * status.h: New.
+       * errors.h: Remove.
+
+2007-11-05  Werner Koch  <wk@g10code.com>
+
+       * audit.c, audit.h: New. 
+       * Makefile.am: Add rules to build audit-events.h.
+       * exaudit.awk: New.
+       * mkstrtable.awk: New.  Taken from libgpg-error.
+
+2007-10-19  Werner Koch  <wk@g10code.com>
+
+       * i18n.c (i18n_switchto_utf8, i18n_switchback): New.
+
+2007-10-01  Werner Koch  <wk@g10code.com>
+
+       * sysutils.h (FD2INT, INT2FD): New.
+
+2007-09-21  Werner Koch  <wk@g10code.com>
+
+       * homedir.c (default_homedir): Make registry work.  Reported by
+       Marc Mutz.
+
+2007-08-29  Werner Koch  <wk@g10code.com>
+
+       * exechelp.c (gnupg_wait_process): Add arg EXITCODE.  Changed all
+       callers.
+       (gnupg_create_inbound_pipe): New.
+       * util.h (GNUPG_MODULE_NAME_GPGSM, GNUPG_MODULE_NAME_GPG): New.
+       * homedir.c (gnupg_module_name): Add them
+       
+2007-08-28  Werner Koch  <wk@g10code.com>
+
+       * gettime.c (check_isotime, add_isotime): New.  Originally written
+       for DirMngr by me.
+       (add_days_to_isotime): New.
+       (date2jd, jd2date, days_per_month, days_per_year): New. Taken from
+       my ancient (1988) code used in Wedit (time2.c).
+
+2007-08-27  Werner Koch  <wk@g10code.com>
+
+       * util.h (GNUPG_MODULE_NAME_CHECK_PATTERN): New.
+       * homedir.c (gnupg_module_name): Add it.
+       * exechelp.c (w32_fd_or_null) [W32]: New.
+       (gnupg_spawn_process_fd): New.
+       (gnupg_wait_process) [W32]: Close the handle after if the process has
+       returned.
+
+2007-08-22  Werner Koch  <wk@g10code.com>
+
+       Updated estream from libestream.
+       
+       * estream.c (mem_malloc, mem_realloc, mem_free): New.  Use them
+       instead of the ES_MEM_foo.
+       * estream.c (estream_cookie_mem): Remove members DONT_FREE,
+       APPEND_ZERO, PTR and SIZE.  Add MEMORY_LIMIT.  Put GROW into a new
+       FLAGS struct.
+       (es_func_mem_create): Remove APPEND_ZERO, DONT_FREE, PTR and
+       SIZE.  Add MEMORY_LIMIT.
+       (es_func_mem_write, es_func_mem_seek, es_func_mem_destroy): Revamp.
+       (es_open_memstream): Change API to just take a memory limit and a
+       mode argument.  Rename to ..
+       (es_fopenmem): .. this.
+       (HAVE_W32_SYSTEM) [_WIN32]: Define if not defined.
+       (tmpfd) [W32]: Implement directly using the W32 API.
+       (es_fgets): Rewrite without using doreadline.
+
+2007-08-21  Werner Koch  <wk@g10code.com>
+
+       * sysutils.c (gnupg_tmpfile): New.
+       * t-sysutils.c: New.
+       * Makefile.am (module_tests): Add t-sysutils.
+
+2007-08-20  Werner Koch  <wk@g10code.com>
+
+       * exechelp.c [W32]: Redefine X_OK to F_OK.
+
+2007-08-16  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (t_convert_DEPENDENCIES): Remove
+       ($(PROGRAMS)): Remove.
+       (t_common_ldadd): Use libcommon.a and not the macro.
+
+2007-08-14  Werner Koch  <wk@g10code.com>
+
+       * homedir.c (dirmngr_socket_name): New.
+
+2007-08-07  Werner Koch  <wk@g10code.com>
+
+       * tlv.c, tlv.h: Move from ../scd/.
+       * tlv.c (parse_sexp, parse_ber_header): Add ERRSOURCE arg and prefix
+       name with a _.
+       * tlv.h: Use macro to convey ERRSOURCE.
+
+2007-08-02  Werner Koch  <wk@g10code.com>
+
+       * gc-opt-flags.h: New.
+
+2007-08-01  Werner Koch  <wk@g10code.com>
+
+       * estream-printf.c (read_dummy_value): Removed as it is useless now.
+       (read_values): Remove check on !vaargs which is not anymore needed
+       and anyway not portable.  Reported by Peter O'Gorman.
+
+2007-07-16  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_func_file_create): Clear NO_CLOSE flag.
+
+2007-07-12  Werner Koch  <wk@g10code.com>
+
+       * sysutils.h (gnupg_fd_t): New.
+       * sysutils.c (translate_sys2libc_fd): Use that type instead of int.
+       (translate_sys2libc_fd_int): New.
+
+2007-07-09  Werner Koch  <wk@g10code.com>
+
+       * t-gettime.c (test_isotime2epoch): Use time_t and not u32.
+
+2007-07-05  Werner Koch  <wk@g10code.com>
+
+       * t-gettime.c: New. 
+       * gettime.c (isotime2epoch, epoch2isotime): New.
+
+2007-07-04  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_init_do): Do not throw an error if pth has already
+       been initialized.
+
+2007-06-26  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am ($(PROGRAMS)): New.
+
+       * util.h (init_common_subsystems): Moved to ..
+       * init.h: .. New.
+       * util.h: Include init.h.
+
+       * homedir.c (standard_homedir): New.
+       (default_homedir) [W32]: Reimplemented in terms of
+       standard_homedir.  Fixed memory leak.
+
+2007-06-25  Werner Koch  <wk@g10code.com>
+
+       * iobuf.c: Add more documentation and slighly restructured macro
+       defintion for better readability.
+       (FILEP_OR_FD): Rename to fp_or_fd_t.
+       (CLOSE_CACHE): Rename to close_cache_t.
+
+       * sysutils.c (translate_sys2libc_fd): New using the code from iobuf.c.
+       * iobuf.c: Include sysutils.h.
+       (iobuf_translate_file_handle): Remove.
+       (translate_file_handle): Use new function.
+
+       * estream-printf.c [TEST]: Header including fixes. 
+       (do_format): Do not append a trailing Nul.  This avoids spurious
+       Nuls in the es_printf output.
+       (estream_vsnprintf, estream_vasprintf): Take this in account.
+
+       * estream.h (struct es__stream): Change FLAGS to a bit structure.
+       (ES__FLAG_WRITING): Replace by a bit from FLAGS.  * estream.c
+       (struct estream_internal): Rename FLAGS to MODEFLAGS so that they
+       are not confused with the estream flags.
+       (es_initialize, es_create): Add arg MODEFLAGS so that we can setup
+       the intial writemode.  Changed all callers to pass them.
+       (es_convert_mode): Set O_BINARY.
+       (es_func_fd_create, es_func_fp_create, es_func_file_create) [W32]:
+       Call setmode if requested.
+       
+2007-06-24  Werner Koch  <wk@g10code.com>
+
+       * estream.c (do_fpopen, es_fpopen, es_fpopen_nc): New.
+       (es_func_fp_create, es_func_fp_read, es_func_fp_write) 
+       (es_func_fp_seek, es_func_fp_destroy): New.
+
+2007-06-22  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_fdopen): Factored code out to..
+       (do_fdopen): .. new.
+       (es_fdopen_nc): New.
+       (estream_cookie_fd): Add field NO_CLOSE. 
+       (es_func_fd_create): Add arg NO_CLOSE and changed all callers.
+       (es_func_fd_destroy): Handle the new flag.
+
+       * homedir.c (gnupg_libexecdir) [W32]: Factor code out to ..
+       (w32_rootdir): .. new.
+       (gnupg_sysconfdir, gnupg_libdir, gnupg_datadir) [W32]: Return
+       name based on w32_rootdir().
+
+2007-06-21  Werner Koch  <wk@g10code.com>
+
+       * membuf.h (get_membuf_len): New.
+
+       * membuf.c (init_membuf_secure): Really allocate in secure memory.
+       (put_membuf_str): New.
+
+       * ttyio.c (tty_getf): New.
+
+       * util.h (ctrl_t): Declare it here.
+
+       * asshelp.c (start_new_gpg_agent): New.  Based on code from
+       ../sm/call-agent.c
+
+2007-06-20  Werner Koch  <wk@g10code.com>
+
+       * sysutils.c (gnupg_sleep): New.
+       * sysutils.h [W32]: Remove _sleep wrapper.  Changed all callers to
+       use gnupg_sleep.
+
+       * exechelp.c (build_w32_commandline_copy): New.
+       (build_w32_commandline): Factored some code out to new function
+       and correctly process a PGMNAME with spaces.
+       (gnupg_spawn_process_detached) [W32]: Implement.
+
+2007-06-14  Werner Koch  <wk@g10code.com>
+
+       * simple-pwquery.h (MAP_SPWQ_ERROR_IMPL): New.
+       (SPWQ_NO_PIN_ENTRY): New.
+       * simple-pwquery.c (simple_pw_set_socket): New.
+       (agent_open): Use it if GPG_AGENT_INFO is not set.
+       (simple_pwquery): Extended to allow returning of otehyr error codes.
+
+       * util.h (GNUPG_MODULE_NAME_AGENT, GNUPG_MODULE_NAME_PINENTRY) 
+       (GNUPG_MODULE_NAME_SCDAEMON, GNUPG_MODULE_NAME_DIRMNGR) 
+       (GNUPG_MODULE_NAME_PROTECT_TOOL): New.
+       * homedir.c (gnupg_module_name): New.
+       (gnupg_bindir): New.
+
+2007-06-12  Werner Koch  <wk@g10code.com>
+
+       * homedir.c (gnupg_sysconfdir): New.
+       (gnupg_libexecdir): New.  Taken from g10/misc.c:get_libexecdir.
+       (gnupg_datadir): New.
+       (gnupg_libdir): New.
+
+       * http.c (connect_server) [W32]: Do not call init_sockets if
+       HTTP_NO_WSASTARTUP is defined.
+
+       * init.c: New.
+
+       * estream.c (es_init_do): Init stream lock here because we can't
+       use a static initialization with W32pth.
+
+2007-06-11  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (t_common_ldadd): Use libcommonstd macro.
+
+2007-06-06  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am: Include am/cmacros.am.
+
+       * sysutils.h [W32]: Remove prototypes for the registry access.
+       * w32reg.c:  Move to ../jnlib/w32-reg.c.
+
+       * i18n.c (i18n_init): New.
+
+       * simple-gettext.c: Remove.
+
+       * iobuf.c (iobuf_get_filelength): Rename SIZE to EXSIZE to silent
+       shadowing warning.
+
+2007-06-04  Werner Koch  <wk@g10code.com>
+
+       * http.c [W32]: Include unistd.h also in this case.
+       (write_server) [W32]: Fixed error code.
+       (init_sockets): Fixed syntax error.
+       (cookie_close): Replace close by sock_close macro.
+
+       * estream.c [w32]: Do not init Mutex.
+
+       * Makefile.am (common_sources) [USE_SNS_SRV]: Build srv.c only
+       when needed.
+
+       * ttyio.c (init_ttyfp) [W32]: Do not use TTYFP.
+
+       * util.h: Include ../jnlib/dynload.h.
+
+       * dynload.h:  Move to ../jnlib.
+
+2007-05-30  Werner Koch  <wk@g10code.com>
+
+       * estream.c (MEM_FREE, MEM_ALLOC, MEM_REALLOC): Prefix with ES_ as
+       windows.h also has such definitions,
+
+2007-05-15  Werner Koch  <wk@g10code.com>
+
+       * util.h: Do not include gnulib's vasprintf.  Redefine asprintf
+       and vasprintf.
+
+       * xasprintf.c (xasprintf, xtryasprintf): Use estream_vasprintf.
+
+       * estream-printf.h, estream-printf.c: New.  Taken from current
+       libestream SVN.
+       * Makefile.am (common_sources): Add them.
+
+2007-05-14  Werner Koch  <wk@g10code.com>
+
+       * sexp-parse.h (smklen): New.
+       * sexputil.c: Include sexp-parse.h.
+       (make_simple_sexp_from_hexstr): Replace sprintf by smklen.
+
+2007-05-07  Werner Koch  <wk@g10code.com>
+
+       * signal.c (got_fatal_signal): Protect SIG from being clobbered by
+       a faulty signal implementaion.  Suggested by James Juran. 
+
+2007-04-25  Werner Koch  <wk@g10code.com>
+
+       * i18n.h (ngettext): New.
+       * simple-gettext.c (ngettext): New.
+
+2007-04-20  Werner Koch  <wk@g10code.com>
+
+       * miscellaneous.c (my_gcry_logger, my_gcry_outofcore_handler):
+       Moved from gpg-agent to here.
+       (my_gcry_fatalerror_handler): new.
+       (setup_libgcrypt_logging): New.
+
+2007-03-19  Werner Koch  <wk@g10code.com>
+
+       * miscellaneous.c (print_hexstring): New.
+       * estream.c (es_fprintf_unlocked): New.
+       (es_write_sanitized): New.
+       (es_write_hexstring): New.
+       (es_write_sanitized_utf8_buffer) [GNUPG_MAJOR_VERSION]: New.
+
+2007-03-09  David Shaw  <dshaw@jabberwocky.com>
+
+       From STABLE-BRANCH-1-4
+
+       * http.c (do_parse_uri): Remove the hkp port 11371 detection.  We
+       implement hkp in the keyserver handler, and the support here makes
+       it appear like a bad hkp request actually succeeded.
+
+2007-01-31  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (t_common_ldadd): Add LIBINCONV and LIBINTL.
+
+2007-01-25  Werner Koch  <wk@g10code.com>
+
+       * simple-pwquery.c (simple_pwquery): New arg OPT_CHECK.
+
+2006-12-13  David Shaw  <dshaw@jabberwocky.com>
+
+       * Makefile.am (AM_CPPFLAGS): Include intl/ so we can reference the
+       built-in headers.
+
+2006-11-23  Werner Koch  <wk@g10code.com>
+
+       * http.c: Include i18n.h
+
+2006-11-21  Werner Koch  <wk@g10code.com>
+
+       * estream.c: Remove explicit Pth soft mapping diabling becuase it
+       is now done in config.h.
+
+2006-11-15  Werner Koch  <wk@g10code.com>
+
+       * estream.c: Disabled Pth soft mapping.
+       (my_funopen_hook_ret_t): New.
+       (print_fun_writer): Use it here.
+
+       * iobuf.c (fd_cache_close): Use %d instead of %p for debug output.
+
+2006-11-03  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (t_convert_DEPENDENCIES): Add libcommon.  From
+       Gentoo.
+
+2006-10-24  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Makefile.am (libcommon_a_CFLAGS): Add $(LIBASSUAN_CFLAGS).
+       (libsimple_pwquery_a_CFLAGS): New variable.
+
+2006-10-20  Werner Koch  <wk@g10code.com>
+
+       * convert.c (hex2bin): New.
+
+2006-10-17  Werner Koch  <wk@g10code.com>
+
+       * estream.c (struct estream_internal, es_initialize) 
+       (es_deinitialize, print_fun_writer, es_print): New and modified
+       functions to avoid tempfiles for printf style printing. 
+
+       * Makefile.am (libcommonpth_a_SOURCES): New. We now build a secon
+       version of the library with explicit Pth support.
+       * exechelp.c, estream.c: Make use of WITHOUT_GNU_PTH.
+
+2006-10-08  Werner Koch  <wk@g10code.com>
+
+       * gpgrlhelp.c: Trun all functions into dummies if readline is not
+       available.
+
+2006-10-06  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (AM_CFLAGS): Use PTH version of libassuan.
+
+       * util.h (GNUPG_GCC_A_SENTINEL): Defined for gcc >= 4.
+
+2006-10-04  David Shaw  <dshaw@jabberwocky.com>
+
+       * gpgrlhelp.c: readline requires stdio.h.
+
+2006-10-04  Werner Koch  <wk@g10code.com>
+
+       * membuf.c (init_membuf_secure): New.
+       (put_membuf): Make sure that ERRNO is set even if the underlying
+       malloc code does not work properly.
+       (get_membuf): Set ERRNO on error.
+       (get_membuf): Allow to pass LEN as NULL.
+
+2006-10-02  Werner Koch  <wk@g10code.com>
+
+       * iobuf.c (iobuf_unread): Removed.  This code is not required.
+       Also removed the entire unget buffer stuff.
+
+2006-09-27  Werner Koch  <wk@g10code.com>
+
+       * util.h: Do not include strsep.h and strpbrk.h.
+       (isascii): Removed as it is now in jnlib.
+
+       * iobuf.c (pop_filter, underflow, iobuf_close): Free the unget
+       buffer.
+
+2006-09-27  Florian Weimer <fweimer@bfk.de>  (wk)
+       
+       * iobuf.c (iobuf_unread): New.
+
+2006-09-22  Werner Koch  <wk@g10code.com>
+
+       * i18n.h: Changed license to an all permissive one.
+
+       * ttyio.c (tty_get): We need to use readline too.  Added two more
+       hooks.
+
+2006-09-21  Werner Koch  <wk@g10code.com>
+
+       * ttyio.c (tty_private_set_rl_hooks): New.
+       (tty_enable_completion, tty_disable_completion): Use a hook to
+       enable readline support.  Now always available.
+       (tty_cleanup_rl_after_signal): New.
+
+       * ttyio.h: Removed readline specific stuff.  Included util.h.
+       * common-defs.h: New.
+
+2006-09-15  Werner Koch  <wk@g10code.com>
+
+       * convert.c: New.
+       (hexcolon2bin): New.
+       (bin2hex, bin2hexcolon, do_binhex): New.
+       * t-convert.c: New
+
+2006-09-14  Werner Koch  <wk@g10code.com>
+
+       * util.h (out_of_core): Use new gpg_error_from_syserror function.
+
+       * http.c (init_sockets): Changed it to require 2.2 unless it is
+       build within gnupg 1 where we require 1.1 (and not anymore allow
+       for 1.0).
+
+2006-09-07  Werner Koch  <wk@g10code.com>
+
+       * exechelp.c (gnupg_spawn_process): Factor out post fork code to ..
+       (do_exec): .. new function.  Allow passing of -1 for the fds.
+       (gnupg_spawn_process): Terminate gcrypt's secure memory in the child.
+       (gnupg_spawn_process_detached): New.
+
+2006-09-06  Werner Koch  <wk@g10code.com>
+
+       * maperror.c: Removed.
+
+       * util.h (out_of_core): New.
+
+2006-09-04  Werner Koch  <wk@g10code.com>
+
+       * http.c (http_get_header): New.
+       (capitalize_header_name, store_header): New.
+       (parse_response): Store headers away.
+       (send_request): Return GPG_ERR_NOT_FOUND if connect_server failed.
+       * http.h: New flag HTTP_FLAG_NEED_HEADER.
+
+2006-08-21  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (libcommon_a_SOURCES): Added keyserver.h
+
+       * openpgpdefs.h: New.  Stripped from ..g10/packet.h.
+
+2006-08-16  Werner Koch  <wk@g10code.com>
+
+       * keyserver.h: Moved from ../include to here.
+
+       * http.c: Include srv.h.
+
+       * srv.c, srv.h: New. Taken from GnuPG 1.4
+
+2006-08-14  Werner Koch  <wk@g10code.com>
+
+       * http.h (struct http_context_s): Moved to implementation.
+       * http.c (http_open): Changed call to return a context.
+       (http_open_document): Ditto.
+       (http_get_read_ptr, http_get_read_ptr, http_get_status_code): New.
+       (do_parse_uri): Replaced strlwr by straight code to ease
+       standalone use of this file.
+       (http_wait_response): Removed arg STATUS_CODE as it is available
+       through an accessor function. Adjusted caller.
+       (http_escape_string): New.
+
+       * estream.c (es_read_line): Renamed to ..
+       (doreadline): .. this.  Changed all callers.
+       (es_read_line): New.  This is theusual limited getline variabnt as
+       used at several places.  Here taken and adjusted from xreadline.c
+       (es_free): New.
+
+2006-08-11  Werner Koch  <wk@g10code.com>
+
+       * http.c: Major internal changes to optionallly support GNUTLS and
+       ESTREAM.
+       (http_open): Move initialization of the stream ...
+       (send_request): .. here.
+       (http_register_tls_callback): New.
+
+       * estream.c (es_writen): Try to seek only is a seek function has
+       been registered.
+
+2006-08-09  Werner Koch  <wk@g10code.com>
+
+       * http.c, http.h: New.  Taken from gnupg 1.4.5, merged with
+       changes done for the Dirmngr project (by g10 Code) and cleaned up
+       some stuff.
+       (make_header_line): New. Change all caller to make user of the new
+       * Makefile.am (libcommon_a_SOURCES): Added http.c and http.h.
+
+2006-05-23  Werner Koch  <wk@g10code.com>
+
+       * gettime.c (isotimestamp): New.
+
+       * ttyio.c (tty_get_ttyname): Posixly correct usage of ctermid.
+
+       * dns-cert.c: New.  Taken from 1.4.3's util/cert.c.
+       * dns-cert.h: New.
+
+2006-05-22  Werner Koch  <wk@g10code.com>
+
+       * pka.c: New. Taked from 1.4.3.
+       * pka.h: New.
+       * Makefile.am: Added pka.
+
+2006-05-19  Werner Koch  <wk@g10code.com>
+
+       * yesno.c (answer_is_yes_no_default, answer_is_yes_no_quit):
+       Updated from 1.4.3.
+       (answer_is_okay_cancel): new.  From 1.4.3.
+
+       * miscellaneous.c (match_multistr): New.  Taken from 1.4.3.
+
+       * ttyio.c (tty_enable_completion, tty_disable_completion): New
+       dummy functions.
+       * ttyio.h: Add prototypes and stubs.
+
+2006-04-19  Werner Koch  <wk@g10code.com>
+
+       * iobuf.c (iobuf_get_fd): New.  Taken from 1.4.3.
+       (iobuf_is_pipe_filename): New.
+       (pop_filter): Made static.
+       (iobuf_skip_rest): New.  Orginal patch by Florian
+       Weimer.  Added new argument PARTIAL.
+       (block_filter): Remove the old gpg indeterminate length mode.
+       (block_filter): Properly handle a partial body stream
+       that ends with a 5-byte length that happens to be zero.
+       (iobuf_set_block_mode, iobuf_in_block_mode): Removed as
+       superfluous.
+       (iobuf_get_filelength): New arg OVERFLOW.
+       (iobuf_get_filelength) [W32]: Use GetFileSizeEx if available
+       * miscellaneous.c (is_file_compressed): Take care of OVERFLOW.
+
+2006-04-18  Werner Koch  <wk@g10code.com>
+
+       * homedir.c (w32_shgetfolderpath): New.  Taken from gpg 1.4.3.
+       (default_homedir): Use it.
+
+2005-10-08  Marcus Brinkmann  <marcus@g10code.de>
+
+       * signal.c (get_signal_name): Check value of HAVE_DECL_SYS_SIGLIST
+       instead of just if it is defined.
+
+2005-09-28  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Makefile.am (AM_CFLAGS): Add $(LIBASSUAN_CFLAGS).
+
+2005-07-04  Marcus Brinkmann  <marcus@g10code.de>
+
+       * simple-pwquery.h (simple_pwclear): New prototype.
+       * simple-pwquery.c (simple_pwclear): New function.
+
+2005-06-15  Werner Koch  <wk@g10code.com>
+
+       * miscellaneous.c (make_printable_string): Made P a void*.
+
+       * sexputil.c (keygrip_from_canon_sexp, cmp_simple_canon_sexp):
+       Fixed signed/unsigned pointer mismatch.
+       (make_simple_sexp_from_hexstr): Ditto.  This is all too ugly; I
+       wonder why gcc-4's default is to warn about them and forcing us to
+       use cast the warning away.
+       * iobuf.c (block_filter): Ditto.
+       (iobuf_flush): Ditto.
+       (iobuf_read_line): Ditto.
+       (iobuf_read): Make BUFFER a void *.
+       (iobuf_write): Make BUFFER a const void *.
+       * ttyio.c (tty_print_utf8_string2): Ditto.
+       * estream.c (estream_cookie_mem): Make MEMORY unsigned char*.
+       (es_write): Make BUFFER a void *.
+       (es_writen): Ditto.
+       (es_func_fd_read, es_func_fd_write, es_func_mem_read) 
+       (es_func_mem_write): Ditto.
+       (es_read, es_readn): Ditto.
+       (es_func_mem_write): Made MEMORY_NEW an unsigned char *.
+       * estream.h (es_cookie_read_function_t)
+       (es_cookie_write_function_t): Changed buffer arg to void*.
+
+2005-06-03  Werner Koch  <wk@g10code.com>
+
+       * estream.c: Use HAVE_CONFIG_H and not USE_CONFIG_H!
+       (es_func_fd_read, es_func_fd_write): Protect against EINTR.
+       
+2005-06-01  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (AM_CPPFLAGS): Added.
+
+       * util.h: Add some includes for gnulib.
+       (ttyname, isascii): Define them inline.
+       * fseeko.c, ftello.c: Removed.
+       * strsep.c, mkdtemp.c: Removed.
+       * ttyname.c, isascii.c: Removed.
+
 2005-05-31  Werner Koch  <wk@g10code.com>
 
        * dynload.h: s/__inline__/inline/.
        (atoi_1,atoi_2,atoi_4,xtoi_1,xtoi_2): New.
        
        
- Copyright 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+          2008, 2009 Free Software Foundation, Inc.
 
  This file is free software; as a special exception the author gives
  unlimited permission to copy and/or distribute it, with or without