2011-12-02  Werner Koch  <wk@g10code.com>

	NB: ChangeLog files are no longer manually maintained.  Starting
	on December 1st, 2011 we put change information only in the GIT
	commit log, and generate a top-level ChangeLog file from logs at
	"make dist".  See doc/HACKING for details.

2011-09-12  Werner Koch  <wk@g10code.com>

	* ttyio.c (init_ttyfp): Avoid endless loop due to a failed opening
	of the tty.  Suggested by Steven M. Schweda.

2011-08-09  Werner Koch  <wk@g10code.com>

	* pka.c (get_pka_info): Turn ANSWER into a union to avoid aliasing
	problems with modern compilers.  See bug#1307.  Reported by Steve
	Grubb.
	(get_pka_info): Remove unused vars.

2010-10-27  Werner Koch  <wk@g10code.com>

	* miscutil.c (INVALID_TIME_CHECK): New.
	(strtimestamp, isotimestamp, asctimestamp): Use it.

2010-09-28  Steven M. Schweda  <sms@antinode.info>  (wk)

	Changes to help the VMS port. See
	http://antinode.info/dec/sw/gnupg.html .

	* cert.c [__VMS]: Include cert_vms.h.
	* ttyio.c [__VMS]: Include vms.h.
	(init_ttyfp) [__VMS]: Make global.
	(ttyfp_is) [__VMS]: New.
	(do_get) [__VMS]: Disable terminal echo.
	* srv.c [__VMS]: Include cert_vms.h.
	* secmem.c (lock_pool) [__VMS]: Use log_warning.
	* pka.c [USE_DNS_PKA]: Define T_CERT.
	* logger.c [__VMS]: Include unistd.h and ttyio.h.
	(g10_log_print_prefix) [__VMS]: Init logfp.
	* iobuf.c [__VMS]: Include vms.h.
	(iobuf_get_filelength) [__VMS]: Use VMS specific method.

2009-09-03  Werner Koch  <wk@g10code.com>

	* ttyio.c (tty_printf) [_WIN32]: s/xtryasprintf/xtryvasprint/
	* strgutil.c (xtryvasprintf): New.

	* estream-printf.c: Include stdint.h only if HAVE_STDINT_H is
	defined.  Problem reported by Nelson H. F. Beebe.
	* estream.m4: Check for stdint.h.

	* estream-printf.c: Remove all test code.  Use macro DEBUG instead
	of TEST for debugging.

2009-08-25  Werner Koch  <wk@g10code.com>

	* compat.c: Change license to all-permissive.  The GPL and the
	exception does no make sense here.
	(do_strconcat, xstrconcat): New.

2009-08-18  Werner Koch  <wk@g10code.com>

	* iobuf.c (fd_cache_close): Change debug printf format assuming
	that FILEP_OR_FD is today always an int.

	* miscutil.c (print_string2): Loose check for control characters
	to better cope with utf-8.  The range 0x80..0x9f is nowadays not
	anymore accidently used for control charaters.  Fixes bug#1103.

2009-08-11  David Shaw  <dshaw@jabberwocky.com>

	* strgutil.c (string_to_utf8): New function to convert a Latin-1
	string to UTF8.  From GPA.

2009-07-23  David Shaw  <dshaw@jabberwocky.com>

	* srv.c (getsrv): Fix type-punning warning.
	(main): Allow testing any SRV.

2009-07-21  Werner Koch  <wk@g10code.com>

	* ttyio.c (tty_printf): Replace vasprintf by xtryasprintf.
	(tty_fprintf): Ditto.

	* strgutil.c: Include estream-printf.h.
	(xasprintf, xtryasprintf): New.
	(vasprintf, asprintf): Remove.

	* estream-printf.c: New.  Taken from libestream.
	* Makefile.am (libutil_a_SOURCES): Add it.

	* memory.c (trymalloc,trystrdup): New.

	* convert.c: New.  Taken from GnuPG 2.0 SVN.
	* Makefile.am (libutil_a_SOURCES): Add it.

2009-05-26  David Shaw  <dshaw@jabberwocky.com>

	* http.c (send_request): Pass in a STRLIST for additional headers.
	Change all callers.

2009-05-22  Werner Koch  <wk@g10code.com>

	* ttyio.c (tty_cleanup_after_signal): New.

2009-05-05  Werner Koch  <wk@g10code.com>

	* dotlock.c: Merged changes from GnuPG-2.  Better detection of
	stale lockfiles and actual locking support on W32.  Fixes bug#1028.

	* miscutil.c (isotime2seconds): New.

2009-04-05  David Shaw  <dshaw@jabberwocky.com>

	* srv.h: Move to include/srv.h.

	* http.c (send_request): Pass in srvtag...
	(http_open): ...from here.

2009-04-02  David Shaw  <dshaw@jabberwocky.com>

	* http.c (connect_server): free (rather than xfree) the result of
	getsrv().
	(http_open, http_open_document): Allow passing srvtag to http_open
	and http_open_document.

	* Makefile.am: Make srv.c part of libcompat instead of libutil.

	* srv.c (getsrv): Raise maximum packet size to 2048, as PACKETSZ
	is too small these days.  Use libc malloc and free as we're part
	of libcompat now which may not be linked to memory.c.

2009-03-20  David Shaw  <dshaw@jabberwocky.com>

	* iobuf.c (fd_cache_synchronize): New.  fsync() a file in cache.
	(iobuf_ioctl): Called here, for ioctl 4.
	(fd_cache_invalidate): Pass return code from close() back to
	iobuf_ioctl().

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.

	* Makefile.am, http.c (start_server): Minor tweaks to get
	http-test compiling again.

2008-09-05  David Shaw  <dshaw@jabberwocky.com>

	* Makefile.am: Use $(CC) instead of "cc" to compile, as the user
	might be overriding the compiler.

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-03-06  David Shaw  <dshaw@jabberwocky.com>

	* argparse.c (default_strusage): Update copyright date.

2007-10-23  Werner Koch  <wk@g10code.com>

	Switched entire package to GPLv3+.  The parts taken from libassuan
	and glibc are kept at LGPLv2+; only the address as been chnaged.

	* argparse.c (strusage): Use id 10 for the license string;
	defaults to GPL3+.  Change long note to version 3 or later.
	(show_version): Print the license info.

2007-08-24  Werner Koch  <wk@g10code.com>

	* fileutil.c (same_file_p): New.  Taken from SVN trunk.
	(compare_filenames) [HAVE_DRIVE_LETTERS]: Take drive letters and
	backslashes in account.

2007-04-16  David Shaw  <dshaw@jabberwocky.com>

	* strgutil.c (ascii_toupper, ascii_tolower, ascii_strcasecmp,
	ascii_strncasecmp): Move functions to compat.c.

2007-04-16  Werner Koch  <wk@g10code.com>

	* secmem.c (init_pool): Avoid assigning a negative value to a
	size_t.

2007-04-16  David Shaw  <dshaw@jabberwocky.com>

	* secmem.c (init_pool): Use sysconf() if available to determine
	page size.

2007-04-15  David Shaw  <dshaw@jabberwocky.com>

	* argparse.c (default_strusage): Copyright 2007.

	* cert.c, srv.c, pka.c: Need arpa/inet.h for ntohs().

2007-02-26  Werner Koch  <wk@g10code.com>

	* simple-gettext.c (set_gettext_file): Make use of the envvar
	LANGUAGE to allow overriding of the registry setting.

2007-02-12  Werner Koch  <wk@g10code.com>

	* secmem.c (ptr_into_pool_p): New.
	(m_is_secure): Implement in terms of above.  Also check that the
	pool has been initialized.

2007-02-10  David Shaw  <dshaw@jabberwocky.com>

	* 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  David Shaw  <dshaw@jabberwocky.com>

	* ttyio.c (do_get): Assume that anything read from the user
	without echoing to the screen is sensitive and put it in secure
	memory.  Suggested by Benjamin Bennett.

2006-12-14  Werner Koch  <wk@g10code.com>

	* http.c (http_wait_response): No more shutdown.  Fixes bug#739.

2006-10-02  David Shaw  <dshaw@jabberwocky.com>

	* strsep.c (strsep): It's strsep, not strsep2 from testing.  (If I
	had a dollar for every time I've done that...)

2006-09-28  David Shaw  <dshaw@jabberwocky.com>

	* strgutil.c (strsep): Move to strsep.c for AC_REPLACE_FUNCS.

	* Makefile.am: Build libcompat.a for keyserver helpers.  libutil.a
	always contains everything in libcompat.a, so we only need to link
	to one or the other.

	* miscutil.c: Move hextobyte to new file compat.c.

