Avoid caches to get the most recent copy of the key. This is bug #1061
[gnupg.git] / keyserver / ChangeLog
blob2b69ccd56cccb2b3987cd93848b89a621d22f36a
1 2009-05-28  David Shaw  <dshaw@jabberwocky.com>
3         From 1.4:
5         * curl-shim.c (curl_slist_append, curl_slist_free_all): New.
6         Simple wrappers around strlist_t to emulate the curl way of doing
7         string lists.
8         (curl_easy_setopt): Handle the curl HTTPHEADER option.
10         * gpgkeys_curl.c, gpgkeys_hkp.c (main): Avoid caches to get the
11         most recent copy of the key.  This is bug #1061.
13 2009-05-27  David Shaw  <dshaw@jabberwocky.com>
15         From 1.4:
17         * gpgkeys_hkp.c (srv_replace): New function to transform a SRV
18         hostname to a real hostname.
19         (main): Call it from here for the HAVE_LIBCURL case (without
20         libcurl is handled via the curl-shim).
22         * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
23         Add a CURLOPT_SRVTAG_GPG_HACK (passed through the the http
24         engine).
26 2009-05-10  David Shaw  <dshaw@jabberwocky.com>
28         From 1.4:
30         * gpgkeys_hkp.c (send_key, get_key, get_name, search_key, main):
31         Add support for SSLized HKP.
33         * curl-shim.h (curl_version): No need to provide a version for
34         curl-shim as it always matches the GnuPG version.
36         * gpgkeys_curl.c, gpgkeys_hkp.c (main): Show which version of curl
37         we're using as part of --version.
39         * gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_hkp.c,
40         gpgkeys_ldap.c (show_help): Document --version.
42 2009-05-04  David Shaw  <dshaw@jabberwocky.com>
44         * gpgkeys_mailto.in: Set 'mail-from' as a keyserver-option, rather
45         than the ugly ?from= syntax.
47 2009-01-22  Werner Koch  <wk@g10code.com>
49         * Makefile.am (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD): Add all
50         standard libs.
52 2008-10-20  Werner Koch  <wk@g10code.com>
54         * curl-shim.c (curl_global_init): Mark usused arg.
55         (curl_version_info): Ditto.
57 2008-08-29  Werner Koch  <wk@g10code.com>
59         * gpgkeys_kdns.c: Changed copyright notice to the FSF.
61 2008-04-21  Werner Koch  <wk@g10code.com>
63         * ksutil.c (w32_init_sockets) [HAVE_W32_SYSTEM]: New.
64         * curl-shim.c (curl_easy_init) [HAVE_W32_SYSTEM]: Call it.
65         * gpgkeys_finger.c: s/_WIN32/HAVE_W32_SYSTEM/.
66         (init_sockets): Remove.
67         (connect_server) [HAVE_W32_SYSTEM]: Call new function.  
69 2008-04-14  David Shaw  <dshaw@jabberwocky.com>
71         * gpgkeys_curl.c (main), gpgkeys_hkp.c (main): Make sure all
72         libcurl number options are passed as long.
74         * curl-shim.c (curl_easy_setopt): Minor tweak to match the real
75         curl better - libcurl uses 'long', not 'unsigned int'.
77 2008-04-07  Werner Koch  <wk@g10code.com>
79         * gpgkeys_kdns.c: New.
80         * Makefile.am: Support kdns. 
82         * no-libgcrypt.c (gcry_strdup): Fix.  It was not used.
84 2008-03-25  Werner Koch  <wk@g10code.com>
86         * gpgkeys_ldap.c (build_attrs): Take care of char defaulting to
87         unsigned when using hextobyte.
89 2007-10-25  David Shaw  <dshaw@jabberwocky.com>  (wk)
91         From 1.4 (July):
92         
93         * gpgkeys_ldap.c (main): Fix bug in setting up whether to verify
94         peer SSL cert.  This used to work with older OpenLDAP, but is now
95         more strictly handled.
97         * gpgkeys_ldap.c (search_key, main): Fix bug where searching for
98         foo bar (no quotes) on the command line resulted in searching for
99         "foo\2Abar" due to LDAP quoting.  The proper search is "foo*bar".
101 2007-06-11  Werner Koch  <wk@g10code.com>
103         * gpgkeys_hkp.c (send_key): Rename eof to r_eof as some Windows
104         header defines such a symbol.
105         (main): Likewise.
107 2007-06-06  Werner Koch  <wk@g10code.com>
109         * gpgkeys_ldap.c (send_key, send_key_keyserver): Rename eof to
110         r_eof as some Windows file has such a symbol.
111         (main): Likewise.
113 2007-05-07  Werner Koch  <wk@g10code.com>
115         * Makefile.am (gpg2keys_ldap_LDADD): Add GPG_ERROR_LIBS.
117 2007-05-04  Werner Koch  <wk@g10code.com>
119         * gpgkeys_test.in: Rename to ..
120         * gpg2keys_test.in: .. this.
121         * gpgkeys_mailto.in: Rename to ..
122         * gpg2keys_mailto.in: .. this
123         * Makefile.am: Likewise
125 2007-03-13  David Shaw  <dshaw@jabberwocky.com>
127         From STABLE-BRANCH-1-4
129         * gpgkeys_curl.c (main): Use curl_version_info to verify that the
130         protocol we're about to use is actually available.
132         * curl-shim.h, curl-shim.c (curl_free): Make into a macro.
133         (curl_version_info): New.  Only advertises "http" for our shim, of
134         course.
136 2007-03-09  David Shaw  <dshaw@jabberwocky.com>
138         From STABLE-BRANCH-1-4
140         * gpgkeys_ldap.c (send_key): Missing a free().
142         * curl-shim.c (curl_easy_perform): Some debugging items that may
143         be handy.
145 2006-12-03  David Shaw  <dshaw@jabberwocky.com>
147         * gpgkeys_hkp.c (search_key): HKP keyservers like the 0x to be
148         present when searching by keyID.
150 2006-11-22  Werner Koch  <wk@g10code.com>
152         * Makefile.am (gpg2keys_ldap_LDADD): Add jnlib.  This is needed
153         for some replacement functions.
155 2006-11-21  Werner Koch  <wk@g10code.com>
157         * curl-shim.c (curl_easy_perform): Made BUFLEN and MAXLNE a size_t.
159 2006-11-05  David Shaw  <dshaw@jabberwocky.com>
161         * gpgkeys_hkp.c (curl_mrindex_writer): Revert previous change.
162         Key-not-found still has a HTML response.
164 2006-10-24  Marcus Brinkmann  <marcus@g10code.de>
166         * Makefile.am (gpg2keys_ldap_CPPFLAGS): Rename second instance to ...
167         (gpg2keys_finger_CPPFLAGS): ... this.
169 2006-10-20  Werner Koch  <wk@g10code.com>
171         * Makefile.am: Reporder macros for better readability.
172         (gpg2keys_finger_LDADD): Add GPG_ERROR_LIBS.
174 2006-10-19  David Shaw  <dshaw@jabberwocky.com>
176         * gpgkeys_hkp.c (curl_mrindex_writer): Print a warning if we see
177         HTML coming back from a MR hkp query.
179 2006-10-17  Werner Koch  <wk@g10code.com>
181         * Makefile.am: Removed W32LIBS as they are included in NETLIBS.
182         Removed PTH_LIBS.
184 2006-09-26  Werner Koch  <wk@g10code.com>
186         * curl-shim.c: Adjusted for changes in http.c.
187         (curl_easy_perform): Changed LINE from unsigned char* to char*.
189         * Makefile.am (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD)
190         [FAKE_CURL]: Need to link against common_libs and pth.
192         * curl-shim.h, curl-shim.c: Removed license exception as not
193         needed here.
195 2006-09-22  Werner Koch  <wk@g10code.com>
197         * gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c, curl-shim.c:
198         * curl-shim.h, ksutil.c, ksutil.h: Add special license exception
199         for OpenSSL.  This helps to avoid license conflicts if OpenLDAP or
200         cURL is linked against OpenSSL and we would thus indirectly link
201         to OpenSSL.  This is considered a bug fix and forgives all
202         possible violations, pertaining to this issue, possibly occured in
203         the past.
204         
205         * no-libgcrypt.c: Changed license to a simple all permissive one.
207         * Makefile.am (gpg2keys_ldap_LDADD): For license reasons do not
208         link against common_libs.
209         (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD): Ditto.
210         * ksutil.c (ks_hextobyte, ks_toupper, ks_strcasecmp): New.
211         Identical to the ascii_foo versions from jnlib.
212         * gpgkeys_ldap.c: Include assert.h.
213         (main): Replace BUG by assert.
214         (build_attrs): Use ks_hextobyte and ks_strcasecmp.
216         * gpgkeys_finger.c (get_key): Resolved signed/unisgned char
217         mismatch.
219 2006-09-19  Werner Koch  <wk@g10code.com>
220         
221         * no-libgcrypt.c: New. Taken from ../tools.
222         * Makefile.am: Add no-libgcrypt to all sources.
224 2006-09-06  Marcus Brinkmann  <marcus@g10code.de>
226         * Makefile.am (AM_CFLAGS): Add $(GPG_ERROR_CFLAGS).
228 2006-08-16  Werner Koch  <wk@g10code.com>
230         * Makefile.am: Renamed all binaries to gpg2keys_*.
231         (gpg2keys_ldap_CPPFLAGS): Add AM_CPPFLAGS.
233 2006-08-15  Werner Koch  <wk@g10code.com>
235         * Makefile.am: Adjusted to the gnupg2 framework.
237 2006-08-14  Werner Koch  <wk@g10code.com>
239         * curl-shil.c, curl-shim.h: Changed to make use of the new http.c
240         API.
242         * curl-shim.c (curl_easy_perform): Add missing http_close to the
243         POST case.
245 2006-07-24  David Shaw  <dshaw@jabberwocky.com>  (wk)
247         * curl-shim.c (curl_easy_perform): Minor cleanup of proxy code.
249         * gpgkeys_hkp.c (send_key)
250         * gpgkeys_ldap.c (send_key, send_key_keyserver): Fix string
251         matching problem when the ascii armored form of the key happens to
252         match "KEY" at the beginning of the line.
254 2006-04-26  David Shaw  <dshaw@jabberwocky.com>
256         * gpgkeys_http.c, gpgkeys_oldhkp.c: Removed.
258         * Makefile.am: Don't build gpgkeys_http or gpgkeys_(old)hkp any
259         longer as this is done via curl or fake-curl.
261         * ksutil.h, ksutil.c, gpgkeys_hkp.c, gpgkeys_curl.c: Minor
262         #include tweaks as FAKE_CURL is no longer meaningful.
264 2006-04-10  David Shaw  <dshaw@jabberwocky.com>
266         * gpgkeys_ldap.c (ldap_quote, get_name, search_key): LDAP-quote
267         directly into place rather than mallocing temporary buffers.
269         * gpgkeys_ldap.c (get_name): Build strings with strcat rather than
270         using sprintf which is harder to read and modify.
272         * ksutil.h, ksutil.c (classify_ks_search): Add
273         KS_SEARCH_KEYID_SHORT and KS_SEARCH_KEYID_LONG to search for a key
274         ID.
276         * gpgkeys_ldap.c (search_key): Use it here to flip from pgpUserID
277         searches to pgpKeyID or pgpCertID.
279 2006-03-27  David Shaw  <dshaw@jabberwocky.com>
281         * gpgkeys_ldap.c: #define LDAP_DEPRECATED for newer OpenLDAPs so
282         they use the regular old API that is compatible with other LDAP
283         libraries.
285 2006-03-03  David Shaw  <dshaw@jabberwocky.com>
287         * gpgkeys_ldap.c (main): Fix build problem with non-OpenLDAP LDAP
288         libraries that have TLS.
290 2006-02-23  David Shaw  <dshaw@jabberwocky.com>
292         * ksutil.c (init_ks_options): Default include-revoked and
293         include-subkeys to on, as gpg isn't doing this any longer.
295 2006-02-22  David Shaw  <dshaw@jabberwocky.com>
297         * gpgkeys_hkp.c (get_name): A GETNAME query turns exact=on to cut
298         down on odd matches.
300 2006-02-21  David Shaw  <dshaw@jabberwocky.com>
302         * gpgkeys_ldap.c (make_one_attr, build_attrs, send_key): Don't
303         allow duplicate attributes as OpenLDAP is now enforcing this.
305         * gpgkeys_ldap.c (main): Add binddn and bindpw so users can pass
306         credentials to a remote LDAP server.
308         * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
309         curl_easy_perform): Mingw has 'stderr' as a macro?
311         * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
312         curl_easy_perform): Add CURLOPT_VERBOSE and CURLOPT_STDERR for
313         easier debugging.
315 2006-01-16  David Shaw  <dshaw@jabberwocky.com>
317         * gpgkeys_hkp.c (send_key): Do not escape the '=' in the HTTP POST
318         when uploading a key.
320 2005-12-23  David Shaw  <dshaw@jabberwocky.com>
322         * ksutil.h, ksutil.c (parse_ks_options): New keyserver command
323         "getname".
325         * gpgkeys_hkp.c (main, get_name), gpgkeys_ldap.c (main, get_name):
326         Use it here to do direct name (rather than key ID) fetches.
328 2005-12-19  David Shaw  <dshaw@jabberwocky.com>
330         * ksutil.h, ksutil.c (curl_armor_writer, curl_writer,
331         curl_writer_finalize): New functionality to handle binary format
332         keys by armoring them for input to GPG.
334         * gpgkeys_curl.c (get_key), gpgkeys_hkp.c (get_key): Call it here.
336 2005-12-07  David Shaw  <dshaw@jabberwocky.com>
338         * gpgkeys_finger.c (get_key), gpgkeys_curl.c (get_key): Better
339         language for the key-not-found error.
341         * ksutil.c (curl_err_to_gpg_err): Add CURLE_OK and
342         CURLE_COULDNT_CONNECT.
344         * gpgkeys_curl.c (get_key): Give key-not-found error if no data is
345         found (or file itself is not found) during a fetch.
347 2005-12-06  David Shaw  <dshaw@jabberwocky.com>
349         * curl-shim.c (curl_easy_perform): Fix build warning (code before
350         declaration).
352 2005-11-02  David Shaw  <dshaw@jabberwocky.com>
354         * gpgkeys_hkp.c (search_key): Fix warning with typecast (though
355         curl should really have defined that char * as const).
357 2005-08-25  David Shaw  <dshaw@jabberwocky.com>
359         * ksutil.h, ksutil.c (parse_ks_options): Remove exact-name and
360         exact-email.
361         (classify_ks_search): Mimic the gpg search modes instead with *,
362         =, <, and @.
364         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Call
365         them here.  Suggested by Jason Harris.
367 2005-08-18  David Shaw  <dshaw@jabberwocky.com>
369         * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
370         exact-name.  The last of exact-name and exact-email overrides the
371         earlier.
373         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
374         here to do a name-only search.
376         * gpgkeys_ldap.c (ldap_quote): \-quote a string for LDAP.
378         * gpgkeys_ldap.c (search_key): Use it here to escape reserved
379         characters in searches.
381 2005-08-17  David Shaw  <dshaw@jabberwocky.com>
383         * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
384         exact-email.
386         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
387         here to do an email-only search.
389 2005-08-08  David Shaw  <dshaw@jabberwocky.com>
391         * Makefile.am: Include LDAP_CPPFLAGS when building LDAP.
393 2005-08-03  David Shaw  <dshaw@jabberwocky.com>
395         * gpgkeys_hkp.c (main), gpgkeys_curl.c (main), curl-shim.h: Show
396         version of curl (or curl-shim) when debug is set.
398 2005-07-20  David Shaw  <dshaw@jabberwocky.com>
400         * gpgkeys_curl.c (get_key, main): Don't try and be smart about
401         what protocols we handle.  Directly pass them to curl or fake-curl
402         and see if an error comes back.
404         * curl-shim.h, curl-shim.c (handle_error), ksutil.c
405         (curl_err_to_gpg_err): Add support for CURLE_UNSUPPORTED_PROTOCOL
406         in fake curl.
408         * Makefile.am: Don't need -DFAKE_CURL any longer since it's in
409         config.h.
411 2005-06-23  David Shaw  <dshaw@jabberwocky.com>
413         * gpgkeys_mailto.in, gpgkeys_test.in: Use @VERSION@ so version
414         string stays up to date.
416         * gpgkeys_http.c: Don't need to define HTTP_PROXY_ENV here since
417         it's in ksutil.h.
419         * gpgkeys_curl.c (get_key, main), gpgkeys_hkp.c (main): Pass AUTH
420         values to curl or curl-shim.
422         * curl-shim.c (curl_easy_perform), gpgkeys_curl.c (main),
423         gpgkeys_hkp.c (main): Use curl-style proxy semantics.
425         * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
426         Add CURLOPT_USERPWD option for HTTP auth.
428         * gpgkeys_http.c (get_key), gpgkeys_oldhkp (send_key, get_key,
429         search_key): No longer need to pass a proxyauth.
431         * gpgkeys_http.c (get_key): Pass auth outside of the URL.
433 2005-06-21  David Shaw  <dshaw@jabberwocky.com>
435         * gpgkeys_http.c (get_key), gpgkeys_oldhkp.c (send_key, get_key,
436         search_key): Fix http_open/http_open_document calls to pass NULL
437         for auth and proxyauth since these programs pass them in the URL.
439 2005-06-20  David Shaw  <dshaw@jabberwocky.com>
441         * gpgkeys_hkp.c (append_path, send_key, get_key, search_key,
442         main), gpgkeys_oldhkp.c (main): Properly handle double slashes in
443         paths.
445 2005-06-05  David Shaw  <dshaw@jabberwocky.com>
447         * ksutil.c (init_ks_options, parse_ks_options): Provide a default
448         "/" path unless overridden by the config.  Allow config to specify
449         items multiple times and take the last specified item.
451 2005-06-04  David Shaw  <dshaw@jabberwocky.com>
453         * gpgkeys_hkp.c, gpgkeys_oldhkp.c: Add support for HKP servers
454         that aren't at the root path.  Suggested by Jack Bates.
456 2005-06-01  David Shaw  <dshaw@jabberwocky.com>
458         * ksutil.c [HAVE_DOSISH_SYSTEM]: Fix warnings on mingw32.  Noted
459         by Joe Vender.
461 2005-05-04  David Shaw  <dshaw@jabberwocky.com>
463         * ksutil.h, ksutil.c: #ifdef so we can build without libcurl or
464         fake-curl.
466 2005-05-03  David Shaw  <dshaw@jabberwocky.com>
468         * gpgkeys_http.c: Need GET defined.
470 2005-05-01  David Shaw  <dshaw@jabberwocky.com>
472         * gpgkeys_hkp.c, gpgkeys_oldhkp.c, ksutil.h: Some minor cleanup
473         and comments as to the size of MAX_LINE and MAX_URL.
475 2005-04-16  David Shaw  <dshaw@jabberwocky.com>
477         * gpgkeys_hkp.c: New hkp handler that uses curl or curl-shim.
479         * Makefile.am: Build new gpgkeys_hkp.
481         * curl-shim.c (curl_easy_perform): Cleanup.
483         * ksutil.h, ksutil.c (curl_writer), gpgkeys_curl.c (get_key): Pass
484         a context to curl_writer so we can support multiple fetches in a
485         single session.
487         * curl-shim.h, curl-shim.c (handle_error, curl_easy_setopt,
488         curl_easy_perform): Add POST functionality to the curl shim.
490         * curl-shim.h, curl-shim.c (curl_escape, curl_free): Emulate
491         curl_escape and curl_free.
493         * gpgkeys_curl.c (main): If the http-proxy option is given without
494         any arguments, try to get the proxy from the environment.
496         * ksutil.h, ksutil.c (curl_err_to_gpg_err, curl_writer): Copy from
497         gpgkeys_curl.c.
499         * gpgkeys_oldhkp.c: Copy from gpgkeys_hkp.c.
501 2005-03-22  David Shaw  <dshaw@jabberwocky.com>
503         * gpgkeys_ldap.c, ksutil.h, ksutil.c (print_nocr): Moved from
504         gpgkeys_ldap.c.  Print a string, but strip out any CRs.
506         * gpgkeys_finger.c (get_key), gpgkeys_hkp.c (get_key),
507         gpgkeys_http.c (get_key): Use it here when outputting key material
508         to canonicalize line endings.
510 2005-03-19  David Shaw  <dshaw@jabberwocky.com>
512         * gpgkeys_ldap.c (main): Fix three wrong calls to fail_all().
513         Noted by Stefan Bellon.
515 2005-03-17  David Shaw  <dshaw@jabberwocky.com>
517         * ksutil.c (parse_ks_options): Handle verbose=nnn.
519         * Makefile.am: Calculate GNUPG_LIBEXECDIR directly.  Do not
520         redefine $libexecdir.
522         * gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_ldap.c: Start using
523         parse_ks_options and remove a lot of common code.
525         * ksutil.h, ksutil.c (parse_ks_options): Parse OPAQUE, and default
526         debug with no arguments to 1.
528 2005-03-16  David Shaw  <dshaw@jabberwocky.com>
530         * gpgkeys_ldap.c: Include lber.h if configure determines we need
531         it.
533         * ksutil.h, ksutil.c (ks_action_to_string): New.
534         (free_ks_options): Only free if options exist.
536         * ksutil.h, ksutil.c (init_ks_options, free_ks_options,
537         parse_ks_options): Pull a lot of duplicated code into a single
538         options parser for all keyserver helpers.
540 2005-02-11  David Shaw  <dshaw@jabberwocky.com>
542         * curl-shim.c (curl_easy_perform): Fix compile warning.
544         * curl-shim.h, gpgkeys_curl.c (main), gpgkeys_ldap.c (main): Add
545         ca-cert-file option, to pass in the SSL cert.
547         * curl-shim.h, curl-shim.c: New.  This is code to fake the curl
548         API in terms of the current HTTP iobuf API.
550         * gpgkeys_curl.c [FAKE_CURL], Makefile.am: If FAKE_CURL is set,
551         link with the iobuf code rather than libcurl.
553 2005-02-05  David Shaw  <dshaw@jabberwocky.com>
555         * gpgkeys_finger.c (main), gpgkeys_hkp.c (main): Fix --version
556         output.
558         * gpgkeys_curl.c (main): Make sure the curl handle is cleaned up
559         on failure.
561 2005-02-01  David Shaw  <dshaw@jabberwocky.com>
563         * gpgkeys_hkp.c (get_key), gpgkeys_http.c (get_key): Fix missing
564         http_close() calls.  Noted by Phil Pennock.
566         * ksutil.h: Up the default timeout to two minutes.
568 2005-01-24  David Shaw  <dshaw@jabberwocky.com>
570         * gpgkeys_ldap.c (print_nocr): New.
571         (get_key): Call it here to canonicalize line endings.
573         * gpgkeys_curl.c (writer): Discard everything outside the BEGIN
574         and END lines when retrieving keys.  Canonicalize line endings.
575         (main): Accept FTPS.
577 2005-01-21  David Shaw  <dshaw@jabberwocky.com>
579         * gpgkeys_ldap.c (main): Add "check-cert" option to disable SSL
580         certificate checking (which is on by default).
582         * gpgkeys_curl.c (main): Add "debug" option to match the LDAP
583         helper.  Add "check-cert" option to disable SSL certificate
584         checking (which is on by default).
586 2005-01-18  David Shaw  <dshaw@jabberwocky.com>
588         * gpgkeys_curl.c: Fix typo.
590 2005-01-18  Werner Koch  <wk@g10code.com>
592         * gpgkeys_curl.c: s/MAX_PATH/URLMAX_PATH/g to avoid a clash with
593         the W32 defined macro.  Removed unneeded initialization of static
594         variables.
595         * gpgkeys_http.c: Ditto.
596         * ksutil.h: s/MAX_PATH/URLMAX_PATH/.
598 2005-01-17  David Shaw  <dshaw@jabberwocky.com>
600         * gpgkeys_curl.c (main): Only allow specified protocols to use the
601         curl handler.
603         * Makefile.am: Use LIBCURL_CPPFLAGS instead of LIBCURL_INCLUDES.
605 2005-01-13  David Shaw  <dshaw@jabberwocky.com>
607         * ksutil.h, gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c,
608         gpgkeys_finger.c, gpgkeys_http.c: Part 2 of the cleanup.  Move all
609         the various defines to ksutil.h.
611         * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
612         Part 1 of a minor cleanup to use #defines instead of hard-coded
613         sizes.
615         * gpgkeys_finger.c (connect_server): Use INADDR_NONE instead of
616         SOCKET_ERROR.  Noted by Timo.
618 2005-01-09  David Shaw  <dshaw@jabberwocky.com>
620         * gpgkeys_curl.c (get_key): Newer versions of libcurl don't define
621         TRUE.
623 2004-12-24  David Shaw  <dshaw@jabberwocky.com>
625         * gpgkeys_curl.c (main): Use new defines for opting out of certain
626         transfer protocols.  Allow setting HTTP proxy via "http-proxy=foo"
627         option (there is natural support in libcurl for the http_proxy
628         environment variable).
630         * Makefile.am: Remove the conditional since this is all handled in
631         autoconf now.
633 2004-12-22  David Shaw  <dshaw@jabberwocky.com>
635         * gpgkeys_curl.c (main): New "follow-redirects" option.  Takes an
636         optional numeric value for the maximum number of redirects to
637         allow.  Defaults to 5.
639         * gpgkeys_curl.c (main), gpgkeys_finger.c (main), gpgkeys_hkp.c
640         (main), gpgkeys_http.c (main), gpgkeys_ldap.c (main): Make sure
641         that a "timeout" option passed with no arguments is properly
642         handled.
644         * gpgkeys_curl.c (get_key, writer): New function to wrap around
645         fwrite to avoid DLL access problem on win32.
647         * gpgkeys_http.c (main, get_key): Properly pass authentication
648         info through to the http library.
650         * Makefile.am: Build gpgkeys_http or gpgkeys_curl as needed.
652         * gpgkeys_curl.c (main, get_key): Minor tweaks to work with either
653         FTP or HTTP.
655         * gpgkeys_ftp.c: renamed to gpgkeys_curl.c.
657         * gpgkeys_ftp.c (main, get_key): Use auth data as passed by gpg.
658         Use CURLOPT_FILE instead of CURLOPT_WRITEDATA (same option, but
659         backwards compatible).
661 2004-12-21  David Shaw  <dshaw@jabberwocky.com>
663         * gpgkeys_ftp.c: New.
665         * Makefile.am: Build it if requested.
667 2004-12-14  Werner Koch  <wk@g10code.com>
669         * Makefile.am (install-exec-hook, uninstall-hook): Removed.  For
670         Windows reasons we can't use the symlink trick.
672 2004-12-03  David Shaw  <dshaw@jabberwocky.com>
674         * Makefile.am: The harmless "ignored error" on gpgkeys_ldap
675         install on top of an existing install is bound to confuse people.
676         Use ln -s -f to force the overwrite.
678 2004-10-28  David Shaw  <dshaw@jabberwocky.com>
680         * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
682 2004-10-28  Werner Koch  <wk@g10code.com>
684         * Makefile.am (other_libs): New.  Also include LIBICONV.  Noted by
685         Tim Mooney.
687 2004-10-28  Werner Koch  <wk@g10code.com>
689         * Makefile.am (other_libs): 
691 2004-10-18  David Shaw  <dshaw@jabberwocky.com>
693         * gpgkeys_hkp.c (send_key, get_key, search_key): Use "hkp" instead
694         of "x-hkp" so it can be used as a SRV tag.
696 2004-10-16  David Shaw  <dshaw@jabberwocky.com>
698         * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
700 2004-10-15  Werner Koch  <wk@g10code.com>
702         * gpgkeys_ldap.c (main, show_help): Kludge to implement standard
703         GNU options. Factored help printing out.
704         * gpgkeys_finger.c (main, show_help): Ditto.
705         * gpgkeys_hkp.c (main, show_help): Ditto.
706         * gpgkeys_http.c (main, show_help): Ditto.
707         * gpgkeys_test.in, gpgkeys_mailto.in: Implement --version and --help.
709         * Makefile.am: Add ksutil.h.
711 2004-10-14  David Shaw  <dshaw@jabberwocky.com>
713         * gpgkeys_finger.c (main): We do not support relay fingering
714         (i.e. "finger://relayhost/user@example.com"), but finger URLs are
715         occasionally miswritten that way.  Give an error in this case.
717 2004-10-14  Werner Koch  <wk@g10code.com>
719         * gpgkeys_finger.c (get_key): s/unsigned char/byte/ due
720         to a strange typedef for RISC OS.  Noted by Stefan.
722 2004-10-13  David Shaw  <dshaw@jabberwocky.com>
724         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main), gpgkeys_http.c
725         (main), gpgkeys_finger.c (main): Call timeout functions before
726         performing an action that could block for a long time.
728         * ksutil.h, ksutil.c: New.  Right now just contains timeout
729         functions.
731 2004-10-11  David Shaw  <dshaw@jabberwocky.com>
733         * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
734         Fix a few occurances of "filename" to `filename'.
736 2004-10-11  Werner Koch  <wk@g10code.com>
738         * gpgkeys_finger.c: New.
740 2004-08-27  Stefan Bellon  <sbellon@sbellon.de>
742         * gpgkeys_hkp.c (search_key): Fix the prior faulty fix by
743         introducing a cast but leaving skey unsigned.
745         * gpgkeys_hkp.c (search_key): Change type of variable skey from
746         unsigned char* to char* to fix type incompatibility.
748 2004-08-23  David Shaw  <dshaw@jabberwocky.com>
750         * gpgkeys_ldap.c (get_key, search_key), gpgkeys_hkp.c (get_key,
751         search_key), gpgkeys_http.c (get_key): Do not give informational
752         logs since this is now done inside gpg.
754         * gpgkeys_hkp.c (dehtmlize): Understand the quote character
755         (i.e. "&quot;") in HTML responses.
756         (search_key): Search key must be unsigned for url encoder to work
757         properly for 8-bit values.
759         * gpgkeys_ldap.c (get_key): Factor out informational display into
760         new function build_info().
762         * gpgkeys_ldap.c (build_attrs): Properly terminate user ID strings
763         that got shrunk due to encoding.
765 2004-08-22  David Shaw  <dshaw@jabberwocky.com>
767         * gpgkeys_ldap.c (find_basekeyspacedn): Use LDAP_SCOPE_BASE along
768         with a full DN rather than LDAP_SCOPE_ONELEVEL plus a filter to
769         find the pgpServerInfo object.  Some LDAP setups don't like the
770         search.
771         (main): Stop binding to the server since it seems no server really
772         requires it, and some require it not be there.
774 2004-07-29  David Shaw  <dshaw@jabberwocky.com>
776         * gpgkeys_ldap.c (main): Add "debug" option.  This is only really
777         useful with OpenLDAP, but it's practically vital to debug SSL and
778         TLS setups.  Add "basedn" option.  This allows users to override
779         the autodetection for base DN.  SSL overrides TLS, so TLS will not
780         be started on SSL connections (starting an already started car).
782 2004-07-28  David Shaw  <dshaw@jabberwocky.com>
784         * gpgkeys_ldap.c (build_attrs): Add "pgpKeySize" and "pgpSubKeyID"
785         attributes so we can do subkey searches.
787         * gpgkeys_ldap.c (main): Under certain error conditions, we might
788         try and unbind twice.  Don't.
790         * gpgkeys_ldap.c (join_two_modlists): New.
791         (send_key): Use new function so we can try a modify operation
792         first, and fail over to an add if that fails.  Add cannot cope
793         with the NULLs at the head of the modify request, so we jump into
794         the list in the middle.
796 2004-07-27  David Shaw  <dshaw@jabberwocky.com>
798         * gpgkeys_ldap.c (main): Don't try and error out before making a
799         ldaps connection to the NAI keyserver since we cannot tell if it
800         is a NAI keyserver until we connect.  Fail if we cannot find a
801         base keyspace DN.  Fix a false success message for TLS being
802         enabled.
804 2004-07-20  Werner Koch  <wk@gnupg.org>
806         * gpgkeys_ldap.c [_WIN32]: Include Windows specific header files.
807         Suggested by Brian Gladman.
809 2004-05-26  David Shaw  <dshaw@jabberwocky.com>
811         * gpgkeys_http.c: General polish and removal of leftover stuff
812         from gpgkeys_hkp.c.
814 2004-05-21  David Shaw  <dshaw@jabberwocky.com>
816         * gpgkeys_http.c (get_key): Cosmetic fix - make sure that URLs
817         with no path use a path of "/".
819         * gpgkeys_ldap.c (ldap2epochtime): We can always rely on timegm()
820         being available now, since it's a replacement function.
822 2004-05-20  David Shaw  <dshaw@jabberwocky.com>
824         * gpgkeys_http.c: New program to do a simple HTTP file fetch using
825         the keyserver interface.
827         * Makefile.am: Build it.
829 2004-02-28  David Shaw  <dshaw@jabberwocky.com>
831         * Makefile.am: Don't split LDADD across two lines since some make
832         programs can't handle blank lines after a \ continuation.  Noted
833         by Christoph Moench-Tegeder.
835 2004-02-25  David Shaw  <dshaw@jabberwocky.com>
837         * gpgkeys_ldap.c (send_key): List pgpCertID as one of the deleted
838         attributes.  This guarantees that if something goes wrong, we
839         won't be able to complete the transaction, thus leaving any key
840         already existing on the server intact.
842 2004-02-23  David Shaw  <dshaw@jabberwocky.com>
844         * gpgkeys_ldap.c (delete_one_attr): Removed.
845         (make_one_attr): Delete functionality added.  Optional deduping
846         functionality added (currently only used for pgpSignerID).
847         (build_attrs): Translate sig entries into pgpSignerID.  Properly
848         build the timestamp for pgpKeyCreateTime and pgpKeyExpireTime.
850 2004-02-22  David Shaw  <dshaw@jabberwocky.com>
852         * gpgkeys_ldap.c (delete_one_attr): New function to replace
853         attributes with NULL (a "delete" that works even for nonexistant
854         attributes).
855         (send_key): Use it here to remove attributes so a modify operation
856         starts with a clean playing field.  Bias sends to modify before
857         add, since (I suspect) people update their existing keys more
858         often than they make and send new keys to the server.
860 2004-02-21  David Shaw  <dshaw@jabberwocky.com>
862         * gpgkeys_ldap.c (epoch2ldaptime): New.  Converse of
863         ldap2epochtime.
864         (make_one_attr): New. Build a modification list in memory to send
865         to the LDAP server.
866         (build_attrs): New. Parse INFO lines sent over by gpg.
867         (free_mod_values): New.  Unwinds a modification list.
868         (send_key_keyserver): Renamed from old send_key().
869         (send_key): New function to send a key to a LDAP server.
870         (main): Use send_key() for real LDAP servers, send_key_keyserver()
871         otherwise.
873 2004-02-20  David Shaw  <dshaw@jabberwocky.com>
875         * gpgkeys_ldap.c: Replacement prototypes for setenv and unsetenv.
876         (search_key): Catch a SIZELIMIT_EXCEEDED error and show the user
877         whatever the server did give us.
878         (find_basekeyspacedn): There is no guarantee that namingContexts
879         will be readable.
881         * Makefile.am: Link gpgkeys_ldap with libutil.a to get the
882         replacement functions (and eventually translations, etc).
884 2004-02-19  David Shaw  <dshaw@jabberwocky.com>
886         * gpgkeys_ldap.c (ldap2epochtime): LDAP timestamps are UTC, so do
887         not correct for timezones.
888         (main): Find the basekeyspacedn before we try to start TLS, so we
889         can give a better error message when a user tries to use TLS with
890         a LDAP keyserver.
892         * Makefile.am: Add automake conditionals to symlink gpgkeys_ldaps
893         to gpgkeys_ldap when needed.
895         * gpgkeys_ldap.c (main): Add support for LDAPS and TLS
896         connections.  These are only useful and usable when talking to
897         real LDAP keyservers.  Add new "tls" option to tune TLS use from
898         off, to try quietly, to try loudly, or to require TLS.
900         * gpgkeys_ldap.c (find_basekeyspacedn): New function to figure out
901         what kind of LDAP server we're talking to (either real LDAP or the
902         LDAP keyserver), and return the baseKeySpaceDN to find keys under.
903         (main): Call it from here, and remove the old code that only
904         handled the LDAP keyserver.
906 2004-02-18  David Shaw  <dshaw@jabberwocky.com>
908         * gpgkeys_ldap.c (ldap_to_gpg_err): Make sure that
909         LDAP_OPT_ERROR_NUMBER is defined before we use it.
911         * gpgkeys_mailto.in: Fix VERSION number.
913 2004-01-13  Werner Koch  <wk@gnupg.org>
915         * gpgkeys_hkp.c (send_key): Add a content type.
917 2004-01-11  David Shaw  <dshaw@jabberwocky.com>
919         * gpgkeys_hkp.c (search_key): Catch a mangled input file (useful
920         if something other than GnuPG is calling the program).
921         (main): Avoid possible pre-string write.  Noted by Christian
922         Biere.
924         * gpgkeys_ldap.c (main): Avoid possible pre-string write.
926 2003-12-28  David Shaw  <dshaw@jabberwocky.com>
928         * gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code
929         that passes the proxy in from the outside.  If the command file
930         sends a proxy, use it.  If it sends "http-proxy" with no
931         arguments, use $http_proxy from the environment.  Suggested by
932         Christian Biere.
934 2003-12-28  Stefan Bellon  <sbellon@sbellon.de>
936         * gpgkeys_hkp.c, gpgkeys_ldap.c [__riscos__]: Removal of
937         unnecessary #ifdef __riscos__ sections.
939 2003-11-27  Werner Koch  <wk@gnupg.org>
941         * gpgkeys_hkp.c (get_key): Fixed invalid use of fprintf without
942         format string.
944 2003-10-25  Werner Koch  <wk@gnupg.org>
946         * Makefile.am (gpgkeys_hkp_LDADD): Replaced INTLLIBS by LIBINTL.
948 2003-07-10  David Shaw  <dshaw@jabberwocky.com>
950         * Makefile.am: Use W32LIBS where appropriate.
952 2003-05-30  David Shaw  <dshaw@jabberwocky.com>
954         * gpgkeys_hkp.c, gpgkeys_ldap.c: #include <getopt.h> if it is
955         available.  Also include extern references for optarg and optind
956         since there is no guarantee that any header file will include
957         them.  Standards?  We don't need no stinkin' standards.
959         * Makefile.am: Use @GETOPT@ to pull in libiberty on those
960         platforms that need it.
962 2003-04-08  David Shaw  <dshaw@jabberwocky.com>
964         * gpgkeys_hkp.c (dehtmlize, parse_hkp_index): Fix memory
965         corruption bug on some platforms.
967 2003-03-11  David Shaw  <dshaw@jabberwocky.com>
969         * gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in
970         the armored key.
971         (main): Accept "try-dns-srv" option.
973         * Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
974         capabilities.  Use @SRVLIBS@ to link in the resolver if we are
975         using DNS SRV.
977 2003-02-11  David Shaw  <dshaw@jabberwocky.com>
979         * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@
980         so it can be easily overridden at make time.
982 2003-01-29  David Shaw  <dshaw@jabberwocky.com>
984         * gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is
985         not a keyid, but rather a text string from the user ID.
987 2003-01-06  David Shaw  <dshaw@jabberwocky.com>
989         * gpgkeys_hkp.c (get_key): Use options=mr when getting a key so
990         keyserver doesn't attach the HTML header which we will just have
991         to discard.
993 2002-11-17  David Shaw  <dshaw@jabberwocky.com>
995         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver
996         protocol version.
998 2002-11-14  David Shaw  <dshaw@jabberwocky.com>
1000         * gpgkeys_ldap.c (get_key): The deduping code requires
1001         "pgpcertid", but that was not available when running without
1002         verbose on.  Noted by Stefan.
1004 2002-11-10  David Shaw  <dshaw@jabberwocky.com>
1006         * gpgkeys_ldap.c (get_key): Fix typo in deduping code.
1008 2002-11-05  David Shaw  <dshaw@jabberwocky.com>
1010         * gpgkeys_ldap.c (key_in_keylist, add_key_to_keylist,
1011         free_keylist, get_key, search_key): The LDAP keyserver doesn't
1012         remove duplicates, so remove them locally.  Do not include the key
1013         modification time in the search response.
1015 2002-11-04  David Shaw  <dshaw@jabberwocky.com>
1017         * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key): Properly
1018         handle an input file that does not include any key data at all.
1020 2002-10-24  David Shaw  <dshaw@jabberwocky.com>
1022         * gpgkeys_hkp.c (main), gpgkeys_ldap.c (main): Add -V flag to
1023         output protocol and program version.
1025 2002-10-21  David Shaw  <dshaw@jabberwocky.com>
1027         * Makefile.am: Anything linking with libutil.a needs INTLLIBS as
1028         well on platforms where INTLLIBS is set.
1030 2002-10-14  David Shaw  <dshaw@jabberwocky.com>
1032         * gpgkeys_hkp.c (write_quoted): Use %-encoding instead of
1033         \-encoding.
1034         (parse_hkp_index): Use new keyserver key listing format, and add
1035         support for disabled keys via include-disabled.
1037         * gpgkeys_ldap.c (get_key): Don't print keysize unless it's >0.
1038         (printquoted): Use %-encoding instead of \-encoding.
1039         (search_key): Use new keyserver key listing format.
1041 2002-10-08  David Shaw  <dshaw@jabberwocky.com>
1043         * gpgkeys_ldap.c (search_key, main): Make sure LDAP values are
1044         freed in case of error.
1046         * gpgkeys_ldap.c (fail_all): New function to unwind a keylist and
1047         error each item.
1048         (main): Call fail_all from here, as needed.  Also add a NO_MEMORY
1049         error in an appropriate place and fix error return code.
1050         (ldap_err_to_gpg_err): Add KEYSERVER_UNREACHABLE.
1052         * gpgkeys_hkp.c (fail_all): New function to unwind a keylist and
1053         error each item.
1054         (main): Call fail_all from here.  Also add a NO_MEMORY error in an
1055         appropriate place.
1056         (get_key): Use new UNREACHABLE error for network errors.
1058 2002-09-26  Werner Koch  <wk@gnupg.org>
1060         * gpgkeys_ldap.c (send_key): Removed non-constant initializers.
1062 2002-09-24  David Shaw  <dshaw@jabberwocky.com>
1064         * gpgkeys_ldap.c (ldap_err_to_gpg_err, ldap_to_gpg_err, send_key,
1065         get_key, search_key, main): Some minor error reporting
1066         enhancements for use with GPA (show reasons for KEY FAILED).
1068         * gpgkeys_hkp.c (send_key, get_key, search_key, main): Some minor
1069         error reporting enhancements for use with GPA (show reasons for
1070         KEY FAILED).
1072 2002-09-20  Werner Koch  <wk@gnupg.org>
1074         * gpgkeys_hkp.c (handle_old_hkp_index): s/input/inp/ to avoid
1075         shadowing warning.
1077 2002-09-19  David Shaw  <dshaw@jabberwocky.com>
1079         * gpgkeys_hkp.c (get_key, handle_old_hkp_index, search_key):
1080         Properly handle line truncation.
1082 2002-09-16  David Shaw  <dshaw@jabberwocky.com>
1084         * gpgkeys_mailto.in: Add quasi-RFC-2368 mailto:email@addr?from=
1085         syntax so people can set their own email address to respond to.
1087         * gpgkeys_hkp.c (get_key): Properly respond with KEY FAILED (to
1088         gpg) and "key not found" (to user) on failure.
1090 2002-09-13  David Shaw  <dshaw@jabberwocky.com>
1092         * gpgkeys_hkp.c: (search_key, handle_old_hkp_index): Try and
1093         request a machine-readable key index.  If the server supports
1094         this, pass it through.  If the server does not support it, parse
1095         the "index" page.
1097 2002-09-12  Stefan Bellon  <sbellon@sbellon.de>
1099         * gpgkeys_hkp.c: Tidied up RISC OS initializations.
1101 2002-09-12  David Shaw  <dshaw@jabberwocky.com>
1103         * gpgkeys_hkp.c (main): Remove warning - this is no longer
1104         experimental code.
1106 2002-09-09  Werner Koch  <wk@gnupg.org>
1108         * gpgkeys_hkp.c (send_key, get_key, search_key): Check return
1109         value of malloc.
1110         (dehtmlize): Use ascii_tolower to protect against weird locales.
1111         Cast the argument for isspace for the sake of broken HP/UXes.
1112         (search_key): Check return value of realloc.
1114 2002-09-09  David Shaw  <dshaw@jabberwocky.com>
1116         * gpgkeys_ldap.c (get_key): Some compilers (RISC OS, HPUX c89)
1117         don't like using variables as array initializers.
1119         * gpgkeys_hkp.c (send_key): Use CRLF in headers.
1121 2002-08-28  David Shaw  <dshaw@jabberwocky.com>
1123         * gpgkeys_hkp.c (parse_hkp_index): Use same types on all
1124         platforms.  This was probably leftover from earlier code where the
1125         typing mattered.
1127         * gpgkeys_hkp.c: Overall cleanup from iobuf conversion.  Be
1128         consistent in m_alloc and malloc usage.  Remove include-disabled
1129         (meaningless on HKP).  RISC OS tweak.
1131 2002-08-27  David Shaw  <dshaw@jabberwocky.com>
1133         * gpgkeys_hkp.c, Makefile.am: Convert over to using iobufs.
1135         * gpgkeys_hkp.c (http_get, http_post): Use CRLF for line endings.
1137         * gpgkeys_hkp.c: Include util.h on RISC OS as per Stefan.  Include
1138         a replacement for hstrerror() for those platforms (such as RISC
1139         OS) that don't have it.
1141 2002-08-26  David Shaw  <dshaw@jabberwocky.com>
1143         * Makefile.am: May as well include gpgkeys_hkp.c in the
1144         distribution now.  It works well enough without proxies, and isn't
1145         built by default.  It would be good to get some test experience
1146         with it.
1148         * gpgkeys_hkp.c (main): Don't warn about include-subkeys - it
1149         isn't unsupported, it's actually non-meaningful in the context of
1150         HKP (yet).
1152         * gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Move HTML
1153         functionality into new "dehtmlize" function.  Remove HTML before
1154         trying to parse each line from the keyserver.  If the keyserver
1155         provides key type information in the listing, use it.  (Copy over
1156         from g10/hkp.c).
1158 2002-08-19  David Shaw  <dshaw@jabberwocky.com>
1160         * gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code
1161         from g10/hkp.c.
1163         * gpgkeys_ldap.c (get_key): Fix cosmetic URL display problem
1164         (extra ":" at the end).
1166 2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
1168         * gpgkeys_ldap.c: Tidied up RISC OS initializations.
1170 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
1172         * gpgkeys_hkp.c: "Warning" -> "WARNING"
1174 2002-07-24  David Shaw  <dshaw@jabberwocky.com>
1176         * Makefile.am: Install keyserver helpers in @GNUPG_LIBEXECDIR@
1178 2002-07-15  David Shaw  <dshaw@jabberwocky.com>
1180         * gpgkeys_ldap.c (send_key, get_key, main): Consult the server
1181         version string to determine whether to use pgpKey or pgpKeyV2.
1183 2002-07-09  David Shaw  <dshaw@jabberwocky.com>
1185         * gpgkeys_mailto.in: Use new OPAQUE tag for non net-path URIs.
1186         Fail more elegantly if there is no email address to send to.  Show
1187         the GnuPG version in the message body.
1189 2002-07-04  David Shaw  <dshaw@jabberwocky.com>
1191         * gpgkeys_ldap.c (get_key), gpgkeys_hkp.c (get_key): Display
1192         keyserver URI as a URI, but only if verbose.
1194 2002-07-01  David Shaw  <dshaw@jabberwocky.com>
1196         * gpgkeys_hkp.c (parse_hkp_index): Error if the keyserver returns
1197         an unparseable HKP response.
1199         * gpgkeys_hkp.c (main): Warn on honor-http-proxy,
1200         broken-http-proxy, and include-subkeys (not supported yet).
1202         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (http_connect, main): Fix
1203         some shadowing warnings.
1205 2002-06-11  David Shaw  <dshaw@jabberwocky.com>
1207         * Makefile.am: Don't hard-code the LDAP libraries - get them from
1208         LDAPLIBS via configure.  Also, gpgkeys_hkp is a program, not a
1209         script.
1211 2002-06-10  David Shaw  <dshaw@jabberwocky.com>
1213         * gpgkeys_ldap.c (include_subkeys): Default "include-subkeys" to
1214         off, since GnuPG now defaults it to on.
1216 2002-06-06  David Shaw  <dshaw@jabberwocky.com>
1218         * gpgkeys_hkp.c (parse_hkp_index): Type tweaks.
1220         * gpgkeys_hkp.c (main): Add experimental code warning.
1222 2002-06-05  David Shaw  <dshaw@jabberwocky.com>
1224         * Makefile.am, gpgkeys_hkp.c (new): Experimental HKP keyserver
1225         interface.
1227 2002-05-08  David Shaw  <dshaw@jabberwocky.com>
1229         * gpgkeys_ldap.c: Include <lber.h> if we absolutely must.  This
1230         helps when compiling against a very old OpenLDAP.
1232 2002-04-29  David Shaw  <dshaw@jabberwocky.com>
1234         * gpgkeys_mailto.in: Properly handle key requests in full
1235         fingerprint form.
1237 2002-03-29  David Shaw  <dshaw@jabberwocky.com>
1239         * gpgkeys_ldap.c (printquoted): Quote backslashes within keyserver
1240         search responses.
1242 2002-02-25  David Shaw  <dshaw@jabberwocky.com>
1244         * gpgkeys_ldap (get_key): LDAP keyservers do not support v3
1245         fingerprints, so error out if someone tries.  Actually, they don't
1246         support any fingerprints, but at least we can calculate a keyid
1247         from a v4 fingerprint.
1249 2002-02-23  David Shaw  <dshaw@jabberwocky.com>
1251         * gpgkeys_ldap: Clarify the notion of a partial failure.  This is
1252         possible if more than one key is being handled in a batch, and one
1253         fails while the other succeeds.  Note that a search that comes up
1254         with no results is not a failure - that is a valid response of "no
1255         answer".
1257         * gpgkeys_ldap.c (get_key): Allow GnuPG to send us full v4
1258         fingerprints, long key ids, or short key ids while fetching.
1259         Since the LDAP server doesn't actually handle fingerprints, chop
1260         them down to long key ids for actual use.
1262         * gpgkeys_ldap.c (main, get_key): When searching for a keyid,
1263         search for subkeys as well as primary keys.  This is mostly
1264         significant when automatically fetching the key based on the id in
1265         a header (i.e. "signature made by....").  "no-include-subkeys"
1266         disables.
1268 2002-02-14  David Shaw  <dshaw@jabberwocky.com>
1270         * gpgkeys_ldap.c: Fix compiler warning.
1272         * gpgkeys_ldap.c: Be much more robust with mangled input files.
1274 2001-12-28  David Shaw  <dshaw@jabberwocky.com>
1276         * gpgkeys_mailto.in: Use the new OUTOFBAND indicator so gpg knows
1277         not to try and import anything.  Also turn on perl -w for
1278         warnings.
1280         * gpgkeys_ldap.c (main): If we're using temp files (rather than
1281         stdin/stdout), make sure the file is closed when we're done.
1283 2001-12-20  David Shaw  <dshaw@jabberwocky.com>
1285         * Properly free the LDAP response when we're done with it.
1287         * Now that we handle multiple keys, we must remove duplicates as
1288         the LDAP keyserver returns keys with multiple user IDs multiple
1289         times.
1291         * Properly handle multiple keys with the same key ID (it's really
1292         rare, so fetch "0xDEADBEEF" to test this).
1294 2001-12-17  David Shaw  <dshaw@jabberwocky.com>
1296         * gpgkeys_ldap.c, gpgkeys_mailto.in: Fix GNU capitalization
1297         issues.  Prefix log messages with "gpgkeys" to clarify which
1298         program is generating them.
1300 2001-12-14  David Shaw  <dshaw@jabberwocky.com>
1302         * gpgkeys_ldap.c (search_key): Use unsigned int rather than uint
1303         for portability.
1305 2001-12-04  David Shaw  <dshaw@jabberwocky.com>
1307         * Initial version of gpgkeys_ldap (LDAP keyserver helper) and
1308         gpgkeys_mailto (email keyserver helper)
1311  Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
1312            2007 Free Software Foundation, Inc.
1314  This file is free software; as a special exception the author gives
1315  unlimited permission to copy and/or distribute it, with or without
1316  modifications, as long as this notice is preserved.
1318  This file is distributed in the hope that it will be useful, but
1319  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1320  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.