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

	* gpgkeys_ldap.c (main): Avoid possible pre-string write.

	* gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Fix memory
	corruption bug on some platforms.  From devel.
	(search_key): Catch a mangled input file (useful if something
	other than GnuPG is calling the program).
	(main): Avoid possible pre-string write.  Noted by Christian
	Biere.

2003-11-27  Werner Koch  <wk@gnupg.org>

	* gpgkeys_hkp.c (get_key): Fixed bad use of fprintf w/o format
	string.

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

	* Makefile.am: Use W32LIBS where appropriate.

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

	* gpgkeys_hkp.c, gpgkeys_ldap.c: Include extern references for
	optarg and optind since there is no guarantee that any header file
	will include them.  Standards?  We don't need no stinkin'
	standards!

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

	* gpgkeys_hkp.c, gpgkeys_ldap.c: #include <getopt.h> if it is
	available.

	* Makefile.am: Use @GETOPT@ to pull in libiberty on those
	platforms that need it.

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

	* Makefile.am: gpgkeys_hkp needs @INTLLIBS@ on some platforms.

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

	* Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
	capabilities.

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

	* Makefile.am: Use the more correct @PACKAGE@ rather than "gnupg".

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

	* Makefile.am: Use a local copy of libexecdir so it can be easily
	overridden at make time.

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

	* gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is
	not a keyid, but rather a text string from the user ID.

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

	* gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key): Properly
	handle an input file that does not include any key data at all.

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

	* gpgkeys_hkp.c: Tidied up RISC OS initializations.

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

	* gpgkeys_hkp.c (main), gpgkeys_ldap.c (main): Add -V flag to
	output protocol and program version.

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

	* gpgkeys_ldap.c (search_key, main): Make sure LDAP values are
	freed in case of error.

	* gpgkeys_ldap.c (main): Fix error return code.

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

	* gpgkeys_ldap.c (send_key): Removed non-constant initializers.

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

	* gpgkeys_hkp.c (get_key, search_key): Properly handle line
	truncation.

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

	* gpgkeys_mailto.in: Add quasi-RFC-2368 mailto:email@addr?from=
	syntax so people can set their own email address to respond to.

	* gpgkeys_hkp.c (get_key): Properly respond with KEY FAILED (to
	gpg) and "key not found" (to user) on failure.

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

	* gpgkeys_hkp.c: Tidied up RISC OS initializations.

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

	* gpgkeys_hkp.c (send_key, get_key, search_key): Check return
	value of malloc.
	(dehtmlize): Use ascii_tolower to protect against weird locales.
	Cast the argument for isspace for the sake of broken HP/UXes.
	(search_key): Check return value of realloc.

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

	* gpgkeys_ldap.c (get_key): Some compilers (RISC OS, HPUX c89)
	don't like using variables as array initializers.

	* gpgkeys_hkp.c (send_key): Use CRLF in headers.

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

	* gpgkeys_hkp.c (parse_hkp_index): Use same types on all
	platforms.  This was probably leftover from earlier code where the
	typing mattered.

	* gpgkeys_hkp.c: Overall cleanup from iobuf conversion.  Be
	consistent in m_alloc and malloc usage.  Remove include-disabled
	(meaningless on HKP).  RISC OS tweak.

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

	* gpgkeys_hkp.c, Makefile.am: Convert over to using iobufs.

	* gpgkeys_hkp.c (http_get, http_post): Use CRLF for line endings.

	* gpgkeys_hkp.c: Include util.h on RISC OS as per Stefan.  Include
	a replacement for hstrerror() for those platforms (such as RISC
	OS) that don't have it.

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

	* Makefile.am: May as well include gpgkeys_hkp.c in the
	distribution now.  It works well enough without proxies, and isn't
	built by default.  It would be good to get some test experience
	with it.

	* gpgkeys_hkp.c (main): Don't warn about include-subkeys - it
	isn't unsupported, it's actually non-meaningful in the context of
	HKP (yet).
	
	* gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Move HTML
	functionality into new "dehtmlize" function.  Remove HTML before
	trying to parse each line from the keyserver.  If the keyserver
	provides key type information in the listing, use it.  (Copy over
	from g10/hkp.c).

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

	* gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code
	from g10/hkp.c.

	* gpgkeys_ldap.c (get_key): Fix cosmetic URL display problem
	(extra ":" at the end).

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

	* gpgkeys_ldap.c: Tidied up RISC OS initializations.

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

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

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

	* Makefile.am: Install keyserver helpers in @GNUPG_LIBEXECDIR@

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

	* gpgkeys_ldap.c (send_key, get_key, main): Consult the server
	version string to determine whether to use pgpKey or pgpKeyV2.

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

	* gpgkeys_mailto.in: Use new OPAQUE tag for non net-path URIs.
	Fail more elegantly if there is no email address to send to.  Show
	the GnuPG version in the message body.

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

	* gpgkeys_ldap.c (get_key), gpgkeys_hkp.c (get_key): Display
	keyserver URI as a URI, but only if verbose.

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

	* gpgkeys_hkp.c (parse_hkp_index): Error if the keyserver returns
	an unparseable HKP response.

	* gpgkeys_hkp.c (main): Warn on honor-http-proxy,
	broken-http-proxy, and include-subkeys (not supported yet).

	* gpgkeys_ldap.c (main), gpgkeys_hkp.c (http_connect, main): Fix
	some shadowing warnings.

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

	* Makefile.am: Don't hard-code the LDAP libraries - get them from
	LDAPLIBS via configure.  Also, gpgkeys_hkp is a program, not a
	script.

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

	* gpgkeys_ldap.c (include_subkeys): Default "include-subkeys" to
	off, since GnuPG now defaults it to on.

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

	* gpgkeys_hkp.c (parse_hkp_index): Type tweaks.

	* gpgkeys_hkp.c (main): Add experimental code warning.

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

	* Makefile.am, gpgkeys_hkp.c (new): Experimental HKP keyserver
	interface.

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

	* gpgkeys_ldap.c: Include <lber.h> if we absolutely must.  This
	helps when compiling against a very old OpenLDAP.

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

	* gpgkeys_mailto.in: Properly handle key requests in full
	fingerprint form.

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

	* gpgkeys_ldap.c (printquoted): Quote backslashes within keyserver
	search responses.

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

	* gpgkeys_ldap (get_key): LDAP keyservers do not support v3
	fingerprints, so error out if someone tries.  Actually, they don't
	support any fingerprints, but at least we can calculate a keyid
	from a v4 fingerprint.

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

	* gpgkeys_ldap: Clarify the notion of a partial failure.  This is
	possible if more than one key is being handled in a batch, and one
	fails while the other succeeds.  Note that a search that comes up
	with no results is not a failure - that is a valid response of "no
	answer".

	* gpgkeys_ldap.c (get_key): Allow GnuPG to send us full v4
	fingerprints, long key ids, or short key ids while fetching.
	Since the LDAP server doesn't actually handle fingerprints, chop
	them down to long key ids for actual use.

	* gpgkeys_ldap.c (main, get_key): When searching for a keyid,
	search for subkeys as well as primary keys.  This is mostly
	significant when automatically fetching the key based on the id in
	a header (i.e. "signature made by....").  "no-include-subkeys"
	disables.

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

	* gpgkeys_ldap.c: Fix compiler warning.

	* gpgkeys_ldap.c: Be much more robust with mangled input files.

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

	* gpgkeys_mailto.in: Use the new OUTOFBAND indicator so gpg knows
	not to try and import anything.  Also turn on perl -w for
	warnings.

	* gpgkeys_ldap.c (main): If we're using temp files (rather than
	stdin/stdout), make sure the file is closed when we're done.

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

	* Properly free the LDAP response when we're done with it.

	* Now that we handle multiple keys, we must remove duplicates as
	the LDAP keyserver returns keys with multiple user IDs multiple
	times.

	* Properly handle multiple keys with the same key ID (it's really
	rare, so fetch "0xDEADBEEF" to test this).

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

	* gpgkeys_ldap.c, gpgkeys_mailto.in: Fix GNU capitalization
	issues.  Prefix log messages with "gpgkeys" to clarify which
	program is generating them.

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

	* gpgkeys_ldap.c (search_key): Use unsigned int rather than uint
	for portability.

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

	* Initial version of gpgkeys_ldap (LDAP keyserver helper) and
	gpgkeys_mailto (email keyserver helper)

	
 Copyright 1998, 1999, 2000, 2001, 2002 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.
	