2006-07-31  Werner Koch  <wk@g10code.com>

	* iobuf.c (iobuf_ioctl, fd_cache_invalidate): Allow closing all
	open files.

2006-07-29  Marcus Brinkmann  <marcus@g10code.de>

	* secmem.c (init_pool): Close FD after establishing the mapping.

2006-07-20  David Shaw  <dshaw@jabberwocky.com>

	* http.c (send_request): A zero-length proxy is the same as no
	proxy at all.  Suggested by J. Scott Berg.

2006-04-17  David Shaw  <dshaw@jabberwocky.com>

	* miscutil.c (make_printable_string): Fix bug where some control
	characters lose part of their ASCII representation.

2006-04-11  David Shaw  <dshaw@jabberwocky.com>

	* memory.c (realloc): Revert m_guard fix and stick an #error in
	there to inform people not to use it.

2006-04-11  Werner Koch  <wk@g10code.com>

	* iobuf.c (IOBUF_BUFFER_SIZE): New to replace hardwired 8192.

2006-04-06  David Shaw  <dshaw@jabberwocky.com>

	* memory.c (realloc): Fix compile problem with --enable-m-guard.

2006-03-30  David Shaw  <dshaw@jabberwocky.com>

	* cert.c (main): Fix test program build warning on OSX.

2006-03-16  David Shaw  <dshaw@jabberwocky.com>

	* cert.c (get_cert): Handle the fixed IPGP type with fingerprint.

2006-03-08  David Shaw  <dshaw@jabberwocky.com>

	* argparse.c (default_strusage): Update copyright year to 2006.

2006-02-19  David Shaw  <dshaw@jabberwocky.com>

	* http.c (send_request): A zero length proxy is the same as no
	proxy.

2006-02-14  Werner Koch  <wk@gnupg.org>

	* errors.c (g10_errstr): Add NO_DATA.

2006-01-26  David Shaw  <dshaw@jabberwocky.com>

	* cert.c (get_cert): Disable IPGP types for now until the format
	questions in the draft are settled.

	* srv.c (getsrv): Error on oversize SRV responses.

2005-12-24  David Shaw  <dshaw@jabberwocky.com>

	* cert.c (get_cert): Properly chase down CNAMEs pointing to CERTs.

2005-12-23  David Shaw  <dshaw@jabberwocky.com>

	* cert.c, Makefile.am: New code to do DNS CERT queries.

2005-12-22  David Shaw  <dshaw@jabberwocky.com>

	* srv.c, Makefile.am: Only build srv.c if we need to.

2005-12-10  Ryan Lortie  <desrt@desrt.ca> (dshaw)

	* ttyio.c (tty_enable_completion, tty_disable_completion): Add
	checks for no_terminal so we don't try to open("/dev/tty") when
	invoked with --no-tty.

2005-12-06  David Shaw  <dshaw@jabberwocky.com>

	* Makefile.am: Some cleanup so we don't build files that are
	completely ifdeffed out.  This causes a warning on Sun's cc.  Do
	the internal regex code as well for consistency.

	* mkdtemp.c (mkdtemp): Fix warning.

	* secmem.c, assuan-buffer.c, dotlock.c: Fix a few warnings from
	printf-ing %p where the arg wasn't void *.

2005-11-02  David Shaw  <dshaw@jabberwocky.com>

	* util.c [!HAVE_DECL_GETPAGESIZE]: Prototype getpagesize() if
	unistd.h doesn't have it (for MinGW).

2005-09-22  Werner Koch  <wk@g10code.com>

	* iobuf.c (iobuf_get_filelength): New arg OVERFLOW.
	(iobuf_get_filelength) [W32]:  Use GetFileSizeEx if available.
	* fileutil.c (is_file_compressed): Take care of the OVERFLOW

2005-08-31  David Shaw  <dshaw@jabberwocky.com>

	* fileutil.c (untilde): New.  Expand ~/foo and ~username/foo
	filenames into full paths using $HOME if possible, or
	getpwuid/getpwnam if necessary.
	(make_filename): Use it here.

2005-07-28  Werner Koch  <wk@g10code.com>

	* pka.c: New.
	(parse_txt_record): Changed from v=1 to v=pka1.

	* Makefile.am (pka-test): new.

2005-07-27  Werner Koch  <wk@g10code.com>

	* memory.c (FNAMEX, FNAMEXM): New macros to cope with the now used
	names xmalloc style names.

2005-07-18  Werner Koch  <wk@g10code.com>

	* ttyio.c (do_get): Move printing of the prompt after disabling
	echo.  Suggested by Scott Worley.

2005-06-23  David Shaw  <dshaw@jabberwocky.com>

	* http.c (make_radix64_string): Add '=' padding as per standard.
	(send_request, http_open, http_open_document): Clean up auth code.
	Can now support different auth for a proxy and the file being
	requested via that proxy.  Unescape auth strings.

2005-06-22  David Shaw  <dshaw@jabberwocky.com>

	* memrchr.c (memrchr): Not all compilers allow initializing based
	on a variable that is also being initialized.  Noted by Nelson
	H. F. Beebe.

2005-06-21  David Shaw  <dshaw@jabberwocky.com>

	* http.c (send_request, http_open, http_open_document): Pass in
	auth and proxyauth that can override the in-url auth.

	* http.c (send_request): Need == after the radix64-encoded basic
	auth string.

2005-06-08  David Shaw  <dshaw@jabberwocky.com>

	* dotlock.c [HAVE_DOSISH_SYSTEM]: Fix unused function warnings on
	mingw32.  Noted by Joe Vender.

2005-05-31  Werner Koch  <wk@g10code.com>

	* regcomp.c (MB_CUR_MAX) [_WIN32]: Define it only if not defined.

2005-05-29  David Shaw  <dshaw@jabberwocky.com>

	* strgutil.c (set_native_charset) [_WIN32]: Add alias for codepage
	CP65001 to utf-8.

2005-05-19  Werner Koch  <wk@g10code.com>

	* membuf.c: New.  Taken from gnupg 1.9.

2005-05-05  David Shaw  <dshaw@jabberwocky.com>

	* miscutil.c (add_days_to_timestamp): Remove as unused.

2005-04-12  David Shaw  <dshaw@jabberwocky.com>

	* assuan-client.c: Fix warning on OSX.

	* memrchr.c: New replacement function.

	* assuan-buffer.c: Use it here.

2005-04-04  Werner Koch  <wk@g10code.com>

	* memory.c (xcalloc, xcalloc_secure): New wrappers.

	* assuan-client.c (assuan_transact): Factored all code out to ..
	(assuan_transact2): .. new.  Add arg OKAY_CB.  Wipe the memory
	processed though that callback.

2005-03-31  Werner Koch  <wk@g10code.com>

	* isascii.c: New.  This is an autoconf replacement function.

	* Makefile.am (assuan_source): New.  Only used when agent support
	has been requested.
	* assuan-buffer.c, assuan-client.c, assuan-defs.h,
	* assuan-errors.c, assuan-logging.c, assuan-socket-connect.c,
	* assuan-socket.c, assuan-util.c, assuan-connect.c: New.  Taken
	from libassuan 0.6.9 and adjusted for our limited use of Assuan.

2005-03-18  David Shaw  <dshaw@jabberwocky.com>

	* ttyio.c (tty_enable_completion, tty_disable_completion): Enable
	and disable readline completion.
	(init_ttyfp): Completion is disabled by default.

2005-03-14  Werner Koch  <wk@g10code.com>

	* miscutil.c (isotimestamp): New.

2005-03-10  Werner Koch  <wk@g10code.com>

	* secmem.c (secmem_realloc): Take control information into account
	when checking whether a resize is needed.

2005-03-08  Werner Koch  <wk@g10code.com>

	* miscutil.c (asctimestamp) [W32]: Don't use %Z.

2005-02-03  Werner Koch  <wk@g10code.com>

	* w32reg.c (read_w32_registry_string): Fallback to HKLM also for a
	missing name.

	* http.c (connect_server): Define ERR outside of the !W32 block.

2005-02-01  David Shaw  <dshaw@jabberwocky.com>

	* http.c (connect_server): Fix fd leak when connecting to a
	round-robin server set that has some down servers.  Noted by Phil
	Pennock.

