dns-cert.c: Use constants for better readability.
[gnupg.git] / common / ChangeLog
index f4a8833..943862a 100644 (file)
@@ -1,5 +1,710 @@
+2011-11-29  Werner Koch  <wk@g10code.com>
+
+       * dns-cert.c: Use new CERTTYPE_ constants for better readability.
+
+2011-11-28  Werner Koch  <wk@g10code.com>
+
+       * t-dns-cert.c (main): Increase MAX_SIZE to 64k.
+
+       * dns-cert.c (get_dns_cert): Factor test code out to ...
+       * t-dns-cert.c: new file.
+
+2011-10-24  Werner Koch  <wk@g10code.com>
+
+       * dotlock.h, dotlock.c: Add alternative to allow distribution of
+       these files under a modified BSD license
+
+2011-09-30  Werner Koch  <wk@g10code.com>
+
+       Change the license of all JNLIB parts from LPGLv3+ to to LGPLv3+
+       or GPLv2+.
+
+       * dotlock.h (DOTLOCK_EXT_SYM_PREFIX): New macro.
+
+2011-09-29  Werner Koch  <wk@g10code.com>
+
+       * dotlock.c (DOTLOCK_USE_PTHREAD): New macro.
+       [DOTLOCK_USE_PTHREAD] (all_lockfiles_mutex): New.
+       (LOCK_all_lockfiles, UNLOCK_all_lockfiles): New.  Use them to
+       protect access to all_lockfiles.
+       (dotlock_set_fd, dotlock_get_fd): New.
+
+2011-09-28  Werner Koch  <wk@g10code.com>
+
+       * dotlock.c (dotlock_take, dotlock_take_unix, dotlock_take_w32):
+       Implement arbitrary timeout values.
+       (dotlock_create): Add arg FLAGS for future extensions.
+
+2011-09-27  Werner Koch  <wk@g10code.com>
+
+       * dotlock.c (dotlock_take_unix): Check only the link count and not
+       the error return from link.
+       (use_hardlinks_p): New.
+       (dotlock_create_unix): Test for hardlinks.
+       (dotlock_take_unix): Implement O_EXCL locking.
+
+2011-09-23  Werner Koch  <wk@g10code.com>
+
+       * dotlock.c: Factor Unix and W32 specific code out into specific
+       functions.  Define HAVE_POSIX_SYSTEM.  Rearrange some functions.
+       (disable_dotlock): Rename to dotlock_disable.
+       (create_dotlock): Rename to dotlock_create.
+       (destroy_dotlock): Rename to dotlock_destroy.
+       (make_dotlock): Rename to dotlock_take.
+       (release_dotlock): Rename to dotlock_release.
+
+2011-09-22  Werner Koch  <wk@g10code.com>
+
+       * dotlock.c: Remove support for RISCOS.
+
+2011-08-10  Werner Koch  <wk@g10code.com>
+
+       * t-exechelp.c (test_close_all_fds): Don't use the DUMMY_FD var.
+
+       * pka.c (get_pka_info): Remove unused var.
+
+       * signal.c (got_fatal_signal): Remove unused var.
+
+       * estream.c (es_fread, es_fwrite): Remove unused var.
+
+2011-07-20  Werner Koch  <wk@g10code.com>
+
+       * ssh-utils.c, ssh-utils.h: New.
+       * t-ssh-utils.c: New.
+       * Makefile.am (t_ssh_utils_LDADD): New.
+       (module_tests): Add t-ssh-utils.c
+
+2011-06-01  Marcus Brinkmann  <mb@g10code.com>
+
+       * util.h: Undef snprintf before redefining it.
+
+2011-05-20  Werner Koch  <wk@g10code.com>
+
+       * util.h: Remove some error code substitutes.
+
+2011-04-25  Werner Koch  <wk@g10code.com>
+
+       * userids.c (classify_user_id): Add arg OPENPGP_HACK to fix
+       regression from 2009-12-08.
+
+2011-04-01  Werner Koch  <wk@g10code.com>
+
+       * sysutils.c (get_uint_nonce): New.
+
+2011-03-03  Werner Koch  <wk@g10code.com>
+
+       * estream.c (struct estream_list): Rename to estream_list_s and
+       simplify.  A double linked list is overkill for our purpose.
+       (do_list_add, do_list_remove): Adjust accordingly.
+       (_es_get_std_stream): Ditto.
+       (do_list_iterate, estream_iterator_t): Remove; it is used only at
+       one place.
+       (es_fflush): Replace iteration function.  Also lock each stream
+       while flushing all streams.
+
+2011-02-27  Werner Koch  <wk@g10code.com>
+
+       * gettime.c (isotime2epoch): Factor check code out to ..
+       (isotime_p): .. new.
+       (isotime_human_p): New.
+       (string2isotime): New.
+       * t-gettime.c (test_string2isotime): New.
+
+2011-02-11  Andrey Jivsov <openpgp@brainhub.org>
+
+       * openpgp-oid.c (openpgp_oid_to_str): Use unsigned int for
+       get_opaque.  Fixes a bug on 64 bit platforms.
+
+2011-02-08  Werner Koch  <wk@g10code.com>
+
+       * http.c (connect_server): Add arg R_HOST_NOT_FOUND.
+
+2011-02-07  Werner Koch  <wk@g10code.com>
+
+       * http.c (my_socket_new, my_socket_ref, my_socket_unref): New.
+       (cookie_close, cookie_read, cookie_write, http_close, _http_open)
+       (send_request): Replace use of an socket integer by the new socket
+       object.
+       (_http_raw_connect): New.
+       (fp_onclose_notification): New.
+       (_http_raw_connect, _http_wait_response, http_close): Register and
+       unregister this notification.
+       * http.h (http_raw_connect): New.
+
+       * http.h (parsed_uri_s): Add field IS_OPAQUE.
+       (http_req_t): Add HTTP_REQ_OPAQUE.
+       * http.c (do_parse_uri): Parse unknown schemes into PATH.
+       (my_socket_new, my_socket_ref, my_socket_unref): New.
+       (send_request): Simplify save_errno stuff.
+
+2011-02-03  Werner Koch  <wk@g10code.com>
+
+       * status.h (STATUS_DECRYPTION_INFO): New.
+
+       * argparse.c (strusage): Update copyright year.
+
+2011-01-31  Werner Koch  <wk@g10code.com>
+
+       * openpgp-oid.c: New.
+       * t-openpgp-oid.c: New.
+
+2011-01-20  Werner Koch  <wk@g10code.com>
+
+       Fix bug#1313.
+
+       * http.c (my_select): New.  Define to pth_select if building with Pth.
+       (start_server, write_server, cookie_read, cookie_write): Use it.
+       (my_connect): New.  Define to pth_connect if building with Pth.
+       (connect_server): Use it.
+       (my_accept): New.  Define to pth_accept if building with Pth.
+       (start_server): Use it.
+
+2011-01-20  Werner Koch  <wk@g10code.com>
+
+       * util.h (struct b64state): Add field LASTERR.
+       * b64enc.c (enc_start, b64enc_write, b64enc_finish): Handle
+       LASTERR.  This is to make sure that we don't leak strduped data.
+       * b64dec.c (b64dec_start, b64dec_proc, b64dec_finish): Ditto.
+
+       * http.c (escape_data): New.
+       (insert_escapes): Implement using escape_data.
+       (http_escape_data): New.
+
+2011-01-19  Werner Koch  <wk@g10code.com>
+
+       * homedir.c (gnupg_module_name): Use NAME_OF_INSTALLED_GPG instead
+       of "gpg2".
+
+2011-01-18  Werner Koch  <wk@g10code.com>
+
+       * iobuf.c (file_es_filter_ctx_t): New.
+       (file_es_filter): New.
+       (iobuf_esopen): New.
+
+       * membuf.c (clear_membuf, peek_membuf): New.
+
+       * util.h (GPG_ERR_NO_KEYSERVER): New.
+
+       * keyserver.h (keyserver_spec): Move from ../g10/options.h to here.
+
+       * http.c (do_parse_uri): Add arg NO_SCHEME_CHECK.  Change all
+       callers.  Support HKP and HKPS.
+       (_http_parse_uri): Do proper error management.
+       * http.h (parsed_uri_s): Add field IS_HTTP.
+       (http_parse_uri): Support NO_SCHEME_CHECK arg.
+
+       * estream.c (es_func_mem_write): Fix computation of NEWSIZE.
+
+2011-01-10  Werner Koch  <wk@g10code.com>
+
+       * session-env.c (update_var): Fix same value detection.  Fixes
+       bug#1311.
+
+2010-12-17  Werner Koch  <wk@g10code.com>
+
+       * asshelp.c (lock_spawning): Add arg VERBOSE.  Improve timeout
+       management.  Make callers pass a value for VERBOSE.
+       (lock_agent_spawning, unlock_agent_spawning): Remove.  Change
+       callers to use lock_spawning and unlock_spawning.
+
+2010-12-17  Marcus Brinkmann  <mb@g10code.com>
+
+       * homedir.c (gnupg_cachedir): Create /temp subdirectories.
+
+2010-12-02  Werner Koch  <wk@g10code.com>
+
+       * miscellaneous.c (gnupg_cipher_algo_name): New.  Replace all
+       users of gcry_cipher_algo_name by this one.
+
+       * logging.c (fun_cookie_s) [W32CE]: Add field USE_WRITEFILE.
+       (fun_writer) [W32CE]: Make use of it.
+       (set_file_fd) [W32CE]: Implement special filename "GPG2:".
+
+2010-11-25  Werner Koch  <wk@g10code.com>
+
+       * asshelp.c (start_new_gpg_agent): Change style of startup info.
+       (start_new_dirmngr): Ditto.
+
+2010-11-23  Werner Koch  <wk@g10code.com>
+
+       * asshelp.c (SECS_TO_WAIT_FOR_AGENT, SECS_TO_WAIT_FOR_DIRMNGR):
+       Use these constants.  For W32CE increase them to 30 seconds.
+       (start_new_gpg_agent): Print time to startup agent.
+       (start_new_dirmngr): Ditto.
+
+2010-11-04  Werner Koch  <wk@g10code.com>
+
+       * logging.c (do_logv) [W32]: Don't set a default log stream if the
+       registry entry is empty.
+
+2010-10-27  Werner Koch  <wk@g10code.com>
+
+       * gettime.c (gnupg_get_isotime): Compare to (time_t)-1.
+       (epoch2isotime): Ditto.
+       (IS_INVALID_TIME_T): New.
+       (asctimestamp): Use new macro.
+       (strtimestamp, isotimestamp): Ditto.  Use snprintf.
+
+2010-10-25  Werner Koch  <wk@g10code.com>
+
+       * logging.c (do_log): Rename to log_log and make global.
+
+2010-10-20  Werner Koch  <wk@g10code.com>
+
+       * i18n.c (i18n_init) [USE_SIMPLE_GETTEXT]: Call textdomain.
+
+2010-10-14  Werner Koch  <wk@g10code.com>
+
+       * asshelp.c (start_new_gpg_agent): Print a notice once the agent
+       has been started.
+       (start_new_dirmngr): Likewise.
+
+2010-10-13  Werner Koch  <wk@g10code.com>
+
+       * miscellaneous.c (parse_version_number, parse_version_string)
+       (gnupg_compare_version): New.
+
+2010-10-04  Werner Koch  <wk@g10code.com>
+
+       * gettime.c (asctimestamp) [W32CE]: Do not print the timezone.
+
+2010-09-30  Werner Koch  <wk@g10code.com>
+
+       * util.h (GPG_ERR_FULLY_CANCELED): Add replacement.
+
+2010-09-17  Werner Koch  <wk@g10code.com>
+
+       * http.c (INADDR_NONE): Provide fallback.
+       * logging.c (INADDR_NONE): Ditto.
+
+2010-09-16  Werner Koch  <wk@g10code.com>
+
+       * util.h: Add GPG_ERR_MISSING_ISSUER_CERT.
+       * status.c (get_inv_recpsgnr_code): Ditto.
+
+2010-09-13  Werner Koch  <wk@g10code.com>
+
+       * homedir.c (gnupg_bindir) [W32CE]: Change to bin/.
+       (gnupg_libexecdir) [W32]: Call gnupg_bindir.
+       (gnupg_libdir, gnupg_datadir, gnupg_localedir) [W32]: Simplify by
+       using xstrconcat.
+       (gnupg_module_name): Ditto.
+       (w32_rootdir): Strip a trailing "bin".
+
+2010-09-02  Werner Koch  <wk@g10code.com>
+
+       * util.h (GPG_ERR_NOT_INITIALIZED): Define if not defined.
+
+2010-09-01  Marcus Brinkmann  <marcus@g10code.de>
+
+       * estream.c (_es_set_std_fd): Disable debug output.
+
+2010-08-26  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_convert_mode): Rename to parse_mode.
+       (parse_mode): Add arg R_CMODE and parse key value pairs.  Use Use
+       664 as the default mode.  Change callers.
+       (ES_DEFAULT_OPEN_MODE): Remove.
+       (es_fopen, do_fpopen, do_w32open, es_freopen): Support a creation
+       mode.
+       (es_func_file_create): Rename to func_file_create and add arg CMODE.
+       (es_func_fd_create): Rename to func_fd_create.
+       (es_func_fp_create): Rename to func_fp_create.
+       (es_list_add): Rename to do_list_add.
+       (es_list_remove): Rename to do_list_remove.
+       (es_list_iterate): Rename to do_list_iterate.
+       (es_pth_read): Rename to do_pth_read.
+       (es_deinit): Rename to do_deinit.
+       (es_init_do): Rename to do_init.
+       (es_func_mem_create): Rename to func_mem_create.
+
+2010-08-23  Werner Koch  <wk@g10code.com>
+
+       * exechelp-w32ce.c: Rewrite all spawn stuff.
+
+       * exechelp-w32.c (close_all_fds) [W32]: Make it a dummy function.
+
+       * estream.c (es_onclose): New.
+       (notify_list_t, onclose): New.
+       (struct estream_internal): Add field ONCLOSE.
+       (es_initialize, es_deinitialize): Manage new field.
+       (do_close): Call onclose notify functions.
+
+2010-08-20  Werner Koch  <wk@g10code.com>
+
+       * exechelp-w32.c (create_inheritable_pipe): Change arg to HANDLE.
+
+       * estream.h (es_sysopen_t): New.
+       * estream.c (es_func_w32_create, es_func_w32_read)
+       (es_func_w32_write, es_func_w32_seek, es_func_w32_destroy)
+       (estream_functions_w32, estream_cookie_fd): New.  Only for W32.
+       (es_sysopen, es_sysopen_nc): New.
+       (do_w32open, do_sysopen): New.
+       (es_syshd, es_syshd_unlocked): New.
+       (struct estream_internal): Replace filed FD by SYSHD.
+       (es_initialize): Clear SYSHD_VALID.
+       (map_w32_to_errno): New.
+       (es_get_fd): Remove.
+       (es_fileno_unlocked): Re-implement using es_syshd.
+       (es_initialize, es_create): Replace arg FD by SYSHD.
+       (es_fopen, es_mopen, es_fopenmem, do_fdopen, do_fpopen)
+       (es_tmpfile): Use SYSHD instead of FD.
+       (es_destroy): Rename to do_close.
+
+2010-08-19  Werner Koch  <wk@g10code.com>
+
+       * exechelp-posix.c (create_pipe_and_estream): New.
+       (gnupg_spawn_process): Rework this function and its calling
+       convention; it is not used anyway.
+       * exechelp-w32.c (gnupg_spawn_process): Ditto.
+
+2010-08-18  Werner Koch  <wk@g10code.com>
+
+       * logging.c (writen): Add arg IS_SOCKET.
+       (fun_writer): Pass the is_socket flag.
+       (do_logv) [W32]: Allow for a default log stream
+
+       * estream.c (struct estream_internal): Remove obsolete fields
+       PRINT_FP, PRINT_ERRNO, PRINT_ERR and all remaining code cruft.
+
+2010-08-16  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_printf_unlocked, es_printf): New.
+
+       * asshelp.c (lock_agent_t): Rename to lock_spawn_t.
+       (lock_agent_spawning, unlock_agent_spawning): Factor code out to ...
+       (lock_spawning, unlock_spawning): .. new.
+       (start_new_gpg_agent): Make more use of ERRSOURCE.
+       (start_new_dirmngr): New.
+
+2010-08-13  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (audit-events.h, status-codes.h): Fix srcdir problem
+       amd depend on Makefile.am instead of Makefile.
+
+2010-08-12  Werner Koch  <wk@g10code.com>
+
+       * sysutils.c (gnupg_remove) [W32CE]: Fix returned error.
+
+2010-08-09  Werner Koch  <wk@g10code.com>
+
+       * logging.c (WITH_IPV6): New macro.
+       (parse_portno): New.  From libassuan.
+       (fun_writer): Support TCP logging on all platforms.
+       (sock_close): New.
+
+2010-08-06  Werner Koch  <wk@g10code.com>
+
+       * homedir.c (dirmngr_socket_name) [W32CE]: Base on default homedir.
+       (gnupg_cachedir) [W32CE]: Drop drive letter.
+
+       * http.c (http_open_document): Rename to _http_open_document and
+       add arg ERRSOURCE.  Pass ERRSOURCE to all called funcs.
+       (http_wait_response, http_open, http_parse_uri): Likewise.
+       (do_parse_uri, parse_response, store_header): Change to return an
+       gpg_err_code_t.  Change callers.
+       (send_request): Add arg ERRSOURCE.  Change callers.
+       * http.h (http_open_document, http_wait_response, http_open)
+       (http_parse_uri): Define as macro.
+
+2010-08-05  Werner Koch  <wk@g10code.com>
+
+       * estream.h (es_asprintf, es_vasprintf): Add lost prototyps.
+
+       * http.c: Require estream and make HTTP_USE_ESTREAM obsolete.  It
+       make the code unreadable and we require estream anyway for GnuPG.
+       (http_wait_response): Get use of cookies right.
+       (send_request): s/xtryasprintf/es_asprintf/ to allow standalone
+       use of the code.
+       (insert_escapes, connect_server): s/sprintf/snprintf/.
+       (parse_response): s/my_read_line/es_read_line/.
+       (my_read_line): Remove.
+       (write_server): Use pth_write.
+
+2010-07-26  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_func_fp_write) [W32]: Write smaller chunks.
+
+2010-07-25  Werner Koch  <wk@g10code.com>
+
+       * argparse.c (initialize): Use ARGPARSE_PRINT_WARNING constant.
+
+2010-07-24  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_set_binary): New.
+
+2010-07-19  Werner Koch  <wk@g10code.com>
+
+       * utf8conv.c (utf8_to_wchar): s/malloc/jnlib_malloc/.
+
+2010-07-16  Werner Koch  <wk@g10code.com>
+
+       * http.h (HTTP_FLAG_IGNORE_CL): Add flag .
+       * http.c (WITHOUT_GNU_PTH): Test macro for Pth support.
+       (http_parse_uri): s/xcalloc/xtrycalloc/.
+       (send_request): Replace of discrete allocation and sprintf by
+       xtryasprintf.
+       (http_wait_response): Replace HTTP_FLAG_NO_SHUTDOWN by
+       HTTP_FLAG_SHUTDOWN to change the default to no shutdown.
+       (cookie_read) [HAVE_PTH]: Use pth_read.
+       (longcounter_t): New.
+       (struct cookie_s): Add support for content length.  Turn flag
+       fields into bit types.
+       (parse_response): Parse content length header.
+       (cookie_read): Take care of the content length.
+
+2010-07-08  Werner Koch  <wk@g10code.com>
+
+       * estream.c (estream_functions_file): Remove and replace by
+       identical estream_functions_fd.
+
+2010-07-06  Werner Koch  <wk@g10code.com>
+
+       * util.h (b64state): Add field STREAM.
+       * b64enc.c (b64enc_start): Factor code out to ..
+       (enc_start): new.
+       (b64enc_start_es, my_fputs): New.
+       (b64enc_write, b64enc_finish): Support estream.
+
+2010-06-24  Werner Koch  <wk@g10code.com>
+
+       * asshelp.c (lock_agent_spawning) [W32]: Use CreateMutexW.
+       (start_new_gpg_agent): Use HANG option for gnupg_wait_progress.
+       Fixes regression from 2010-06-09.
+
+2010-06-21  Werner Koch  <wk@g10code.com>
+
+       * util.h (xfree_fnc): New.
+
+2010-06-18  Werner Koch  <wk@g10code.com>
+
+       * util.h (GPG_ERR_MISSING_KEY) [!GPG_ERR_MISSING_KEY]: New.
+
+       * sexputil.c (make_canon_sexp_pad): Add arg SECURE.
+
+2010-06-17  Werner Koch  <wk@g10code.com>
+
+       * sexputil.c (make_canon_sexp_pad): New.
+
+2010-06-14  Werner Koch  <wk@g10code.com>
+
+       * membuf.c (put_membuf): Add shortcut for !LEN.
+
+2010-06-11  Marcus Brinkmann  <marcus@g10code.de>
+
+       * sysutils.c (translate_sys2libc_fd): Revert last change.
+       (translate_sys2libc_fd_int): Revert last change.
+
+2010-06-10  Marcus Brinkmann  <marcus@g10code.de>
+
+       * sysutils.c (translate_sys2libc_fd) [HAVE_W32CE_SYSTEM]:
+       Implement.
+       (translate_sys2libc_fd_int) [HAVE_W32CE_SYSTEM]: Don't call
+       translate_sys2libc_fd.
+
+       * estream.c (_es_get_std_stream): Fix cut&paste bug.
+
+2010-06-09  Werner Koch  <wk@g10code.com>
+
+       * exechelp-posix.c, exechelp-w32.c
+       * exechelp-w32ce.c (gnupg_wait_process): Add new arg HANG.  Change
+       all callers.
+       (gnupg_release_process): New.  Use it after all calls to
+       gnupg_wait_process.
+
+       * util.h (GNUPG_MODULE_NAME_DIRMNGR_LDAP): New.
+       * homedir.c (gnupg_cachedir): New.
+       (w32_try_mkdir): New.
+       (dirmngr_socket_name): Change standard socket name.
+       (gnupg_module_name): Support GNUPG_MODULE_NAME_DIRMNGR_LDAP.
+
+       * logging.c (log_set_get_tid_callback): Replace by ...
+       (log_set_pid_suffix_cb): .. new.
+       (do_logv): Change accordingly.
+
+2010-06-08  Marcus Brinkmann  <marcus@g10code.de>
+
+       * Makefile.am (AM_CFLAGS): Add $(LIBASSUAN_CFLAGS).
+       (t_common_ldadd): Add $(LIBASSUAN_LIBS).
+       * sysutils.c: Include <assuan.h>.
+       (translate_sys2libc_fd_int): Cast to silence gcc warning.
+       * iobuf.c: Include <assuan.h>
+       (translate_file_handle): Fix syntax error.
+
+2010-06-08  Werner Koch  <wk@g10code.com>
+
+       * iobuf.c (translate_file_handle) [W32CE]: Handle rendezvous ids.
+
+2010-06-07  Werner Koch  <wk@g10code.com>
+
+       * sysutils.c [W32CE]: Finish pipe creation.
+
+       * estream.c (es_fname_get, es_fname_set): New.
+       (fname_set_internal): New.
+       (struct estream_internal): Add fields printable_fname and
+       printable_fname_inuse.
+       (_es_get_std_stream): Set stream name.
+       (es_fopen, es_freopen, es_deinitialize): Set fname.
+
+       * exechelp-posix.c (gnupg_spawn_process): Allow passing INFILE or
+       OUTFILE as NULL.
+       * exechelp-w32.c (gnupg_spawn_process): Ditto.
+       * exechelp-w32ce.c (gnupg_spawn_process): Return an error for
+       INFILE or OUTFILE passed as NULL.
+
+2010-06-01  Werner Koch  <wk@g10code.com>
+
+       * logging.c (log_get_stream): Make sture a log stream is available.
+
+2010-05-30  Werner Koch  <wk@g10code.com>
+
+       * init.c (writestring_via_estream): New.
+       (init_common_subsystems): Register with argparse.
+
+       * argparse.c (argparse_register_outfnc): New.
+       (writestrings, flushstrings): New.  Use them instead of stdout or
+       stderr based functions.
+
+2010-05-04  Werner Koch  <wk@g10code.com>
+
+       * estream.c (_es_get_std_stream): Re-use registered standard fds.
+       (IS_INVALID_FD, ESTREAM_SYS_YIELD): New.
+       (es_func_fd_read, es_func_fd_write, es_func_fd_seek)
+       (es_func_fd_destroy): Implement a dummy stream.
+
+       * exechelp-w32ce.c (build_w32_commandline): Add args FD0_ISNULL
+       and FD1_ISNULL.  Remove arg PGMNAME.  Change callers.
+       (gnupg_spawn_process_detached): Implement.
+       (gnupg_spawn_process_fd): Implement one special case for now.
+
+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-posix.c (gnupg_wait_process): Do not log a message if
+       EXITCODE is given.
+       (gnupg_spawn_process_detached): Do not reuse PID for the second fork.
+
+2010-04-26  Werner Koch  <wk@g10code.com>
+
+       * utf8conv.c (load_libiconv) [W32CE]: No libiconv warning
+
+       * init.c (init_common_subsystems) [W32CE]: Register the sleep
+       function before es_init.
+
+2010-04-20  Werner Koch  <wk@g10code.com>
+
+       * estream.c (es_deinit): New.
+       (es_init_do): Install atexit handler to flush all streams.
+
+       * Makefile.am (common_sources): Add gettime.h.
+
+2010-04-20  Marcus Brinkmann  <marcus@g10code.de>
+
+       * logging.c (do_log_ignore_arg): New helper function.
+       (log_string): Use it to remove ugly volatile hack that causes gcc
+       warning.
+       (log_flush): Likewise.
+       * sysutils.c (gnupg_unsetenv) [!HAVE_W32CE_SYSTEM]: Return something.
+       (gnupg_setenv) [!HAVE_W32CE_SYSTEM]: Likewise.
+       * pka.c (get_pka_info): Solve strict aliasing rule violation.
+       * t-exechelp.c (test_close_all_fds): Use dummy variables to
+       silence gcc warning.
+
+2010-04-15  Werner Koch  <wk@g10code.com>
+
+       * util.h: Factor time related functions out to ...
+       * gettime.h: New.
+       (gnupg_copy_time): Move to ...
+       * gettime.c (gnupg_copy_time): New.
+
+       * sysutils.c (gnupg_setenv) [!W32CE]: Add missing return.
+       (gnupg_unsetenv) [!W32CE]: Add missing return.
+
+2010-04-14  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (noinst_LIBRARIES) [W32CE]: Exclude libsimple-pwquery.
+
+       * w32help.h (umask) [W32CE]: New.
+
+       * sysutils.c (_gnupg_isatty): New.
+       * util.h (gnupg_isatty): New.
+
+       * asshelp.c (setup_libassuan_logging): Read ASSUAN_DEBUG envvar.
+       (my_libassuan_log_handler): Use it.
+       * sysutils.c (_gnupg_getenv): Implement ASSUAN_DEBUG.
+
+2010-04-08  Werner Koch  <wk@g10code.com>
+
+       * w32help.h (_setmode, setmode) [W32CE]: Provide prototype and
+       macro.
+
+2010-04-07  Werner Koch  <wk@g10code.com>
+
+       * mischelp.c (timegm): Replace unsetenv/putenv by gnupg_unsetenv.
+
+       * sysutils.c: Include setenv.h.
+       (gnupg_setenv, gnupg_unsetenv): New.
+
+
+2010-04-06  Werner Koch  <wk@g10code.com>
+
+       * sysutils.c (gnupg_mkdir): New.
+
+2010-03-29  Werner Koch  <wk@g10code.com>
+
+       * init.c (sleep_on_exit): Change to 400ms.
+
+2010-03-25  Werner Koch  <wk@g10code.com>
+
+       * init.c (sleep_on_exit) [W32CE]: New.
+       (init_common_subsystems): Call it.
+
+2010-03-24  Werner Koch  <wk@g10code.com>
+
+       * stringhelp.c (change_slashes, compare_filenames): Replace
+       HAVE_DRIVE_LETTERS by HAVE_DOSISH_SYSTEM.
+       (make_basename, make_dirname): Detect backslashes and drive
+       letters separately.
+
+       * dotlock.c (make_dotlock, create_dotlock, release_dotlock): Use
+       LockFileEx and UnlockFileEx to support W32CE.
+
+       * ttyio.c (USE_W32_CONSOLE): Replace all _WIN32 by this.
+       (init_ttyfp) [W32CE]: Use stderr.
+
+       * iobuf.c (FD_FOR_STDIN, FD_FOR_STDOUT) [W32CE]: Use estream.
+       (translate_file_handle) [W32CE]: Remove handle translation.
+
+2010-03-23  Werner Koch  <wk@g10code.com>
+
+       * sysutils.c (gnupg_remove): New.
+
 2010-03-22  Werner Koch  <wk@g10code.com>
 
