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>
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
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>
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
37 2009-05-10 David Shaw <dshaw@jabberwocky.com>
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
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)
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.
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.
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
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
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.
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
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
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
230 2006-09-19 Werner Koch <wk@g10code.com>
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
253 * curl-shim.c (curl_easy_perform): Add missing http_close to the
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
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
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
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
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
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
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
372 (classify_ks_search): Mimic the gpg search modes instead with *,
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
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
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
419 * Makefile.am: Don't need -DFAKE_CURL any longer since it's in
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
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
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
472 2005-05-04 David Shaw <dshaw@jabberwocky.com>
474 * ksutil.h, ksutil.c: #ifdef so we can build without libcurl or
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
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
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
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
569 * gpgkeys_curl.c (main): Make sure the curl handle is cleaned up
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.
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
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
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
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
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
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
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
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
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
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. """) 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
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
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
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
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
875 (make_one_attr): New. Build a modification list in memory to send
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()
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
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
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
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
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
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
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
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
1004 2002-11-17 David Shaw <dshaw@jabberwocky.com>
1006 * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver
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
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
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
1065 (main): Call fail_all from here. Also add a NO_MEMORY error in an
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
1083 2002-09-20 Werner Koch <wk@gnupg.org>
1085 * gpgkeys_hkp.c (handle_old_hkp_index): s/input/inp/ to avoid
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
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
1117 2002-09-09 Werner Koch <wk@gnupg.org>
1119 * gpgkeys_hkp.c (send_key, get_key, search_key): Check return
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
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
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
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
1169 2002-08-19 David Shaw <dshaw@jabberwocky.com>
1171 * gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code
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
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
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
1248 2002-03-29 David Shaw <dshaw@jabberwocky.com>
1250 * gpgkeys_ldap.c (printquoted): Quote backslashes within keyserver
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
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"
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
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
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
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.