2005-01-20  Werner Koch  <wk@g10code.com>

	* simple-gettext.c (set_gettext_file): Use MO files depending on
	the installation directory.  Add new arg REGKEY.

2005-01-18  Werner Koch  <wk@g10code.com>

	* argparse.c (default_strusage): Changed default copyright year to
	2005.

	* strgutil.c (handle_iconv_error): Print error messages only once.
	(native_to_utf8, utf8_to_native): Ditto.

2005-01-11  Werner Koch  <wk@g10code.com>

	* strgutil.c (set_native_charset) [W32]: Use the alias table from
	libiconv 1.9.2.

2005-01-13  David Shaw  <dshaw@jabberwocky.com>

	* http.c (connect_server): Use INADDR_NONE instead of
	SOCKET_ERROR.  Noted by Timo.

2005-01-06  Werner Koch  <wk@g10code.com>

	* strgutil.c (set_native_charset): Assume that ASCII,
	ANSI_X3.4-1968 and 646 are actually meant as Latin-1.  If
	nl_langinfo is not available get the charset from environment
	variables. For W32 use GetACP as error fallback.  Removed Latin-15
	to Latin-1 aliasing.

2004-12-28  David Shaw  <dshaw@jabberwocky.com>

	* srv.h: Better implementation for the SRV check.  We don't need
	to actually check all the header files individually since the SRV
	test compile uses them together.

2004-12-20  Werner Koch  <wk@g10code.com>

	* strgutil.c (handle_iconv_error): Turn diagnostics into warnings
	so that gpg does not return with failure.
	(native_to_utf8, utf8_to_native): Ditto.

2004-12-16  Werner Koch  <wk@g10code.com>

	* iobuf.c (fd_cache_strcmp) [W32]: Casting is a Bad Thing. Cast to
	an unsigned char pointer and to an unsigned integer.

2004-12-18  David Shaw  <dshaw@jabberwocky.com>

	* ttyio.c: Use only HAVE_LIBREADLINE to detect readline
	availability.

2004-12-16  David Shaw  <dshaw@jabberwocky.com>

	* srv.h: Don't include arpa/nameser.h unless we have it.  Include
	"types.h" for u16.

	* secmem.c (secmem_init): Return a flag to indicate whether we got
	the lock.

2004-12-06  Werner Koch  <wk@g10code.com>

	* iobuf.c (fd_cache_strcmp): New. Use whenever we compare
	filenames for the fd_cache. This is needed because the backslash
	is an alias for a slash under W32. Reported by Tobias Winkler.

2004-12-03  David Shaw  <dshaw@jabberwocky.com>

	* http.c (send_request): Include the port if non-80 in the Host:
	header.  Noted by Jason Harris.

2004-11-03  Timo Schulz  <twoaday@g10code.com>

	* strgutil.c (w32_strerror): New.
	* ttyio.c (init_ttyfp, tty_printf, do_get): Use it here.
	* iobuf.c (fd_cache_open, file_filter): Likewise.
	(iobuf_seek, translate_file_handle): Likewise.

2004-11-02  Werner Koch  <wk@g10code.com>

	* strgutil.c (load_libiconv): Use log_info to avoid failures when
	iconv.dll is not installed.

2004-10-31  Werner Koch  <wk@g10code.com>

	* simple-gettext.c (get_string): Removed debugging hack.

2004-10-27  Werner Koch  <wk@g10code.com>

	* simple-gettext.c: Removed windows.h.
	(get_string): On the fly translation from utf-8 to active
	character set.

	* strgutil.c (load_libiconv) [_WIN32]: new.
	(set_native_charset) [_WIN32]: Call it here and autodetect the
	used code page.
	(native_to_utf8, utf8_to_native): Reverted arguments for
	iconv_open.
	(handle_iconv_error): Made this function match iconv_open argumnet
	ordering.
	(utf8_to_native): Disable all quoting for DELIM == -1.

2004-10-26  Werner Koch  <wk@g10code.com>

	* strgutil.c (mem2str): Translated comment to English.
	(handle_iconv_error) [USE_GNUPG_ICONV]: New.
	(set_native_charset) [USE_GNUPG_ICONV]: Added iconv based
	conversion checks.
	(native_to_utf8, utf8_to_native): Added iconv based conversion.

2004-10-21  Werner Koch  <wk@g10code.com>

	* vasprintf.c: Removed. It was used only at one place and I don't
	want to get into build problems in 1.4.

2004-10-18  David Shaw  <dshaw@jabberwocky.com>

	* http.c (connect_server, send_request): Use the URI scheme as the
	SRV tag rather than hard-coding _hkp.

2004-10-16  David Shaw  <dshaw@jabberwocky.com>

	* http.c (connect_server): [_WIN32] actually fill in the sin_addr
	so we aren't always talking to localhost.  Add some general sanity
	checking of parameters learned from gethostbyname().

2004-10-15  Werner Koch  <wk@g10code.com>

	* vasprintf.c: New.  Taken from gnupg 1.9.

2004-10-14  Werner Koch  <wk@g10code.com>

	* iobuf.c (iobuf_get_fd): Removed double check on directfp and
	cats it to FILEP becuase directfp is actually a void *.  Notes by
	Stefan.

2004-10-13  Werner Koch  <wk@g10code.com>

	* logger.c (g10_log_error_f, g10_log_fatal_f, g10_log_info_f)
	(g10_log_debug_f, print_prefix_f): Removed.

	* iobuf.c (iobuf_is_pipe_filename): New.
	(iobuf_get_fd): New.

	* fileutil.c (is_file_compressed): Use it here.

2004-09-30  David Shaw  <dshaw@jabberwocky.com>

	* iobuf.c (pop_filter): Make static.

	* dotlock.c (destroy_dotlock): New.  Remove the handle from the
	list of locks.
	(release_dotlock): Don't act if we don't have any locks at all.
	From Werner on stable branch.

2004-09-10  David Shaw  <dshaw@jabberwocky.com>

	* http.c (make_radix64_string, do_parse_uri, send_request): Add
	basic auth for proxies and direct requests.  Suggested by Florent
	Thoumie.

	* http.c (main): Fix test code for http-test.

2004-09-09  Werner Koch  <wk@g10code.com>

	* errors.c (g10_errstr): New error codes G10ERR_NO_CARD,
	G10ERR_CANCELED.

	* ttyio.c (tty_get): Add readline support.

	* iobuf.c (iobuf_skip_rest): New.  Orginal patch by Florian
	Weimer.  Added new argument PARTIAL.

2004-08-19  David Shaw  <dshaw@jabberwocky.com>

	* http.c (insert_escapes): Fix encoding problem for non-URI-safe
	characters.  Noted by Vladimir Novak.

2004-05-21  David Shaw  <dshaw@jabberwocky.com>

	* timegm.c: New replacement function.  Removes the need for
	setenv.c and unsetenv.c.

	* setenv.c: Removed.

	* unsetenv.c: Removed.

2004-03-04  David Shaw  <dshaw@jabberwocky.com>

	* iobuf.c (block_filter): Remove the old gpg indeterminate length
	mode.
	(iobuf_set_block_mode, iobuf_in_block_mode): Removed as
	superfluous.

2004-03-01  David Shaw  <dshaw@jabberwocky.com>

	* iobuf.c (block_filter): Properly handle a partial body stream
	that ends with a 5-byte length that happens to be zero.

2004-02-28  David Shaw  <dshaw@jabberwocky.com>

	* unsetenv.c: Fixed debugging typo.

2004-02-24  Werner Koch  <wk@gnupg.org>

	* secmem.c (lock_pool) [_AIX]: Also set errno.

2004-02-21  David Shaw  <dshaw@jabberwocky.com>

	* miscutil.c (hextobyte): Moved here from g10/misc.c so I can use
	it in the keyserver helpers.

2004-02-20  David Shaw  <dshaw@jabberwocky.com>

	* mkdtemp.c: New (moved from g10/), setenv.c: New, unsetenv.c:
	New.

	* Makefile.am: Include @LIBOBJS@ for replacement functions.

2004-01-15  David Shaw  <dshaw@jabberwocky.com>

	* argparse.c (default_strusage): Update copyright date.
	(initialize): Avoid a number of -Wformat-nonliteral warnings.
	These aren't actual problems, but the warnings bothered me.

	* miscutil.c (print_string2): New variation on print_string that
	allows two delimiters.
	(print_string): Call print_string2 to do work.