+       * exechelp-w32ce.c (build_w32_commandline): Replace by code from
+       libassuan.
+       (create_inheritable_pipe): Use _assuan_w32ce_prepare_pipe.
+       (build_w32_commandline_copy, do_create_pipe): Remove.
+
+       * exechelp-posix.c (gnupg_spawn_process): Change to use estream
+       also for INFILE and STATUSFILE.
+       * exechelp-w32.c (gnupg_spawn_process): Ditto.
+
+2010-03-22  Werner Koch  <wk@g10code.com>
+
+       * exechelp.c: Remove after factoring all code out to ...
+       * exechelp-posix.c, exechelp-w32.c, exechelp-w32ce.c:  .. new.
+
+       * exechelp.c (create_inheritable_pipe_r)
+       (create_inheritable_pipe_w): Fold both into ...
+       (create_inheritable_pipe): .. New.  Change callers to use this.
+       (gnupg_create_inbound_pipe, gnupg_create_outbound_pipe): Factor
+       code out to ...
+       (do_create_pipe): .. New.
+
        * init.c (parse_std_file_handles): Change to use rendezvous ids.
 
 2010-03-15  Werner Koch  <wk@g10code.com>
 
 
  Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-          2009, 2010 Free Software Foundation, Inc.
+          2009, 2010, 2011 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