Changed default hash algorithm preferences
[gnupg.git] / keyserver / ChangeLog
blob0aeb0a853757e00697b712e49d6ceb88a30f4126
1 2009-07-06  David Shaw  <dshaw@jabberwocky.com>
3         * gpgkeys_hkp.c (main, srv_replace): Minor tweaks to use the
4         DNS-SD names ("pgpkey-http" and "pgpkey-https") in SRV lookups
5         instead of "hkp" and "hkps".
7 2009-06-24  Werner Koch  <wk@g10code.com>
9         * gpgkeys_ldap.c (send_key): Do not deep free a NULL modlist.
10         Reported by Fabian Keil.
12 2009-05-28  David Shaw  <dshaw@jabberwocky.com>
14         From 1.4:
16         * curl-shim.c (curl_slist_append, curl_slist_free_all): New.
17         Simple wrappers around strlist_t to emulate the curl way of doing
18         string lists.
19         (curl_easy_setopt): Handle the curl HTTPHEADER option.
21         * gpgkeys_curl.c, gpgkeys_hkp.c (main): Avoid caches to get the
22         most recent copy of the key.  This is bug #1061.
24 2009-05-27  David Shaw  <dshaw@jabberwocky.com>
26         From 1.4:
28         * gpgkeys_hkp.c (srv_replace): New function to transform a SRV
29         hostname to a real hostname.
30         (main): Call it from here for the HAVE_LIBCURL case (without
31         libcurl is handled via the curl-shim).
33         * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
34         Add a CURLOPT_SRVTAG_GPG_HACK (passed through the the http
35         engine).
37 2009-05-10  David Shaw  <dshaw@jabberwocky.com>
39         From 1.4:
41         * gpgkeys_hkp.c (send_key, get_key, get_name, search_key, main):
42         Add support for SSLized HKP.
44         * curl-shim.h (curl_version): No need to provide a version for
45         curl-shim as it always matches the GnuPG version.
47         * gpgkeys_curl.c, gpgkeys_hkp.c (main): Show which version of curl
48         we're using as part of --version.
50         * gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_hkp.c,
51         gpgkeys_ldap.c (show_help): Document --version.
53 2009-05-04  David Shaw  <dshaw@jabberwocky.com>
55         * gpgkeys_mailto.in: Set 'mail-from' as a keyserver-option, rather
56         than the ugly ?from= syntax.
58 2009-01-22  Werner Koch  <wk@g10code.com>
60         * Makefile.am (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD): Add all
61         standard libs.
63 2008-10-20  Werner Koch  <wk@g10code.com>
65         * curl-shim.c (curl_global_init): Mark usused arg.
66         (curl_version_info): Ditto.
68 2008-08-29  Werner Koch  <wk@g10code.com>
70         * gpgkeys_kdns.c: Changed copyright notice to the FSF.
72 2008-04-21  Werner Koch  <wk@g10code.com>
74         * ksutil.c (w32_init_sockets) [HAVE_W32_SYSTEM]: New.
75         * curl-shim.c (curl_easy_init) [HAVE_W32_SYSTEM]: Call it.
76         * gpgkeys_finger.c: s/_WIN32/HAVE_W32_SYSTEM/.
77         (init_sockets): Remove.
78         (connect_server) [HAVE_W32_SYSTEM]: Call new function.  
80 2008-04-14  David Shaw  <dshaw@jabberwocky.com>
82         * gpgkeys_curl.c (main), gpgkeys_hkp.c (main): Make sure all
83         libcurl number options are passed as long.
85         * curl-shim.c (curl_easy_setopt): Minor tweak to match the real
86         curl better - libcurl uses 'long', not 'unsigned int'.
88 2008-04-07  Werner Koch  <wk@g10code.com>
90         * gpgkeys_kdns.c: New.
91         * Makefile.am: Support kdns. 
93         * no-libgcrypt.c (gcry_strdup): Fix.  It was not used.
95 2008-03-25  Werner Koch  <wk@g10code.com>
97         * gpgkeys_ldap.c (build_attrs): Take care of char defaulting to
98         unsigned when using hextobyte.
100 2007-10-25  David Shaw  <dshaw@jabberwocky.com>  (wk)
102         From 1.4 (July):
103         
104         * gpgkeys_ldap.c (main): Fix bug in setting up whether to verify
105         peer SSL cert.  This used to work with older OpenLDAP, but is now
106         more strictly handled.
108         * gpgkeys_ldap.c (search_key, main): Fix bug where searching for
109         foo bar (no quotes) on the command line resulted in searching for
110         "foo\2Abar" due to LDAP quoting.  The proper search is "foo*bar".
112 2007-06-11  Werner Koch  <wk@g10code.com>
114         * gpgkeys_hkp.c (send_key): Rename eof to r_eof as some Windows
115         header defines such a symbol.
116         (main): Likewise.
118 2007-06-06  Werner Koch  <wk@g10code.com>
120         * gpgkeys_ldap.c (send_key, send_key_keyserver): Rename eof to
121         r_eof as some Windows file has such a symbol.
122         (main): Likewise.
124 2007-05-07  Werner Koch  <wk@g10code.com>
126         * Makefile.am (gpg2keys_ldap_LDADD): Add GPG_ERROR_LIBS.
128 2007-05-04  Werner Koch  <wk@g10code.com>
130         * gpgkeys_test.in: Rename to ..
131         * gpg2keys_test.in: .. this.
132         * gpgkeys_mailto.in: Rename to ..
133         * gpg2keys_mailto.in: .. this
134         * Makefile.am: Likewise
136 2007-03-13  David Shaw  <dshaw@jabberwocky.com>
138         From STABLE-BRANCH-1-4
140         * gpgkeys_curl.c (main): Use curl_version_info to verify that the
141         protocol we're about to use is actually available.
143         * curl-shim.h, curl-shim.c (curl_free): Make into a macro.
144         (curl_version_info): New.  Only advertises "http" for our shim, of
145         course.
147 2007-03-09  David Shaw  <dshaw@jabberwocky.com>
149         From STABLE-BRANCH-1-4
151         * gpgkeys_ldap.c (send_key): Missing a free().
153         * curl-shim.c (curl_easy_perform): Some debugging items that may
154         be handy.
156 2006-12-03  David Shaw  <dshaw@jabberwocky.com>
158         * gpgkeys_hkp.c (search_key): HKP keyservers like the 0x to be
159         present when searching by keyID.
161 2006-11-22  Werner Koch  <wk@g10code.com>
163         * Makefile.am (gpg2keys_ldap_LDADD): Add jnlib.  This is needed
164         for some replacement functions.
166 2006-11-21  Werner Koch  <wk@g10code.com>
168         * curl-shim.c (curl_easy_perform): Made BUFLEN and MAXLNE a size_t.
170 2006-11-05  David Shaw  <dshaw@jabberwocky.com>
172         * gpgkeys_hkp.c (curl_mrindex_writer): Revert previous change.
173         Key-not-found still has a HTML response.
175 2006-10-24  Marcus Brinkmann  <marcus@g10code.de>
177         * Makefile.am (gpg2keys_ldap_CPPFLAGS): Rename second instance to ...
178         (gpg2keys_finger_CPPFLAGS): ... this.
180 2006-10-20  Werner Koch  <wk@g10code.com>
182         * Makefile.am: Reporder macros for better readability.
183         (gpg2keys_finger_LDADD): Add GPG_ERROR_LIBS.
185 2006-10-19  David Shaw  <dshaw@jabberwocky.com>
187         * gpgkeys_hkp.c (curl_mrindex_writer): Print a warning if we see
188         HTML coming back from a MR hkp query.
190 2006-10-17  Werner Koch  <wk@g10code.com>
192         * Makefile.am: Removed W32LIBS as they are included in NETLIBS.
193         Removed PTH_LIBS.
195 2006-09-26  Werner Koch  <wk@g10code.com>
197         * curl-shim.c: Adjusted for changes in http.c.
198         (curl_easy_perform): Changed LINE from unsigned char* to char*.
200         * Makefile.am (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD)
201         [FAKE_CURL]: Need to link against common_libs and pth.
203         * curl-shim.h, curl-shim.c: Removed license exception as not
204         needed here.
206 2006-09-22  Werner Koch  <wk@g10code.com>
208         * gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c, curl-shim.c:
209         * curl-shim.h, ksutil.c, ksutil.h: Add special license exception
210         for OpenSSL.  This helps to avoid license conflicts if OpenLDAP or
211         cURL is linked against OpenSSL and we would thus indirectly link
212         to OpenSSL.  This is considered a bug fix and forgives all
213         possible violations, pertaining to this issue, possibly occured in
214         the past.
215         
216         * no-libgcrypt.c: Changed license to a simple all permissive one.
218         * Makefile.am (gpg2keys_ldap_LDADD): For license reasons do not
219         link against common_libs.
220         (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD): Ditto.
221         * ksutil.c (ks_hextobyte, ks_toupper, ks_strcasecmp): New.
222         Identical to the ascii_foo versions from jnlib.
223         * gpgkeys_ldap.c: Include assert.h.
224         (main): Replace BUG by assert.
225         (build_attrs): Use ks_hextobyte and ks_strcasecmp.
227         * gpgkeys_finger.c (get_key): Resolved signed/unisgned char
228         mismatch.
230 2006-09-19  Werner Koch  <wk@g10code.com>
231         
232         * no-libgcrypt.c: New. Taken from ../tools.
233         * Makefile.am: Add no-libgcrypt to all sources.
235 2006-09-06  Marcus Brinkmann  <marcus@g10code.de>
237         * Makefile.am (AM_CFLAGS): Add $(GPG_ERROR_CFLAGS).
239 2006-08-16  Werner Koch  <wk@g10code.com>
241         * Makefile.am: Renamed all binaries to gpg2keys_*.
242         (gpg2keys_ldap_CPPFLAGS): Add AM_CPPFLAGS.
244 2006-08-15  Werner Koch  <wk@g10code.com>
246         * Makefile.am: Adjusted to the gnupg2 framework.
248 2006-08-14  Werner Koch  <wk@g10code.com>
250         * curl-shil.c, curl-shim.h: Changed to make use of the new http.c
251         API.
253         * curl-shim.c (curl_easy_perform): Add missing http_close to the
254         POST case.
256 2006-07-24  David Shaw  <dshaw@jabberwocky.com>  (wk)
258         * curl-shim.c (curl_easy_perform): Minor cleanup of proxy code.
260         * gpgkeys_hkp.c (send_key)
261         * gpgkeys_ldap.c (send_key, send_key_keyserver): Fix string
262         matching problem when the ascii armored form of the key happens to
263         match "KEY" at the beginning of the line.
265 2006-04-26  David Shaw  <dshaw@jabberwocky.com>
267         * gpgkeys_http.c, gpgkeys_oldhkp.c: Removed.
269         * Makefile.am: Don't build gpgkeys_http or gpgkeys_(old)hkp any
270         longer as this is done via curl or fake-curl.
272         * ksutil.h, ksutil.c, gpgkeys_hkp.c, gpgkeys_curl.c: Minor
273         #include tweaks as FAKE_CURL is no longer meaningful.
275 2006-04-10  David Shaw  <dshaw@jabberwocky.com>
277         * gpgkeys_ldap.c (ldap_quote, get_name, search_key): LDAP-quote
278         directly into place rather than mallocing temporary buffers.
280         * gpgkeys_ldap.c (get_name): Build strings with strcat rather than
281         using sprintf which is harder to read and modify.
283         * ksutil.h, ksutil.c (classify_ks_search): Add
284         KS_SEARCH_KEYID_SHORT and KS_SEARCH_KEYID_LONG to search for a key
285         ID.
287         * gpgkeys_ldap.c (search_key): Use it here to flip from pgpUserID
288         searches to pgpKeyID or pgpCertID.
290 2006-03-27  David Shaw  <dshaw@jabberwocky.com>
292         * gpgkeys_ldap.c: #define LDAP_DEPRECATED for newer OpenLDAPs so
293         they use the regular old API that is compatible with other LDAP
294         libraries.
296 2006-03-03  David Shaw  <dshaw@jabberwocky.com>
298         * gpgkeys_ldap.c (main): Fix build problem with non-OpenLDAP LDAP
299         libraries that have TLS.
301 2006-02-23  David Shaw  <dshaw@jabberwocky.com>
303         * ksutil.c (init_ks_options): Default include-revoked and
304         include-subkeys to on, as gpg isn't doing this any longer.
306 2006-02-22  David Shaw  <dshaw@jabberwocky.com>
308         * gpgkeys_hkp.c (get_name): A GETNAME query turns exact=on to cut
309         down on odd matches.
311 2006-02-21  David Shaw  <dshaw@jabberwocky.com>
313         * gpgkeys_ldap.c (make_one_attr, build_attrs, send_key): Don't
314         allow duplicate attributes as OpenLDAP is now enforcing this.
316         * gpgkeys_ldap.c (main): Add binddn and bindpw so users can pass
317         credentials to a remote LDAP server.
319         * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
320         curl_easy_perform): Mingw has 'stderr' as a macro?
322         * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
323         curl_easy_perform): Add CURLOPT_VERBOSE and CURLOPT_STDERR for
324         easier debugging.
326 2006-01-16  David Shaw  <dshaw@jabberwocky.com>
328         * gpgkeys_hkp.c (send_key): Do not escape the '=' in the HTTP POST
329         when uploading a key.
331 2005-12-23  David Shaw  <dshaw@jabberwocky.com>
333         * ksutil.h, ksutil.c (parse_ks_options): New keyserver command
334         "getname".
336         * gpgkeys_hkp.c (main, get_name), gpgkeys_ldap.c (main, get_name):
337         Use it here to do direct name (rather than key ID) fetches.
339 2005-12-19  David Shaw  <dshaw@jabberwocky.com>
341         * ksutil.h, ksutil.c (curl_armor_writer, curl_writer,
342         curl_writer_finalize): New functionality to handle binary format
343         keys by armoring them for input to GPG.
345         * gpgkeys_curl.c (get_key), gpgkeys_hkp.c (get_key): Call it here.
347 2005-12-07  David Shaw  <dshaw@jabberwocky.com>
349         * gpgkeys_finger.c (get_key), gpgkeys_curl.c (get_key): Better
350         language for the key-not-found error.
352         * ksutil.c (curl_err_to_gpg_err): Add CURLE_OK and
353         CURLE_COULDNT_CONNECT.
355         * gpgkeys_curl.c (get_key): Give key-not-found error if no data is
356         found (or file itself is not found) during a fetch.
358 2005-12-06  David Shaw  <dshaw@jabberwocky.com>
360         * curl-shim.c (curl_easy_perform): Fix build warning (code before
361         declaration).
363 2005-11-02  David Shaw  <dshaw@jabberwocky.com>
365         * gpgkeys_hkp.c (search_key): Fix warning with typecast (though
366         curl should really have defined that char * as const).
368 2005-08-25  David Shaw  <dshaw@jabberwocky.com>
370         * ksutil.h, ksutil.c (parse_ks_options): Remove exact-name and
371         exact-email.
372         (classify_ks_search): Mimic the gpg search modes instead with *,
373         =, <, and @.
375         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Call
376         them here.  Suggested by Jason Harris.
378 2005-08-18  David Shaw  <dshaw@jabberwocky.com>
380         * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
381         exact-name.  The last of exact-name and exact-email overrides the
382         earlier.
384         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
385         here to do a name-only search.
387         * gpgkeys_ldap.c (ldap_quote): \-quote a string for LDAP.
389         * gpgkeys_ldap.c (search_key): Use it here to escape reserved
390         characters in searches.
392 2005-08-17  David Shaw  <dshaw@jabberwocky.com>
394         * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
395         exact-email.
397         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
398         here to do an email-only search.
400 2005-08-08  David Shaw  <dshaw@jabberwocky.com>
402         * Makefile.am: Include LDAP_CPPFLAGS when building LDAP.
404 2005-08-03  David Shaw  <dshaw@jabberwocky.com>
406         * gpgkeys_hkp.c (main), gpgkeys_curl.c (main), curl-shim.h: Show
407         version of curl (or curl-shim) when debug is set.
409 2005-07-20  David Shaw  <dshaw@jabberwocky.com>
411         * gpgkeys_curl.c (get_key, main): Don't try and be smart about
412         what protocols we handle.  Directly pass them to curl or fake-curl
413         and see if an error comes back.
415         * curl-shim.h, curl-shim.c (handle_error), ksutil.c
416         (curl_err_to_gpg_err): Add support for CURLE_UNSUPPORTED_PROTOCOL
417         in fake curl.
419         * Makefile.am: Don't need -DFAKE_CURL any longer since it's in
420         config.h.
422 2005-06-23  David Shaw  <dshaw@jabberwocky.com>
424         * gpgkeys_mailto.in, gpgkeys_test.in: Use @VERSION@ so version
425         string stays up to date.
427         * gpgkeys_http.c: Don't need to define HTTP_PROXY_ENV here since
428         it's in ksutil.h.
430         * gpgkeys_curl.c (get_key, main), gpgkeys_hkp.c (main): Pass AUTH
431         values to curl or curl-shim.
433         * curl-shim.c (curl_easy_perform), gpgkeys_curl.c (main),
434         gpgkeys_hkp.c (main): Use curl-style proxy semantics.
436         * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
437         Add CURLOPT_USERPWD option for HTTP auth.
439         * gpgkeys_http.c (get_key), gpgkeys_oldhkp (send_key, get_key,
440         search_key): No longer need to pass a proxyauth.
442         * gpgkeys_http.c (get_key): Pass auth outside of the URL.
444 2005-06-21  David Shaw  <dshaw@jabberwocky.com>
446         * gpgkeys_http.c (get_key), gpgkeys_oldhkp.c (send_key, get_key,
447         search_key): Fix http_open/http_open_document calls to pass NULL
448         for auth and proxyauth since these programs pass them in the URL.
450 2005-06-20  David Shaw  <dshaw@jabberwocky.com>
452         * gpgkeys_hkp.c (append_path, send_key, get_key, search_key,
453         main), gpgkeys_oldhkp.c (main): Properly handle double slashes in
454         paths.
456 2005-06-05  David Shaw  <dshaw@jabberwocky.com>
458         * ksutil.c (init_ks_options, parse_ks_options): Provide a default
459         "/" path unless overridden by the config.  Allow config to specify
460         items multiple times and take the last specified item.
462 2005-06-04  David Shaw  <dshaw@jabberwocky.com>
464         * gpgkeys_hkp.c, gpgkeys_oldhkp.c: Add support for HKP servers
465         that aren't at the root path.  Suggested by Jack Bates.
467 2005-06-01  David Shaw  <dshaw@jabberwocky.com>
469         * ksutil.c [HAVE_DOSISH_SYSTEM]: Fix warnings on mingw32.  Noted
470         by Joe Vender.
472 2005-05-04  David Shaw  <dshaw@jabberwocky.com>
474         * ksutil.h, ksutil.c: #ifdef so we can build without libcurl or
475         fake-curl.
477 2005-05-03  David Shaw  <dshaw@jabberwocky.com>
479         * gpgkeys_http.c: Need GET defined.
481 2005-05-01  David Shaw  <dshaw@jabberwocky.com>
483         * gpgkeys_hkp.c, gpgkeys_oldhkp.c, ksutil.h: Some minor cleanup
484         and comments as to the size of MAX_LINE and MAX_URL.
486 2005-04-16  David Shaw  <dshaw@jabberwocky.com>
488         * gpgkeys_hkp.c: New hkp handler that uses curl or curl-shim.
490         * Makefile.am: Build new gpgkeys_hkp.
492         * curl-shim.c (curl_easy_perform): Cleanup.
494         * ksutil.h, ksutil.c (curl_writer), gpgkeys_curl.c (get_key): Pass
495         a context to curl_writer so we can support multiple fetches in a
496         single session.
498         * curl-shim.h, curl-shim.c (handle_error, curl_easy_setopt,
499         curl_easy_perform): Add POST functionality to the curl shim.
501         * curl-shim.h, curl-shim.c (curl_escape, curl_free): Emulate
502         curl_escape and curl_free.
504         * gpgkeys_curl.c (main): If the http-proxy option is given without
505         any arguments, try to get the proxy from the environment.
507         * ksutil.h, ksutil.c (curl_err_to_gpg_err, curl_writer): Copy from
508         gpgkeys_curl.c.
510         * gpgkeys_oldhkp.c: Copy from gpgkeys_hkp.c.
512 2005-03-22  David Shaw  <dshaw@jabberwocky.com>
514         * gpgkeys_ldap.c, ksutil.h, ksutil.c (print_nocr): Moved from
515         gpgkeys_ldap.c.  Print a string, but strip out any CRs.
517         * gpgkeys_finger.c (get_key), gpgkeys_hkp.c (get_key),
518         gpgkeys_http.c (get_key): Use it here when outputting key material
519         to canonicalize line endings.
521 2005-03-19  David Shaw  <dshaw@jabberwocky.com>
523         * gpgkeys_ldap.c (main): Fix three wrong calls to fail_all().
524         Noted by Stefan Bellon.
526 2005-03-17  David Shaw  <dshaw@jabberwocky.com>
528         * ksutil.c (parse_ks_options): Handle verbose=nnn.
530         * Makefile.am: Calculate GNUPG_LIBEXECDIR directly.  Do not
531         redefine $libexecdir.
533         * gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_ldap.c: Start using
534         parse_ks_options and remove a lot of common code.
536         * ksutil.h, ksutil.c (parse_ks_options): Parse OPAQUE, and default
537         debug with no arguments to 1.
539 2005-03-16  David Shaw  <dshaw@jabberwocky.com>
541         * gpgkeys_ldap.c: Include lber.h if configure determines we need
542         it.
544         * ksutil.h, ksutil.c (ks_action_to_string): New.
545         (free_ks_options): Only free if options exist.
547         * ksutil.h, ksutil.c (init_ks_options, free_ks_options,
548         parse_ks_options): Pull a lot of duplicated code into a single
549         options parser for all keyserver helpers.
551 2005-02-11  David Shaw  <dshaw@jabberwocky.com>
553         * curl-shim.c (curl_easy_perform): Fix compile warning.
555         * curl-shim.h, gpgkeys_curl.c (main), gpgkeys_ldap.c (main): Add
556         ca-cert-file option, to pass in the SSL cert.
558         * curl-shim.h, curl-shim.c: New.  This is code to fake the curl
559         API in terms of the current HTTP iobuf API.
561         * gpgkeys_curl.c [FAKE_CURL], Makefile.am: If FAKE_CURL is set,
562         link with the iobuf code rather than libcurl.
564 2005-02-05  David Shaw  <dshaw@jabberwocky.com>
566         * gpgkeys_finger.c (main), gpgkeys_hkp.c (main): Fix --version
567         output.
569         * gpgkeys_curl.c (main): Make sure the curl handle is cleaned up
570         on failure.
572 2005-02-01  David Shaw  <dshaw@jabberwocky.com>
574         * gpgkeys_hkp.c (get_key), gpgkeys_http.c (get_key): Fix missing
575         http_close() calls.  Noted by Phil Pennock.
577         * ksutil.h: Up the default timeout to two minutes.
579 2005-01-24  David Shaw  <dshaw@jabberwocky.com>
581         * gpgkeys_ldap.c (print_nocr): New.
582         (get_key): Call it here to canonicalize line endings.
584         * gpgkeys_curl.c (writer): Discard everything outside the BEGIN
585         and END lines when retrieving keys.  Canonicalize line endings.
586         (main): Accept FTPS.
588 2005-01-21  David Shaw  <dshaw@jabberwocky.com>
590         * gpgkeys_ldap.c (main): Add "check-cert" option to disable SSL
591         certificate checking (which is on by default).
593         * gpgkeys_curl.c (main): Add "debug" option to match the LDAP
594         helper.  Add "check-cert" option to disable SSL certificate
595         checking (which is on by default).
597 2005-01-18  David Shaw  <dshaw@jabberwocky.com>
599         * gpgkeys_curl.c: Fix typo.
601 2005-01-18  Werner Koch  <wk@g10code.com>
603         * gpgkeys_curl.c: s/MAX_PATH/URLMAX_PATH/g to avoid a clash with
604         the W32 defined macro.  Removed unneeded initialization of static
605         variables.
606         * gpgkeys_http.c: Ditto.
607         * ksutil.h: s/MAX_PATH/URLMAX_PATH/.
609 2005-01-17  David Shaw  <dshaw@jabberwocky.com>
611         * gpgkeys_curl.c (main): Only allow specified protocols to use the
612         curl handler.
614         * Makefile.am: Use LIBCURL_CPPFLAGS instead of LIBCURL_INCLUDES.
616 2005-01-13  David Shaw  <dshaw@jabberwocky.com>
618         * ksutil.h, gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c,
619         gpgkeys_finger.c, gpgkeys_http.c: Part 2 of the cleanup.  Move all
620         the various defines to ksutil.h.
622         * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
623         Part 1 of a minor cleanup to use #defines instead of hard-coded
624         sizes.
626         * gpgkeys_finger.c (connect_server): Use INADDR_NONE instead of
627         SOCKET_ERROR.  Noted by Timo.
629 2005-01-09  David Shaw  <dshaw@jabberwocky.com>
631         * gpgkeys_curl.c (get_key): Newer versions of libcurl don't define
632         TRUE.
634 2004-12-24  David Shaw  <dshaw@jabberwocky.com>
636         * gpgkeys_curl.c (main): Use new defines for opting out of certain
637         transfer protocols.  Allow setting HTTP proxy via "http-proxy=foo"
638         option (there is natural support in libcurl for the http_proxy
639         environment variable).
641         * Makefile.am: Remove the conditional since this is all handled in
642         autoconf now.
644 2004-12-22  David Shaw  <dshaw@jabberwocky.com>
646         * gpgkeys_curl.c (main): New "follow-redirects" option.  Takes an
647         optional numeric value for the maximum number of redirects to
648         allow.  Defaults to 5.
650         * gpgkeys_curl.c (main), gpgkeys_finger.c (main), gpgkeys_hkp.c
651         (main), gpgkeys_http.c (main), gpgkeys_ldap.c (main): Make sure
652         that a "timeout" option passed with no arguments is properly
653         handled.
655         * gpgkeys_curl.c (get_key, writer): New function to wrap around
656         fwrite to avoid DLL access problem on win32.
658         * gpgkeys_http.c (main, get_key): Properly pass authentication
659         info through to the http library.
661         * Makefile.am: Build gpgkeys_http or gpgkeys_curl as needed.
663         * gpgkeys_curl.c (main, get_key): Minor tweaks to work with either
664         FTP or HTTP.
666         * gpgkeys_ftp.c: renamed to gpgkeys_curl.c.
668         * gpgkeys_ftp.c (main, get_key): Use auth data as passed by gpg.
669         Use CURLOPT_FILE instead of CURLOPT_WRITEDATA (same option, but
670         backwards compatible).
672 2004-12-21  David Shaw  <dshaw@jabberwocky.com>
674         * gpgkeys_ftp.c: New.
676         * Makefile.am: Build it if requested.
678 2004-12-14  Werner Koch  <wk@g10code.com>
680         * Makefile.am (install-exec-hook, uninstall-hook): Removed.  For
681         Windows reasons we can't use the symlink trick.
683 2004-12-03  David Shaw  <dshaw@jabberwocky.com>
685         * Makefile.am: The harmless "ignored error" on gpgkeys_ldap
686         install on top of an existing install is bound to confuse people.
687         Use ln -s -f to force the overwrite.
689 2004-10-28  David Shaw  <dshaw@jabberwocky.com>
691         * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
693 2004-10-28  Werner Koch  <wk@g10code.com>
695         * Makefile.am (other_libs): New.  Also include LIBICONV.  Noted by
696         Tim Mooney.
698 2004-10-28  Werner Koch  <wk@g10code.com>
700         * Makefile.am (other_libs): 
702 2004-10-18  David Shaw  <dshaw@jabberwocky.com>
704         * gpgkeys_hkp.c (send_key, get_key, search_key): Use "hkp" instead
705         of "x-hkp" so it can be used as a SRV tag.
707 2004-10-16  David Shaw  <dshaw@jabberwocky.com>
709         * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
711 2004-10-15  Werner Koch  <wk@g10code.com>
713         * gpgkeys_ldap.c (main, show_help): Kludge to implement standard
714         GNU options. Factored help printing out.
715         * gpgkeys_finger.c (main, show_help): Ditto.
716         * gpgkeys_hkp.c (main, show_help): Ditto.
717         * gpgkeys_http.c (main, show_help): Ditto.
718         * gpgkeys_test.in, gpgkeys_mailto.in: Implement --version and --help.
720         * Makefile.am: Add ksutil.h.
722 2004-10-14  David Shaw  <dshaw@jabberwocky.com>
724         * gpgkeys_finger.c (main): We do not support relay fingering
725         (i.e. "finger://relayhost/user@example.com"), but finger URLs are
726         occasionally miswritten that way.  Give an error in this case.
728 2004-10-14  Werner Koch  <wk@g10code.com>
730         * gpgkeys_finger.c (get_key): s/unsigned char/byte/ due
731         to a strange typedef for RISC OS.  Noted by Stefan.
733 2004-10-13  David Shaw  <dshaw@jabberwocky.com>
735         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main), gpgkeys_http.c
736         (main), gpgkeys_finger.c (main): Call timeout functions before
737         performing an action that could block for a long time.
739         * ksutil.h, ksutil.c: New.  Right now just contains timeout
740         functions.
742 2004-10-11  David Shaw  <dshaw@jabberwocky.com>
744         * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
745         Fix a few occurances of "filename" to `filename'.
747 2004-10-11  Werner Koch  <wk@g10code.com>
749         * gpgkeys_finger.c: New.
751 2004-08-27  Stefan Bellon  <sbellon@sbellon.de>
753         * gpgkeys_hkp.c (search_key): Fix the prior faulty fix by
754         introducing a cast but leaving skey unsigned.
756         * gpgkeys_hkp.c (search_key): Change type of variable skey from
757         unsigned char* to char* to fix type incompatibility.
759 2004-08-23  David Shaw  <dshaw@jabberwocky.com>
761         * gpgkeys_ldap.c (get_key, search_key), gpgkeys_hkp.c (get_key,
762         search_key), gpgkeys_http.c (get_key): Do not give informational
763         logs since this is now done inside gpg.
765         * gpgkeys_hkp.c (dehtmlize): Understand the quote character
766         (i.e. "&quot;") in HTML responses.
767         (search_key): Search key must be unsigned for url encoder to work
768         properly for 8-bit values.
770         * gpgkeys_ldap.c (get_key): Factor out informational display into
771         new function build_info().
773         * gpgkeys_ldap.c (build_attrs): Properly terminate user ID strings
774         that got shrunk due to encoding.
776 2004-08-22  David Shaw  <dshaw@jabberwocky.com>
778         * gpgkeys_ldap.c (find_basekeyspacedn): Use LDAP_SCOPE_BASE along
779         with a full DN rather than LDAP_SCOPE_ONELEVEL plus a filter to
780         find the pgpServerInfo object.  Some LDAP setups don't like the
781         search.
782         (main): Stop binding to the server since it seems no server really
783         requires it, and some require it not be there.
785 2004-07-29  David Shaw  <dshaw@jabberwocky.com>
787         * gpgkeys_ldap.c (main): Add "debug" option.  This is only really
788         useful with OpenLDAP, but it's practically vital to debug SSL and
789         TLS setups.  Add "basedn" option.  This allows users to override
790         the autodetection for base DN.  SSL overrides TLS, so TLS will not
791         be started on SSL connections (starting an already started car).
793 2004-07-28  David Shaw  <dshaw@jabberwocky.com>
795         * gpgkeys_ldap.c (build_attrs): Add "pgpKeySize" and "pgpSubKeyID"
796         attributes so we can do subkey searches.
798         * gpgkeys_ldap.c (main): Under certain error conditions, we might
799         try and unbind twice.  Don't.
801         * gpgkeys_ldap.c (join_two_modlists): New.
802         (send_key): Use new function so we can try a modify operation
803         first, and fail over to an add if that fails.  Add cannot cope
804         with the NULLs at the head of the modify request, so we jump into
805         the list in the middle.
807 2004-07-27  David Shaw  <dshaw@jabberwocky.com>
809         * gpgkeys_ldap.c (main): Don't try and error out before making a
810         ldaps connection to the NAI keyserver since we cannot tell if it
811         is a NAI keyserver until we connect.  Fail if we cannot find a
812         base keyspace DN.  Fix a false success message for TLS being
813         enabled.
815 2004-07-20  Werner Koch  <wk@gnupg.org>
817         * gpgkeys_ldap.c [_WIN32]: Include Windows specific header files.
818         Suggested by Brian Gladman.
820 2004-05-26  David Shaw  <dshaw@jabberwocky.com>
822         * gpgkeys_http.c: General polish and removal of leftover stuff
823         from gpgkeys_hkp.c.
825 2004-05-21  David Shaw  <dshaw@jabberwocky.com>
827         * gpgkeys_http.c (get_key): Cosmetic fix - make sure that URLs
828         with no path use a path of "/".
830         * gpgkeys_ldap.c (ldap2epochtime): We can always rely on timegm()
831         being available now, since it's a replacement function.
833 2004-05-20  David Shaw  <dshaw@jabberwocky.com>
835         * gpgkeys_http.c: New program to do a simple HTTP file fetch using
836         the keyserver interface.
838         * Makefile.am: Build it.
840 2004-02-28  David Shaw  <dshaw@jabberwocky.com>
842         * Makefile.am: Don't split LDADD across two lines since some make
843         programs can't handle blank lines after a \ continuation.  Noted
844         by Christoph Moench-Tegeder.
846 2004-02-25  David Shaw  <dshaw@jabberwocky.com>
848         * gpgkeys_ldap.c (send_key): List pgpCertID as one of the deleted
849         attributes.  This guarantees that if something goes wrong, we
850         won't be able to complete the transaction, thus leaving any key
851         already existing on the server intact.
853 2004-02-23  David Shaw  <dshaw@jabberwocky.com>
855         * gpgkeys_ldap.c (delete_one_attr): Removed.
856         (make_one_attr): Delete functionality added.  Optional deduping
857         functionality added (currently only used for pgpSignerID).
858         (build_attrs): Translate sig entries into pgpSignerID.  Properly
859         build the timestamp for pgpKeyCreateTime and pgpKeyExpireTime.
861 2004-02-22  David Shaw  <dshaw@jabberwocky.com>
863         * gpgkeys_ldap.c (delete_one_attr): New function to replace
864         attributes with NULL (a "delete" that works even for nonexistant
865         attributes).
866         (send_key): Use it here to remove attributes so a modify operation
867         starts with a clean playing field.  Bias sends to modify before
868         add, since (I suspect) people update their existing keys more
869         often than they make and send new keys to the server.
871 2004-02-21  David Shaw  <dshaw@jabberwocky.com>
873         * gpgkeys_ldap.c (epoch2ldaptime): New.  Converse of
874         ldap2epochtime.
875         (make_one_attr): New. Build a modification list in memory to send
876         to the LDAP server.
877         (build_attrs): New. Parse INFO lines sent over by gpg.
878         (free_mod_values): New.  Unwinds a modification list.
879         (send_key_keyserver): Renamed from old send_key().
880         (send_key): New function to send a key to a LDAP server.
881         (main): Use send_key() for real LDAP servers, send_key_keyserver()
882         otherwise.
884 2004-02-20  David Shaw  <dshaw@jabberwocky.com>
886         * gpgkeys_ldap.c: Replacement prototypes for setenv and unsetenv.
887         (search_key): Catch a SIZELIMIT_EXCEEDED error and show the user
888         whatever the server did give us.
889         (find_basekeyspacedn): There is no guarantee that namingContexts
890         will be readable.
892         * Makefile.am: Link gpgkeys_ldap with libutil.a to get the
893         replacement functions (and eventually translations, etc).
895 2004-02-19  David Shaw  <dshaw@jabberwocky.com>
897         * gpgkeys_ldap.c (ldap2epochtime): LDAP timestamps are UTC, so do
898         not correct for timezones.
899         (main): Find the basekeyspacedn before we try to start TLS, so we
900         can give a better error message when a user tries to use TLS with
901         a LDAP keyserver.
903         * Makefile.am: Add automake conditionals to symlink gpgkeys_ldaps
904         to gpgkeys_ldap when needed.
906         * gpgkeys_ldap.c (main): Add support for LDAPS and TLS
907         connections.  These are only useful and usable when talking to
908         real LDAP keyservers.  Add new "tls" option to tune TLS use from
909         off, to try quietly, to try loudly, or to require TLS.
911         * gpgkeys_ldap.c (find_basekeyspacedn): New function to figure out
912         what kind of LDAP server we're talking to (either real LDAP or the
913         LDAP keyserver), and return the baseKeySpaceDN to find keys under.
914         (main): Call it from here, and remove the old code that only
915         handled the LDAP keyserver.
917 2004-02-18  David Shaw  <dshaw@jabberwocky.com>
919         * gpgkeys_ldap.c (ldap_to_gpg_err): Make sure that
920         LDAP_OPT_ERROR_NUMBER is defined before we use it.
922         * gpgkeys_mailto.in: Fix VERSION number.
924 2004-01-13  Werner Koch  <wk@gnupg.org>
926         * gpgkeys_hkp.c (send_key): Add a content type.
928 2004-01-11  David Shaw  <dshaw@jabberwocky.com>
930         * gpgkeys_hkp.c (search_key): Catch a mangled input file (useful
931         if something other than GnuPG is calling the program).
932         (main): Avoid possible pre-string write.  Noted by Christian
933         Biere.
935         * gpgkeys_ldap.c (main): Avoid possible pre-string write.
937 2003-12-28  David Shaw  <dshaw@jabberwocky.com>
939         * gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code
940         that passes the proxy in from the outside.  If the command file
941         sends a proxy, use it.  If it sends "http-proxy" with no
942         arguments, use $http_proxy from the environment.  Suggested by
943         Christian Biere.
945 2003-12-28  Stefan Bellon  <sbellon@sbellon.de>
947         * gpgkeys_hkp.c, gpgkeys_ldap.c [__riscos__]: Removal of
948         unnecessary #ifdef __riscos__ sections.
950 2003-11-27  Werner Koch  <wk@gnupg.org>
952         * gpgkeys_hkp.c (get_key): Fixed invalid use of fprintf without
953         format string.
955 2003-10-25  Werner Koch  <wk@gnupg.org>
957         * Makefile.am (gpgkeys_hkp_LDADD): Replaced INTLLIBS by LIBINTL.
959 2003-07-10  David Shaw  <dshaw@jabberwocky.com>
961         * Makefile.am: Use W32LIBS where appropriate.
963 2003-05-30  David Shaw  <dshaw@jabberwocky.com>
965         * gpgkeys_hkp.c, gpgkeys_ldap.c: #include <getopt.h> if it is
966         available.  Also include extern references for optarg and optind
967         since there is no guarantee that any header file will include
968         them.  Standards?  We don't need no stinkin' standards.
970         * Makefile.am: Use @GETOPT@ to pull in libiberty on those
971         platforms that need it.
973 2003-04-08  David Shaw  <dshaw@jabberwocky.com>
975         * gpgkeys_hkp.c (dehtmlize, parse_hkp_index): Fix memory
976         corruption bug on some platforms.
978 2003-03-11  David Shaw  <dshaw@jabberwocky.com>
980         * gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in
981         the armored key.
982         (main): Accept "try-dns-srv" option.
984         * Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
985         capabilities.  Use @SRVLIBS@ to link in the resolver if we are
986         using DNS SRV.
988 2003-02-11  David Shaw  <dshaw@jabberwocky.com>
990         * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@
991         so it can be easily overridden at make time.
993 2003-01-29  David Shaw  <dshaw@jabberwocky.com>
995         * gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is
996         not a keyid, but rather a text string from the user ID.
998 2003-01-06  David Shaw  <dshaw@jabberwocky.com>
1000         * gpgkeys_hkp.c (get_key): Use options=mr when getting a key so
1001         keyserver doesn't attach the HTML header which we will just have
1002         to discard.
1004 2002-11-17  David Shaw  <dshaw@jabberwocky.com>
1006         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver
1007         protocol version.
1009 2002-11-14  David Shaw  <dshaw@jabberwocky.com>
1011         * gpgkeys_ldap.c (get_key): The deduping code requires
1012         "pgpcertid", but that was not available when running without
1013         verbose on.  Noted by Stefan.
1015 2002-11-10  David Shaw  <dshaw@jabberwocky.com>
1017         * gpgkeys_ldap.c (get_key): Fix typo in deduping code.
1019 2002-11-05  David Shaw  <dshaw@jabberwocky.com>
1021         * gpgkeys_ldap.c (key_in_keylist, add_key_to_keylist,
1022         free_keylist, get_key, search_key): The LDAP keyserver doesn't
1023         remove duplicates, so remove them locally.  Do not include the key
1024         modification time in the search response.
1026 2002-11-04  David Shaw  <dshaw@jabberwocky.com>
1028         * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key): Properly
1029         handle an input file that does not include any key data at all.
1031 2002-10-24  David Shaw  <dshaw@jabberwocky.com>
1033         * gpgkeys_hkp.c (main), gpgkeys_ldap.c (main): Add -V flag to
1034         output protocol and program version.
1036 2002-10-21  David Shaw  <dshaw@jabberwocky.com>
1038         * Makefile.am: Anything linking with libutil.a needs INTLLIBS as
1039         well on platforms where INTLLIBS is set.
1041 2002-10-14  David Shaw  <dshaw@jabberwocky.com>
1043         * gpgkeys_hkp.c (write_quoted): Use %-encoding instead of
1044         \-encoding.
1045         (parse_hkp_index): Use new keyserver key listing format, and add
1046         support for disabled keys via include-disabled.
1048         * gpgkeys_ldap.c (get_key): Don't print keysize unless it's >0.
1049         (printquoted): Use %-encoding instead of \-encoding.
1050         (search_key): Use new keyserver key listing format.
1052 2002-10-08  David Shaw  <dshaw@jabberwocky.com>
1054         * gpgkeys_ldap.c (search_key, main): Make sure LDAP values are
1055         freed in case of error.
1057         * gpgkeys_ldap.c (fail_all): New function to unwind a keylist and
1058         error each item.
1059         (main): Call fail_all from here, as needed.  Also add a NO_MEMORY
1060         error in an appropriate place and fix error return code.
1061         (ldap_err_to_gpg_err): Add KEYSERVER_UNREACHABLE.
1063         * gpgkeys_hkp.c (fail_all): New function to unwind a keylist and
1064         error each item.
1065         (main): Call fail_all from here.  Also add a NO_MEMORY error in an
1066         appropriate place.
1067         (get_key): Use new UNREACHABLE error for network errors.
1069 2002-09-26  Werner Koch  <wk@gnupg.org>
1071         * gpgkeys_ldap.c (send_key): Removed non-constant initializers.
1073 2002-09-24  David Shaw  <dshaw@jabberwocky.com>
1075         * gpgkeys_ldap.c (ldap_err_to_gpg_err, ldap_to_gpg_err, send_key,
1076         get_key, search_key, main): Some minor error reporting
1077         enhancements for use with GPA (show reasons for KEY FAILED).
1079         * gpgkeys_hkp.c (send_key, get_key, search_key, main): Some minor
1080         error reporting enhancements for use with GPA (show reasons for
1081         KEY FAILED).
1083 2002-09-20  Werner Koch  <wk@gnupg.org>
1085         * gpgkeys_hkp.c (handle_old_hkp_index): s/input/inp/ to avoid
1086         shadowing warning.
1088 2002-09-19  David Shaw  <dshaw@jabberwocky.com>
1090         * gpgkeys_hkp.c (get_key, handle_old_hkp_index, search_key):
1091         Properly handle line truncation.
1093 2002-09-16  David Shaw  <dshaw@jabberwocky.com>
1095         * gpgkeys_mailto.in: Add quasi-RFC-2368 mailto:email@addr?from=
1096         syntax so people can set their own email address to respond to.
1098         * gpgkeys_hkp.c (get_key): Properly respond with KEY FAILED (to
1099         gpg) and "key not found" (to user) on failure.
1101 2002-09-13  David Shaw  <dshaw@jabberwocky.com>
1103         * gpgkeys_hkp.c: (search_key, handle_old_hkp_index): Try and
1104         request a machine-readable key index.  If the server supports
1105         this, pass it through.  If the server does not support it, parse
1106         the "index" page.
1108 2002-09-12  Stefan Bellon  <sbellon@sbellon.de>
1110         * gpgkeys_hkp.c: Tidied up RISC OS initializations.
1112 2002-09-12  David Shaw  <dshaw@jabberwocky.com>
1114         * gpgkeys_hkp.c (main): Remove warning - this is no longer
1115         experimental code.
1117 2002-09-09  Werner Koch  <wk@gnupg.org>
1119         * gpgkeys_hkp.c (send_key, get_key, search_key): Check return
1120         value of malloc.
1121         (dehtmlize): Use ascii_tolower to protect against weird locales.
1122         Cast the argument for isspace for the sake of broken HP/UXes.
1123         (search_key): Check return value of realloc.
1125 2002-09-09  David Shaw  <dshaw@jabberwocky.com>
1127         * gpgkeys_ldap.c (get_key): Some compilers (RISC OS, HPUX c89)
1128         don't like using variables as array initializers.
1130         * gpgkeys_hkp.c (send_key): Use CRLF in headers.
1132 2002-08-28  David Shaw  <dshaw@jabberwocky.com>
1134         * gpgkeys_hkp.c (parse_hkp_index): Use same types on all
1135         platforms.  This was probably leftover from earlier code where the
1136         typing mattered.
1138         * gpgkeys_hkp.c: Overall cleanup from iobuf conversion.  Be
1139         consistent in m_alloc and malloc usage.  Remove include-disabled
1140         (meaningless on HKP).  RISC OS tweak.
1142 2002-08-27  David Shaw  <dshaw@jabberwocky.com>
1144         * gpgkeys_hkp.c, Makefile.am: Convert over to using iobufs.
1146         * gpgkeys_hkp.c (http_get, http_post): Use CRLF for line endings.
1148         * gpgkeys_hkp.c: Include util.h on RISC OS as per Stefan.  Include
1149         a replacement for hstrerror() for those platforms (such as RISC
1150         OS) that don't have it.
1152 2002-08-26  David Shaw  <dshaw@jabberwocky.com>
1154         * Makefile.am: May as well include gpgkeys_hkp.c in the
1155         distribution now.  It works well enough without proxies, and isn't
1156         built by default.  It would be good to get some test experience
1157         with it.
1159         * gpgkeys_hkp.c (main): Don't warn about include-subkeys - it
1160         isn't unsupported, it's actually non-meaningful in the context of
1161         HKP (yet).
1163         * gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Move HTML
1164         functionality into new "dehtmlize" function.  Remove HTML before
1165         trying to parse each line from the keyserver.  If the keyserver
1166         provides key type information in the listing, use it.  (Copy over
1167         from g10/hkp.c).
1169 2002-08-19  David Shaw  <dshaw@jabberwocky.com>
1171         * gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code
1172         from g10/hkp.c.
1174         * gpgkeys_ldap.c (get_key): Fix cosmetic URL display problem
1175         (extra ":" at the end).
1177 2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
1179         * gpgkeys_ldap.c: Tidied up RISC OS initializations.
1181 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
1183         * gpgkeys_hkp.c: "Warning" -> "WARNING"
1185 2002-07-24  David Shaw  <dshaw@jabberwocky.com>
1187         * Makefile.am: Install keyserver helpers in @GNUPG_LIBEXECDIR@
1189 2002-07-15  David Shaw  <dshaw@jabberwocky.com>
1191         * gpgkeys_ldap.c (send_key, get_key, main): Consult the server
1192         version string to determine whether to use pgpKey or pgpKeyV2.
1194 2002-07-09  David Shaw  <dshaw@jabberwocky.com>
1196         * gpgkeys_mailto.in: Use new OPAQUE tag for non net-path URIs.
1197         Fail more elegantly if there is no email address to send to.  Show
1198         the GnuPG version in the message body.
1200 2002-07-04  David Shaw  <dshaw@jabberwocky.com>
1202         * gpgkeys_ldap.c (get_key), gpgkeys_hkp.c (get_key): Display
1203         keyserver URI as a URI, but only if verbose.
1205 2002-07-01  David Shaw  <dshaw@jabberwocky.com>
1207         * gpgkeys_hkp.c (parse_hkp_index): Error if the keyserver returns
1208         an unparseable HKP response.
1210         * gpgkeys_hkp.c (main): Warn on honor-http-proxy,
1211         broken-http-proxy, and include-subkeys (not supported yet).
1213         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (http_connect, main): Fix
1214         some shadowing warnings.
1216 2002-06-11  David Shaw  <dshaw@jabberwocky.com>
1218         * Makefile.am: Don't hard-code the LDAP libraries - get them from
1219         LDAPLIBS via configure.  Also, gpgkeys_hkp is a program, not a
1220         script.
1222 2002-06-10  David Shaw  <dshaw@jabberwocky.com>
1224         * gpgkeys_ldap.c (include_subkeys): Default "include-subkeys" to
1225         off, since GnuPG now defaults it to on.
1227 2002-06-06  David Shaw  <dshaw@jabberwocky.com>
1229         * gpgkeys_hkp.c (parse_hkp_index): Type tweaks.
1231         * gpgkeys_hkp.c (main): Add experimental code warning.
1233 2002-06-05  David Shaw  <dshaw@jabberwocky.com>
1235         * Makefile.am, gpgkeys_hkp.c (new): Experimental HKP keyserver
1236         interface.
1238 2002-05-08  David Shaw  <dshaw@jabberwocky.com>
1240         * gpgkeys_ldap.c: Include <lber.h> if we absolutely must.  This
1241         helps when compiling against a very old OpenLDAP.
1243 2002-04-29  David Shaw  <dshaw@jabberwocky.com>
1245         * gpgkeys_mailto.in: Properly handle key requests in full
1246         fingerprint form.
1248 2002-03-29  David Shaw  <dshaw@jabberwocky.com>
1250         * gpgkeys_ldap.c (printquoted): Quote backslashes within keyserver
1251         search responses.
1253 2002-02-25  David Shaw  <dshaw@jabberwocky.com>
1255         * gpgkeys_ldap (get_key): LDAP keyservers do not support v3
1256         fingerprints, so error out if someone tries.  Actually, they don't
1257         support any fingerprints, but at least we can calculate a keyid
1258         from a v4 fingerprint.
1260 2002-02-23  David Shaw  <dshaw@jabberwocky.com>
1262         * gpgkeys_ldap: Clarify the notion of a partial failure.  This is
1263         possible if more than one key is being handled in a batch, and one
1264         fails while the other succeeds.  Note that a search that comes up
1265         with no results is not a failure - that is a valid response of "no
1266         answer".
1268         * gpgkeys_ldap.c (get_key): Allow GnuPG to send us full v4
1269         fingerprints, long key ids, or short key ids while fetching.
1270         Since the LDAP server doesn't actually handle fingerprints, chop
1271         them down to long key ids for actual use.
1273         * gpgkeys_ldap.c (main, get_key): When searching for a keyid,
1274         search for subkeys as well as primary keys.  This is mostly
1275         significant when automatically fetching the key based on the id in
1276         a header (i.e. "signature made by....").  "no-include-subkeys"
1277         disables.
1279 2002-02-14  David Shaw  <dshaw@jabberwocky.com>
1281         * gpgkeys_ldap.c: Fix compiler warning.
1283         * gpgkeys_ldap.c: Be much more robust with mangled input files.
1285 2001-12-28  David Shaw  <dshaw@jabberwocky.com>
1287         * gpgkeys_mailto.in: Use the new OUTOFBAND indicator so gpg knows
1288         not to try and import anything.  Also turn on perl -w for
1289         warnings.
1291         * gpgkeys_ldap.c (main): If we're using temp files (rather than
1292         stdin/stdout), make sure the file is closed when we're done.
1294 2001-12-20  David Shaw  <dshaw@jabberwocky.com>
1296         * Properly free the LDAP response when we're done with it.
1298         * Now that we handle multiple keys, we must remove duplicates as
1299         the LDAP keyserver returns keys with multiple user IDs multiple
1300         times.
1302         * Properly handle multiple keys with the same key ID (it's really
1303         rare, so fetch "0xDEADBEEF" to test this).
1305 2001-12-17  David Shaw  <dshaw@jabberwocky.com>
1307         * gpgkeys_ldap.c, gpgkeys_mailto.in: Fix GNU capitalization
1308         issues.  Prefix log messages with "gpgkeys" to clarify which
1309         program is generating them.
1311 2001-12-14  David Shaw  <dshaw@jabberwocky.com>
1313         * gpgkeys_ldap.c (search_key): Use unsigned int rather than uint
1314         for portability.
1316 2001-12-04  David Shaw  <dshaw@jabberwocky.com>
1318         * Initial version of gpgkeys_ldap (LDAP keyserver helper) and
1319         gpgkeys_mailto (email keyserver helper)
1322  Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
1323            2007 Free Software Foundation, Inc.
1325  This file is free software; as a special exception the author gives
1326  unlimited permission to copy and/or distribute it, with or without
1327  modifications, as long as this notice is preserved.
1329  This file is distributed in the hope that it will be useful, but
1330  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1331  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.