2003-12-29  David Shaw  <dshaw@jabberwocky.com>

	* g10u.c: Dead code.  Remove.

	* Makefile.am: Don't compile g10u.c.

	* iobuf.c (block_filter): Properly handle a partial body stream
	that ends with a 5-byte length.

2003-12-28  David Shaw  <dshaw@jabberwocky.com>

	* http.c (send_request, http_open_document, http_open): Pass the
	http proxy from outside rather than pulling it from the
	evironment.

2003-12-28  Stefan Bellon  <sbellon@sbellon.de>

	* riscos.c [__riscos__]: Better filetype handling (use a
	different SWI) and removal of unnecessary function.

	* memory.c (out_of_core) [__riscos__]: Produce stack backtrace on
	RISC OS if out_of_core() is called and M_GUARD is compiled in.

2003-12-06  David Shaw  <dshaw@jabberwocky.com>

	* http.c (send_request): Add a Host: header for virtual hosts.

2003-12-04  David Shaw  <dshaw@jabberwocky.com>

	* miscutil.c (answer_is_yes_no_default, answer_is_yes_no_quit):
	Don't use alternate strings when not needed so we don't have to
	re-translate them. Hopefully the comment will be enough to
	indicate multiple match strings.

2003-11-20  David Shaw  <dshaw@jabberwocky.com>

	* miscutil.c (match_multistr): New.  Match against each segment in
	a string with tokens separated by |.
	(answer_is_yes_no_default, answer_is_yes_no_quit,
	answer_is_okay_cancel): Use it here to enable alternate
	translations.

2003-11-01  David Shaw  <dshaw@jabberwocky.com>

	* http.c (connect_server): Differentiate between generic "can't
	connect" errors and the more specific "host not found". Suggested
	by Samuel Tardieu.

2003-10-29  Werner Koch  <wk@gnupg.org>

	* miscutil.c (answer_is_okay_cancel): New.

2003-10-25  Werner Koch  <wk@gnupg.org>

	* Makefile.am: Replaced INTLLIBS by LIBINTL.

2003-10-23  Werner Koch  <wk@gnupg.org>

	* secmem.c (lock_pool) [_AIX]: Don't use plock.

2003-10-12  David Shaw  <dshaw@jabberwocky.com>

	* srv.c: OSX 10.2.8/Darwin 6.8 seems to have some #include
	ordering issues?  Move sys/types.h up higher to work around.

2003-10-08  Werner Koch  <wk@gnupg.org>

	* ttyio.c (tty_print_string, tty_print_utf8_string2)
	(tty_print_utf8_string): Made string arg const.

2003-09-28  Timo Schulz  <twoaday@freakmail.de>

	* strgutil.c [WIN32] (asprintf): New.

2003-09-28  Werner Koch  <wk@gnupg.org>

	* ttyio.c (tty_fprintf): New.

2003-09-21  Timo Schulz  <twoaday@freakmail.de>

	* http.c [WIN32]: Define MB_CUR_MAX.
	(connect_server): use unsigned long since W32 does not have in_addr_t.

2003-08-28  David Shaw  <dshaw@jabberwocky.com>

	* dotlock.c, http.c, iobuf.c, simple-gettext.c, srv.c, srv.h,
	strgutil.c, ttyio.c, w32reg.c: s/__MINGW32__/_WIN32/ to help
	building on native Windows compilers.  Requested by Brian Gladman.
	From Werner on stable branch.

	* http.c (connect_server): Oops - forgot to freeaddrinfo().

2003-08-24  David Shaw  <dshaw@jabberwocky.com>

	* http.c (connect_server): Try and use getaddrinfo if it is
	available.  Try for IPv6 via getaddrinfo() or a IPv6-ized
	gethostbyname().  Suggested by Jun-ichiro itojun Hagino.

2003-07-10  David Shaw  <dshaw@jabberwocky.com> (from Werner on stable branch)

	* iobuf.c (check_special_filename): Replaced is isdigit by digitp
	to avoid passing negative values and potential locale problems.
	Problem noted by Christian Biere.
	* strgutil.c (strlwr,strcasecmp,strncasecmp): Make sure we don't
	pass a negative value.
	* miscutil.c (scan_isodatestr): Ditto.

2003-05-30  David Shaw  <dshaw@jabberwocky.com>

	* srv.h, srv.c: Include windows.h with MINGW32.

2003-05-24  David Shaw  <dshaw@jabberwocky.com>

	* argparse.c, dotlock.c, fileutil.c, iobuf.c, miscutil.c,
	simple-gettext.c, errors.c, http.c, memory.c, secmem.c, ttyio.c:
	Edit all preprocessor instructions to remove whitespace before the
	'#'.  This is not required by C89, but there are some compilers
	out there that don't like it.

2003-05-21  Werner Koch  <wk@gnupg.org>

	* fileutil.c (is_file_compressed): Fixed checking for "-" filename.

2003-04-13  David Shaw  <dshaw@jabberwocky.com>

	* srv.c (main): Test against wwwkeys.pgp.net.

	* srv.h: Grr. The RH7.3 Linux man page defines the fourth arg of
	dn_expand as unsigned char*, but it is really char* according to
	resolv.h.

2003-03-23  David Shaw  <dshaw@jabberwocky.com>

	* argparse.c (default_strusage): Change copyright date.

2003-03-14  David Shaw  <dshaw@jabberwocky.com>

	* srv.h, srv.c (getsrv): Use unsigned char rather than char.
	Noted by Stefan Bellon.

2003-03-11  David Shaw  <dshaw@jabberwocky.com>

	* http.c (connect_server): Use DNS SRV to get a server list.  Fail
	over to A records if necessary.

	* Makefile.am, srv.h, srv.c: New DNS SRV handling code.

2003-02-22  David Shaw  <dshaw@jabberwocky.com>

	* ttyio.c (tty_print_utf8_string, tty_print_utf8_string2): Use 0
	to indicate a string with no maximum size.  This prevents early
	truncation of strings that contain control chars which are
	expanded into \xXX form.

2002-12-26  David Shaw  <dshaw@jabberwocky.com>

	* iobuf.c (iobuf_flush): Only print debug info if debugging is on.

2002-11-13  David Shaw  <dshaw@jabberwocky.com>

	* secmem.c (lock_pool) [__CYGWIN__]: Don't print secmem warning.
	From Werner on stable branch.

2002-11-09  Werner Koch  <wk@gnupg.org>

	* ttyio.c (TERMDEVICE): Removed.
	(tty_get_ttyname): New.
	(init_ttyfp): Use it here instead of the TERMDEVICE macro.

2002-11-06  David Shaw  <dshaw@jabberwocky.com>

	* w32reg.c (read_w32_registry_string): Fixed expanding of the
	environment buffer; didn't worked at all.  Reported by Thijmen
	Klok.  From Werner on stable branch.

	* secmem.c (secmem_free, secmem_term): Use wipememory2() instead
	of memset() to overwrite secure memory

	* iobuf.c (direct_open): Handle mode 'b' if O_BINARY is available.
	From Werner on stable branch.

	* fileutil.c: Comment from stable branch.

2002-10-31  Stefan Bellon  <sbellon@sbellon.de>

	* riscos.c (riscos_load_module, riscos_check_regexp): New.
	(riscos_set_filetype_by_mimetype, riscos_dump_fdlist)
	(riscos_fdopenfile, riscos_close_fds, riscos_renamefile)
	(riscos_gstrans, riscos_list_openfiles, riscos_not_implemented):
	Renamed functions to contain riscos prefix.
	* dotlock.c [__riscos__]: Renames due to changes in riscos.c.
	* fileutil.c [__riscos__]: Likewise.

2002-10-29  Stefan Bellon  <sbellon@sbellon.de>

	* fileutil.c: Removed unnecessary left-over includes for RISC OS.
	(make_filename): Tidied up RISC OS stuff.
	(compare_filenames) [__riscos__]: Compare with ascii_strcasecmp().
	(make_basename) [__riscos__]: Branch to own RISC OS routine from
	here.

	* riscos.c (riscos_make_basename): New.

2002-10-28  Stefan Bellon  <sbellon@sbellon.de>

	* fileutil.c (make_basename) [__riscos__]: Cut off RISC OS' filing
	systems from filepath.

	* riscos.c (riscos_get_filetype_from_string, riscos_get_filetype):
	Added.
	(riscos_set_filetype_by_number): Made public.

2002-10-19  David Shaw  <dshaw@jabberwocky.com>

	* Makefile.am, regcomp.c, regex.c, regex_internal.c,
	regex_internal.h, regexec.c: Add new regex files from glibc 2.3.1.

