Re-indent code and use test macros for betetr readability
[gnupg.git] / common / ChangeLog
index e80e703..1fb20d7 100644 (file)
@@ -1,3 +1,659 @@
+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.
        (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