2002-10-17  David Shaw  <dshaw@jabberwocky.com>

	* http.c (connect_server): Try all A records for names with
	multiple addresses until one answers for both MINGW32 and not
	MINGW32.

2002-10-10  David Shaw  <dshaw@jabberwocky.com>

	* http.c (connect_server): Properly handle a single A record that
	fails connect().

2002-10-03  David Shaw  <dshaw@jabberwocky.com>

	* logger.c (g10_log_warning, log_set_strict): Add new log_warning
	logger command which can be switched between log_info and
	log_error via log_set_strict.

2002-09-24  David Shaw  <dshaw@jabberwocky.com>

	* http.c (connect_server): Try all A records for names with
	multiple addresses until one answers (not MINGW32).

2002-09-16  Werner Koch  <wk@gnupg.org>

	* w32reg.c (read_w32_registry_string): Fallback to HLM.

2002-09-12  Stefan Bellon  <sbellon@sbellon.de>

	* fileutil.c (make_filename): Removed variable for RISC OS to
	avoid compiler warning.

	* secmem.c: Removed static variable for RISC OS to avoid
	compiler warning.

2002-09-11  Werner Koch  <wk@gnupg.org>

	* simple-gettext.c: Disable charset mappings.  We do it now when
	installing the files.

2002-09-09  Werner Koch  <wk@gnupg.org>

	* w32reg.c (read_w32_registry_string): Handle REG_EXPAND_SZ.
	Suggested by Ryan Malayter.

	* strgutil.c (ascii_strcasecmp): Replaced by code from gnulib.
	(ascii_strncasecmp): New.

2002-09-02  Werner Koch  <wk@gnupg.org>

	* simple-gettext.c (set_gettext_file): Make sure that we only use
	backslashes.

	* strgutil.c (set_native_charset): Allow NULL as argument to use
	nl_langinfo for selection.  Mapped latin-15 to latin-1.

2002-08-30  Werner Koch  <wk@gnupg.org>

	* iobuf.c (block_filter): Removed the assert, so that one can pass
	the first character of a message and use the block filter for
	non partial length encoded packets.

2002-08-06  Stefan Bellon  <sbellon@sbellon.de>

	* ttyio.c [__riscos__]: Moved low-level RISC OS stuff to riscos.c.
	* riscos.c: Use new SWI calling mechanism of UnixLib.

2002-08-03  Stefan Bellon  <sbellon@sbellon.de>

	* secmem.c (init_pool, secmem_term): Changed #if to #ifdef in
	order to avoid warning with RISC OS' Norcroft C.

2002-07-25  David Shaw  <dshaw@jabberwocky.com>

	* secmem.c: "Warning" -> "WARNING"

2002-07-05  Werner Koch  <wk@gnupg.org>

	* argparse.c (initialize): We better exit after a read error so
	that we don't run into an endless loop when reading a directory.
	Noted by Andrew Suffield.

2002-07-01  David Shaw  <dshaw@jabberwocky.com>

	* argparse.c (optfile_parse): Fix variable typo - 'p2' should be
	'p' :)

2002-06-29  Werner Koch  <wk@gnupg.org>

	* argparse.c (optfile_parse): Renamed an auto I to P2 to avoid
	shadowing warning.

2002-06-21  Stefan Bellon  <sbellon@sbellon.de>

	* riscos.c (riscos_global_defaults): New.

2002-06-20  Stefan Bellon  <sbellon@sbellon.de>

	* riscos.c (riscos_set_filetype_by_number, riscos_set_filetype):
	New. Set RISC OS filetype according to MIME type.

2002-06-14  David Shaw  <dshaw@jabberwocky.com>

	* strgutil.c (pop_strlist): New function to pop the head off of a
	strlist.

2002-06-05  Timo Schulz  <ts@winpt.org>

	* fileutil.c (is_file_compressed): Corrected the magic values
	for bzip2 and gzip. Noted by David.

2002-05-22  Werner Koch  <wk@gnupg.org>

	* fileutil.c (compare_filenames): Replaced stricmp by strcasecmp.
	* miscutil.c (answer_is_yes_no_quit,answer_is_yes_no_default): Ditto.

	* strgutil.c (strncasecmp): New.
	(memicmp): Removed.

2002-05-10  Stefan Bellon  <sbellon@sbellon.de>

	* memory.c (add_entry) [M_DEBUG]: Added some missing EXTRA_ALIGN.
	(free_entry) [M_DEBUG]: Free secure memory via secmem_free.
	(alloc_secure): Malloc at least 1 byte.
	(realloc) [M_GUARD]: Added missing FNAMEARG to function call.

	* logger.c (g10_log_bug0) [__riscos__]: Make use of first
	g10_log_bug0 function for later Norcroft compiler.

	* riscos.c: Added stdlib.h include.

2002-05-04  Werner Koch  <wk@gnupg.org>

	* http.c (write_server) [__MINGW32__]: Replaced WriteFile by send
	because sockets don't work with WriteFile under NT anymore.

2002-05-03  David Shaw  <dshaw@jabberwocky.com>

	* argparse.c (optfile_parse): Remove quotes only if they totally
	enclose the string, and do not occur within the string.  This
	makes specifying a program under Win32 easier when you need quotes
	around part of a string, but not around the whole string.

2002-05-02  Werner Koch  <wk@gnupg.org>

	* memory.c (alloc): Malloc at least 1 byte.  Noted by Winona Brown.

2002-04-23  David Shaw  <dshaw@jabberwocky.com>

	* miscutil.c: New function answer_is_yes_no_default() to give a
	default answer.

2002-04-22  Stefan Bellon  <sbellon@sbellon.de>

	* riscos.c (riscos_open, riscos_fopen, riscos_fstat, set_filetype):
	Removed as they're not needed anymore.

	* iobuf.c (direct_open) [__riscos__]: Don't allow opening of
	directories.

2002-04-08  Werner Koch  <wk@gnupg.org>

	Fixed filename of last entry.

2002-03-29  David Shaw  <dshaw@jabberwocky.com>

	* miscutil.c (print_string, utf8_to_native): If a delimiter is
	used, then quote the backslash character as well.  Problem noted
	by Rainer Perske.

2002-03-15  Werner Koch  <wk@gnupg.org>

	* argparse.c (optfile_parse): Fixed missing argument handling.

2002-02-28  Timo Schulz  <ts@winpt.org>

	* http.c (write_server): Convert integer to a HANDLE for W32.

2002-01-27  David Shaw  <dshaw@jabberwocky.com>

	* iobuf.c (iobuf_fdopen, iobuf_sockopen): Do not cache fdopened
	fds on close.

2002-01-08  Werner Koch  <wk@gnupg.org>

	* secmem.c (print_warn): Print a pointer to the FAQ.

2002-01-05  Werner Koch  <wk@gnupg.org>

	* argparse.c (default_strusage): Set default copyright date to 2002.

2002-01-02  Stefan Bellon  <sbellon@sbellon.de>

	* iobuf.c [__riscos__]: Updated include file name.

	* fileutil.c [__riscos__]: Ditto.

	* ttyio.d [__riscos__]: Ditto.

	* riscos.c [__riscos__]: Ditto. Added debugging code and
	unified error messages.

2001-12-27  David Shaw  <dshaw@jabberwocky.com>

	* errors.c (g10_errstr): Added G10ERR_KEYSERVER

2001-12-27  Werner Koch  <wk@gnupg.org>

	* simple-gettext.c [MINGW32]: Fixed last changed.

2001-12-22  Stefan Bellon  <sbellon@sbellon.de>

	* memory.c (realloc): Fixed realloc not working when M_GUARD is
	defined and first parameter is NULL.

2001-12-22  Timo Schulz <ts@winpt.org>

        * fileutil.c (is_file_compressed): New.

2001-12-19  Werner Koch  <wk@gnupg.org>

	* simple-gettext.c, w32reg.c [CYGWIN32]: Allow to use this file

2001-10-11  Werner Koch  <wk@gnupg.org>

	* http.c (do_parse_uri): Changed initialization of the port number
	so that it does also work with x-hkp.  By David Shaw.

2001-09-19  Werner Koch  <wk@gnupg.org>

	* w32reg.c (get_root_key): New.
	(read_w32_registry_string): Use it here.
	(write_w32_registry_string): New.  Contributed by Timo.

	* iobuf.c (iobuf_ioctl): New command to disable fd
	caching. Implemented no_cache flag where needed.
	(iobuf_sockopen): Always set no_cache flag.

	* strgutil.c (utf8_to_native): Add a delim arg and changed all
	callers. Make sure that quoting is done when translation is
	disabled.
	* miscutil.c (print_utf8_string2): New.

2001-09-17  Werner Koch  <wk@gnupg.org>

	* miscutil.c (print_string): Use explicit ranges and not iscntrl().
	(make_printable_string): Ditto.

2001-09-07  Werner Koch  <wk@gnupg.org>

	* strgutil.c (strsep): New, taken from glibc 2.2.1.

2001-09-03  Werner Koch  <wk@gnupg.org>

	* miscutil.c (strtimestamp,asctimestamp): Avoid trigraphs.

2001-08-21  Stefan Bellon  <sbellon@sbellon.de>

	* riscos.c [__riscos__] (close_fds): Fixed possible endless loop.

2001-08-20  Werner Koch  <wk@gnupg.org>

	Applied patches from Stefan Bellon <sbellon@sbellon.de> to support
	RISC OS.  Nearly all of these patches are identified by the
	__riscos__ macro.
	* secmem.c [__riscos__]: Disabled secure memory stuff.
	* dotlock.c, ttyio.c [__riscos__]: Adapted for RISC OS
	* fileutil.c, iobuf.c: Adapted for RISC OS;  mainly replaced
	hardcoded path separators with EXTSEP_S like macros.
	* http.c (send_request): Use macros for the env-var name.
	* logger.c [__riscos__]: Do an fflush at the end of each log
	function.
	* memory.c [__riscos__]: Minor patches
	* riscos.c (set_filetype): New.

	* secmem.c (lock_pool): Under HPUX mlock is broken but we might
	have plock, so we use this to lock the entire process.  By Albert
	Chin.

2001-07-03  Werner Koch  <wk@gnupg.org>

	* strgutil.c (utf8_to_native): Fixed printing of invalid utf-8
	characters.  Thomas Roessler reported that the escaping didn't work
	correct.

2001-06-12  Werner Koch  <wk@gnupg.org>

	* strgutil.c (ascii_memistr,ascii_isupper,ascii_islower,
	ascii_toupper,ascii_tolower, ascii_strcasecmp, ascii_memcasecmp): New.
	(set_native_charset): Use ascii_strcasecmp()
	* fileutil.c (compare_filenames): Ditto
	* miscutil.c (answer_is_yes): Ditto.
	(answer_is_yes_no_quit): Ditto.

2001-06-06  Werner Koch  <wk@gnupg.org>

	* strgutil.c (vasprintf) [__MINGW32__]: New. Taken from libiberty.
	* ttyio.c (tty_printf) [__MINGW32__]:  Replaced the sprintf with
	the new vasprintf.

2001-06-05  Werner Koch  <wk@gnupg.org>

	* dotlock.c (make_dotlock): Typo fixes.

2001-05-25  Werner Koch  <wk@gnupg.org>

	* ttyio.c (do_get): Fixed a serious format string bug.  Thanks to
	fish stiqz.

2001-05-23  Werner Koch  <wk@gnupg.org>

	* secmem.c (EPERM): Try to work around a Slackware problem.

2001-05-05  Werner Koch  <wk@gnupg.org>

	* http.c (http_start_data): Flush before writing.
	(http_wait_response): No need to flush here.

2001-04-27  Werner Koch  <wk@gnupg.org>

	* memory.c (out_of_core): Print an explanation on reasons why
	secret memory can get exhausted.

2001-04-23  Werner Koch  <wk@gnupg.org>

	* http.c (http_wait_response): Implement new flag to inhibit the
	TCP shutdown.

2001-04-20  Werner Koch  <wk@gnupg.org>

	* http.c (http_start_data): Use write_server and not the iobuf
	stuff.  I wonder why we are at all using write_server - shouldn't
	it be handled by iobuf?

	* strgutil.c (set_native_charset): Allow utf-8 by introducing the
	new no_translation variable.
	(native_to_utf8): Handle no_translation.
	(utf8_to_native): Ditto.

2001-04-19  Werner Koch  <wk@gnupg.org>

	* miscutil.c (asctimestamp): Handle negative times.  We must do
	this because Windoze segvs on negative times passed to gmtime().
	(strtimestamp): Ditto.

2001-04-14  Werner Koch  <wk@gnupg.org>

	* strgutil.c (utf8_to_native): Fixed a segv.  Thanks to Keith Clayton.

2001-04-13  Werner Koch  <wk@gnupg.org>

	* iobuf.c (iobuf_fopen): Removed because it is not used and
	furthermore mode is ignored for an fname of "-".  Suggested by
	Florian Weimer.

2001-04-02  Werner Koch  <wk@gnupg.org>

	* iobuf.c (translate_file_handle): New. Use this function
	everywhere in this file.
	(iobuf_translate_file_handle): Always use the osfhandle stuff here
	because callers don't know the implementation details of iobuf and
	they expect that the handles are translated.

2001-03-29  Werner Koch  <wk@gnupg.org>

	* miscutil.c (answer_is_yes): An empty string does now return no.
	(answer_is_yes_no_quit): Likewise.

	* iobuf.c (iobuf_close): Burn the buffers.

2001-03-26  Werner Koch  <wk@gnupg.org>

	* ttyio.c: Define TERMDEVICE depending on OS.

	* http.c (http_start_data): send a CRLF and not just a LF.
	Pointed out by Steven Murdoch.

2001-03-13  Werner Koch  <wk@gnupg.org>

	* iobuf.c (iobuf_sockopen): New.
	(sock_filter) [__MINGW32__]: New.
	(iobuf_ioctl): New.
	(file_filter): Implemented keep_open mode.
	* http.c (http_open, http_wait_response): Replaced iobuf_fdopen by
	iobuf_sockopen and use an iobuf_ioctl to avoid the dup().
	(deinit_sockets, init_sockets) [__MINGW32__]: New.
	(connect_server, write_server): Add code to work with W32 sockets.

2001-03-12  Werner Koch  <wk@gnupg.org>

	* strgutil.c (check_trailing_chars,check_trailing_ws): New.

2001-03-08  Werner Koch  <wk@gnupg.org>

	* argparse.c (default_strusage): Changed year of printed copyright
	to 2001.

	* iobuf.c (fd_cache_invalidate, fd_cache_close, fd_cache_open): New.
	(direct_open): Invalidate the fd_cache for read access.
	(file_filter): Cache the close here.
	(iobuf_open): Use new my_fopen_ro macro to try the cache first.

2001-03-07  Werner Koch  <wk@gnupg.org>

	* iobuf.c: Made the old stdio file handling cpp conditional
	controlled by FILE_FILTER_USES_STDIO and added a new
	open/read/close based one.  We don't need the stdio buffering
	becuase we are doing our own buffering anyway.  And it is a
	prerequesite to allow the use of ReadFile et al for W32 which in
	turn is needed to make the http stuff work there. The new W32
	stuff has also been implemented. Minor changes to all open functions.
	(direct_open): New.
	(file_filter): Core of the new read/write handling.
	(iobuf_get_filelength): Use W32 API function here. But it is
	currently limited to 2GB files.
	(iobuf_seek): Ditto.

2001-03-01  Werner Koch  <wk@gnupg.org>

	* errors.c (g10_errstr): New codes UNU_SECKEY and UNU_PUBKEY.

2000-12-28  Werner Koch  <wk@gnupg.org>

	* dotlock.c: Made all_lockfiles volatile.
	(remove_lockfiles): Made public.

2000-11-30  Werner Koch  <wk@gnupg.org>

	* iobuf.c (iobuf_translate_file_handle): New.
	(iobuf_open, iobuf_create): Use it for special filenames

2000-11-11  Paul Eggert  <eggert@twinsun.com>

        * iobuf.c (iobuf_get_filelength): Now returns off_t, not u32.
        Remove kludges to worry about large files; the callers check
        for files that are too large, and they should already be doing
        the right thing in an implementation-independent way.
        (fopen, fstat): Remove macros.

        * iobuf.c (iobuf_set_limit, iobuf_tell, iobuf_seek):
        Use off_t, not ulong, for file offsets.
        (<limits.h>): Include if needed.
        (LONG_MAX, LONG_MIN): Define a substitute if needed.
        (fseeko): Define a substitute if needed.

        * iobuf.c (iobuf_seek):  Do not use %lu to report file

2000-11-09  Werner Koch  <wk@gnupg.org>

	* iobuf.c (iobuf_enable_special_filenames): New.
	(check_special_filename): New.
	(iobuf_open): check for special filenames.
	(iobuf_create): Ditto.

2000-10-23  Werner Koch  <wk@gnupg.org>

	* secmem.c (lock_pool): Don't print warning for Windows.

2000-10-16  Werner Koch  <wk@gnupg.org>

	* secmem.c (lock_pool): Fixed error checking for Linux.
	By James Troup.

Thu Sep 14 14:20:38 CEST 2000  Werner Koch  <wk@openit.de>

        * miscutil.c (answer_is_yes_no_quit): Swapped order of yes/no test
        so that no is returned for an empty input. By David Champion.

Wed Sep  6 17:55:47 CEST 2000  Werner Koch  <wk@openit.de>

        * iobuf.c: Use fopen64 insead of fopen when available.
        (iobuf_get_filelength): Use fstat64 when available but return
        2^32-1 if the file is larger than this value.

Wed Sep  6 14:59:09 CEST 2000  Werner Koch  <wk@openit.de>

        * secmem.c (secmem_realloc): check for failed secmem_malloc.  By
        Matt Kraai.

        * strgutil.c (utf8_to_native): Fixed null ptr problem.  By
        Giampaolo Tomassoni.

Thu Jul 27 10:02:38 CEST 2000  Werner Koch  <wk@openit.de>

  * iobuf.c: Use setmode() at several places to set stdin and stdout
  to binary mode for MSDOS based systems

  * iobuf.c (underflow): Initialize dummy_len to keep memory checker happy.

Fri Jun  9 10:09:52 CEST 2000  Werner Koch  <wk@openit.de>

  * ttyio.c: Simulate termios with termios.  By Dave Dykstra.

Thu Jun  8 20:22:00 CEST 2000  Werner Koch  <wk@openit.de>

  * secmem.c (lock_pool,secmem_init): Additional check for dropped privs.

Tue May 30 16:37:55 CEST 2000  Werner Koch  <wk@openit.de>

  * iobuf.c (iobuf_cancel): Fix for MSDOS.

Fri Apr 14 19:37:08 CEST 2000  Werner Koch  <wk@openit.de>

	* dotlock.c (disable_dotlock): New.  Implmented this in the module.

2000-03-09 14:04:22  Werner Koch  (wk@habibti.openit.de)

	* argparse.c (default_strusage): Changed year of default copyright.

Tue Mar  7 18:45:31 CET 2000  Werner Koch  <wk@gnupg.de>

	* secmem.c (lock_pool): No more warning for QNX. By Sam Roberts.

2000-03-02 15:51:04  Werner Koch  (wk@habibti.gnupg.de)

	* ttyio.c (tty_print_utf8_string): Oops.

Thu Mar  2 15:37:46 CET 2000  Werner Koch  <wk@gnupg.de>

	* ttyio.c (tty_print_utf8_string2): New to allow a max output size.

Wed Feb 23 10:07:57 CET 2000  Werner Koch  <wk@gnupg.de>

	* miscutil.c (asctimestamp): Fix for possible buffer overflow by
	large system returned date format string.

Fri Dec 31 14:08:15 CET 1999  Werner Koch  <wk@gnupg.de>

	* logger.c (log_inc_errorcount): New.

Sat Dec  4 12:30:28 CET 1999  Werner Koch  <wk@gnupg.de>

	* iobuf.c (iobuf_cancel): Broadcast the new Cancel mesaage to all
	filters.

Mon Nov 22 11:14:53 CET 1999  Werner Koch  <wk@gnupg.de>

	* strgutil.c (strcasecmp): New.

	* secmem.c (pool_is_mmapped): Made volatile.

Sat Oct  9 20:34:41 CEST 1999  Werner Koch  <wk@gnupg.de>

	* Makefile.am:	Removed libtool.

Fri Oct  8 20:32:01 CEST 1999  Werner Koch  <wk@gnupg.de>

	* w32reg.c: New.
	* simple-gettext.c: Use the Registry to locate the mo file.

	* http.c (send_request): Add support for proxys; suggested by
	Walter Hofmann.
	(http_open_document): Pass flags to http_open.

Fri Sep 17 12:56:42 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>


	* secmem.c (lock_pool): Check for ENOSYS return my mlock() on
	old SCOs.

	* ttyio.c (do_get): Replaced #if __MINGW32__ by #ifdef becuase
	gcc 2.95.1 assigns a floating point value (0.2) to this macro,
	which in turn can't be used in an expression.

Wed Sep 15 16:22:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>


	* simple-gettext.c: New.

Wed Sep  1 15:30:44 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>


	* argparse.c (arg_parse): Add standard options to the dump-options
	output.

Tue Aug 31 17:20:44 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>


	* strgutil (utf8_to_native): Implemented.
	(check_utf8_string): Removed.

	* miscutil.c (make_printable_string): Fixed possible buffer overflow.
	(print_utf8_string): New.

	* ttyio.c (tty_print_utf8_string): New.

Mon Aug 30 20:38:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>


	* secmem.c (pool_okay): declared volatile.

	* miscutil.c (answer_is_yes): Always check for plain "yes".
	(answer_is_yes_no_quit): Likewise.

	* dotlock.c (create_dotlock): Fixed segv during cleanup.

Mon Jul 12 14:55:34 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>


	* argparse.c (initialize): Init ret_xxx.
	(optfile_parse): Remove quotes from arguments.

Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>


	* memory.c (membug): Use if either M_DEBUG or M_GUARD is used.

	* miscutil.c (scan_isodatestr): New.

	* logger.c (g10_log_mpidump): Moved to ../mpi/mpicoder.c
	(g10_log_print_prefix): Renamed from print_prefix and made global.

	* Makefile.am: Support for libtool.

Thu Jul  1 12:47:31 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>


	* miscutil.c (make_printable_string): New.

	* strgutil.c (add_to_strlist2,append_to_strlist2): New.

Tue Jun 29 21:44:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>


	* secmem.c (USE_CAPABILITIES): Capabilities support (Remi).

Sat Jun 26 12:15:59 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>


	* dotlock.c (create_dotlock): s/uts/utsbuf/ cause there an Amdahl
	system with the name UTS (Dave Dykstra).

	* secmem.c (DEFAULT_POOLSIZE): Doubled the size.

Fri Jun 18 00:18:02 CEST 1999 Michael Roth <mroth@nessie.de>

	* iobuf.c: file_filter() Detection of EOF on terminals
	  improved/fixed (see Bug #21).

Mon Jun 14 21:18:54 CEST 1999 Michael Roth <mroth@nessie.de>

	* ttyio.c: tty_no_terminal() new.

Sat Jun  5 15:30:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* strgutil.c (set_native_charset): Support Latin-2

Tue Jun  1 16:01:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* iobuf.c (iobuf_get_real_fname): Made global and now keep a
	copy of the name in the iobuf struct.

Mon May 31 19:41:10 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* iobuf.c (file_filter,block_filter): Speed patches (Rémi).

Thu May 27 09:40:55 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* miscutil.c (answer_is_yes_no_quit): New.

Sun May 23 14:20:22 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* dotlock.c: Tweaked to make it compile under mingw32
	* http.c: Disabled for mingw32.

Sat May 22 22:47:26 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* logger.c (log_set_logfile): New.

Thu May 20 14:04:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* memory.c (membug): Nanu, there was a const instead of a static.

	* strgutil.c (trim_trailing_chars): New.

Mon May 17 21:54:43 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* logger.c (g10_log_hexdump): Made 2nd arg a const.

Wed Apr 28 13:03:03 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* miscutil.c (asctimestamp): Use nl_langinfo (Gaël Quéri).

Sun Apr 18 10:11:28 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* argparse.c (store_alias): Disabled becuase it is not used.

	* ttyio.c (tty_batchmode): New

Sat Mar 20 11:44:21 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* http.c: Swapped to includes.

Tue Mar  2 16:44:57 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* strgutil.c (get_native_charset): New.

Fri Feb 26 17:55:41 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* secmem.c (memblock_struct): Force align (Rémi Guyomarch)

Wed Feb 24 11:07:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* iobuf.c (block_filter): Fixed the oscillating partial packet chunks.

Fri Feb 19 15:49:15 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* iobuf.c (iobuf_push_filter2): New to allow transer of context
	ownership to the iobuf. Released the context where needed.

Tue Feb 16 14:10:02 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* strgutil.c (add_to_strglist): Clear the new flags field
	(append_to_strglist): Ditto.

	* dotlock.c (read_lockfile): terminate pidstr (Michael).

Wed Feb 10 17:15:39 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* dotlock.c (remove_lockfiles): Add cleanup function.
	(make_dotlock): Add deadlock check.

	* secmem.c (secmem_malloc): Changed error message.

Wed Jan 20 21:40:21 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* http.c (http_wait_response): Moved the shutdown behind the dup

Wed Jan 20 18:59:49 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* http.c (send_request): Removed double LF

Tue Jan 19 19:34:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* * iobuf.c (iobuf_push_filter): Allow filters for temp streams

	(iobuf_write_temp): Ditto.
	(iobuf_flush_temp): New.
	(iobuf_unget_and_close_temp): Removed.

	* http.c (close_http_document): Renamed to http_close().
	(open_http_document): Renamed to http_open_document().
	(http_open): New.
	(http_start_data): New.
	(http_wait_response): New.


Sun Jan 17 11:04:33 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* strgutil.c (trim_trailing_ws): New.

Sat Jan 16 12:03:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* http.c (connect_server): Fixed stupid bug.

Sat Jan 16 09:27:30 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* http.c: New


Wed Jan 13 14:10:15 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* iobuf.c (iobuf_fdopen): New.

Sat Jan  9 16:02:23 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* secmem.c (lock_pool): add another check that setuid() worked.
	(secmem_init): Ditto.

Thu Jan  7 18:00:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* iobuf.c (iobuf_clear_eof): Removed.
	(underflow): Changed the eof handling.
	(iobuf_pop_filter): Made static and renamed to pop_filter.

	* iobuf.c (iobuf_read_line): New.

Sun Jan  3 15:28:44 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>

	* dotlock.c (make_dotlock): print another informal message.

	(make_dotlock): Removed the cpp checks.


Tue Dec 29 14:41:47 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>

	* secmem.c: Moved unistd.h out of the #ifdef

	* dotlock.c (make_dotlock): Sun has no SYS_NMLN

	* iobuf.c (iobuf_unget_and_close_temp): Reset .start

Sat Dec 12 18:40:32 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>

	* argparse.c (arg_pars): fixed opts[i] with negative index.

Fri Nov 27 21:37:41 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>

	* dotlock.c: Implemented

Wed Nov 25 11:30:07 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* iobuf.c (iobuf_pop_filter): Fixed sigsegv after error.

Thu Nov 19 07:09:55 1998  Werner Koch  <werner.koch@guug.de>

	* miscutil.c (strtimevalue): New.

Tue Nov 10 10:01:53 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* strgutil.c (set_native_charset): New.
	(native_to_utf8): Now handles koi8-r.

Tue Nov  3 16:17:56 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* strgutil.c (native_to_utf8): New.
	(utf8_to_native): New, but only as a stub.

	* argparse.c (optfile_parse): Trimmed spaces from args.


Wed Oct 28 08:01:49 1998  me,,,  (wk@tobold)

	* argparse.c (find_long_option): New.
	(arg_parse): option=value is now allowed. Add a new internal
	option "--dump-options".

Thu Oct 22 16:25:49 1998  Michael Roth	(mroth@nessie.de)

	* fileutil.c (make_basename): New.
	(make_dirname): New.

Wed Oct 21 12:20:29 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* util.c (iobuf_flush): autoincreasing of a temp. iobuf
	(iobuf_temp_with_content): New.

Tue Oct 13 12:40:13 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* util.c (.nofast): set this variable

Wed Oct  7 19:27:50 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* memory.c (m_print_stats): New.

Tue Oct  6 09:53:56 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* strgutil.c (memicmp): Add HAVE_MEMICMP.

Mon Sep 21 19:45:01 1998  Werner Koch  (wk@(none))

	* secmem.c: New flags to allow suspend/resume of warnings.

Fri Sep 18 16:25:47 1998  Werner Koch  (wk@(none))

	* secmem.c (lock_pool): Kludge for broken mlock on HPUX 10.20

Tue Sep 15 17:52:21 1998  Werner Koch  (wk@(none))

	* miscutil.c (asctimestamp): New.

Mon Sep 14 09:38:18 1998  Werner Koch  (wk@(none))

	* secmem.c (init_pool): Now mmaps /dev/zero if we do not have MAP_ANON.

Wed Sep  9 13:52:28 1998  Werner Koch  (wk@(none))

	* ttyio.c (do_get): Ctrl-D is now a valid but special character

Mon Sep  7 13:52:41 1998  Werner Koch  (wk@(none))

	* iobuf.c (get_real_fname): New and changed file_filter datastructures
	and their initialization.

Tue Aug 11 15:12:35 1998  Werner Koch  (wk@(none))

	* miscutil.c (answer_is_yes): i18ned

Sat Aug  8 18:35:00 1998  Werner Koch  (wk@(none))

	* ttyio.c (cleanup): New.

Mon Aug  3 17:06:00 1998  Werner Koch  (wk@(none))

	* secmem.c (MAP_ANON): Add a macro test

Wed Jul 29 14:53:34 1998  Werner Koch  (wk@(none))

	* ttyio.c (tty_get_answer_is_yes): New.

Tue Jul 21 10:35:48 1998  Werner Koch  (wk@(none))

	* argparse.c: New option flag to distinguish options and commands.

Sat Jul 18 19:49:30 1998  Werner Koch  (wk@(none))

	* argparse.c (arg_parse): Added -? as alias for -h

Thu Jul  9 14:47:20 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* secmem.c (secmem_init): Drops setuid if called with 0.

Tue Jul  7 11:49:25 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* logger.c (log_set_filename): New.

Mon Jul  6 09:03:49 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* strgutil.c (append_to_strlist): New.

Thu Jul  2 15:55:44 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* iobuf.c (block_filter): Add writing of OP partial length headers.

Fri Jun 26 10:38:35 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* ttyio.c (do_get): all iso8859-1 characters are now allowed.

Thu Jun 25 15:57:21 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* secmem.c (lock_pool): Removed left over test code.

Wed Jun 10 07:39:41 1998  Werner Koch,mobil,,,	(wk@tobold)

	* fileutil.c (compare_filenames): New.

	* argparse.c (arg_parse): New flag bit 6 to ignore --version

Thu May 14 16:45:13 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* argparse.c (show_help): Add some formatting stuff

Fri May  8 17:06:49 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* errors.c (strerror): New if !HAVE_STRERROR

Mon May  4 19:48:03 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* iobuf.c (iobuf_read): Code is now faster.
	* (iobuf_write): ditto.

Mon Apr 27 11:01:32 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* strgutil.c (memicmp): New.

Thu Mar 19 11:29:03 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* strgutil.c (memistr): Add const to return and first arg.

Sat Mar  7 11:54:35 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* miscutil.c (print_string): New arg delim; changed all callers.

Thu Mar  5 12:19:30 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* errors.c: New strings.

Thu Mar  5 12:06:31 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* iobuf.c (iobuf_open): A name of "-" now opens stdin.
	* fileutil.c (print_fname_stdout, print_fname_stdin): New.

Fri Feb 27 10:20:03 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* memory.c (m_is_secure): Removed.
	* secmem.c (m_is_secure): Moved to here.

	* secmem.c (secmem_realloc): New.
	* memory.c (M_GUARD,EXTRA_ALIGN): New (all functions).

Thu Feb 26 14:36:51 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* secmem.c (lock_pool): No error if EAGAIN is returned instead
	of EPERM.

Fri Feb 20 17:43:05 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* ttyio.c [MINGW32]: Add support for mingw32.

Tue Feb 17 19:43:44 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* memory.c (dump_table_at_exit): New.

Mon Feb 16 10:07:28 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* argparse.c (show_version, show_help, default_strusage): Changed
	according to GNU standards.

Mon Feb 16 08:58:25 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* iobuf.c (iobuf_peek): New

Fri Feb 13 19:34:59 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* iobuf.c (iobuf_seek): Set counters to new offset.

Fri Feb 13 17:13:04 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* logger.c (log_set_name, log_get_name): New.
	(print_prefix, pgm_name): New, changed all function to make use it.
	(log_mpidump): Removed the "DBG" prefix.
	(log_hexdump): Ditto.

	* logger.c (printstr): Removed.

Fri Feb 13 15:14:13 1998  Werner Koch  (wk@isil.d.shuttle.de)

	* argparse.c (show_help): New '\v' kludge.



 Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004,
	   2005 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
 modifications, as long as this notice is preserved.

 This file is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
