1 2008-10-20 Werner Koch <wk@g10code.com>
3 * curl-shim.c (curl_global_init): Mark usused arg.
4 (curl_version_info): Ditto.
6 2008-08-29 Werner Koch <wk@g10code.com>
8 * gpgkeys_kdns.c: Changed copyright notice to the FSF.
10 2008-04-21 Werner Koch <wk@g10code.com>
12 * ksutil.c (w32_init_sockets) [HAVE_W32_SYSTEM]: New.
13 * curl-shim.c (curl_easy_init) [HAVE_W32_SYSTEM]: Call it.
14 * gpgkeys_finger.c: s/_WIN32/HAVE_W32_SYSTEM/.
15 (init_sockets): Remove.
16 (connect_server) [HAVE_W32_SYSTEM]: Call new function.
18 2008-04-14 David Shaw <dshaw@jabberwocky.com>
20 * gpgkeys_curl.c (main), gpgkeys_hkp.c (main): Make sure all
21 libcurl number options are passed as long.
23 * curl-shim.c (curl_easy_setopt): Minor tweak to match the real
24 curl better - libcurl uses 'long', not 'unsigned int'.
26 2008-04-07 Werner Koch <wk@g10code.com>
28 * gpgkeys_kdns.c: New.
29 * Makefile.am: Support kdns.
31 * no-libgcrypt.c (gcry_strdup): Fix. It was not used.
33 2008-03-25 Werner Koch <wk@g10code.com>
35 * gpgkeys_ldap.c (build_attrs): Take care of char defaulting to
36 unsigned when using hextobyte.
38 2007-10-25 David Shaw <dshaw@jabberwocky.com> (wk)
42 * gpgkeys_ldap.c (main): Fix bug in setting up whether to verify
43 peer SSL cert. This used to work with older OpenLDAP, but is now
44 more strictly handled.
46 * gpgkeys_ldap.c (search_key, main): Fix bug where searching for
47 foo bar (no quotes) on the command line resulted in searching for
48 "foo\2Abar" due to LDAP quoting. The proper search is "foo*bar".
50 2007-06-11 Werner Koch <wk@g10code.com>
52 * gpgkeys_hkp.c (send_key): Rename eof to r_eof as some Windows
53 header defines such a symbol.
56 2007-06-06 Werner Koch <wk@g10code.com>
58 * gpgkeys_ldap.c (send_key, send_key_keyserver): Rename eof to
59 r_eof as some Windows file has such a symbol.
62 2007-05-07 Werner Koch <wk@g10code.com>
64 * Makefile.am (gpg2keys_ldap_LDADD): Add GPG_ERROR_LIBS.
66 2007-05-04 Werner Koch <wk@g10code.com>
68 * gpgkeys_test.in: Rename to ..
69 * gpg2keys_test.in: .. this.
70 * gpgkeys_mailto.in: Rename to ..
71 * gpg2keys_mailto.in: .. this
72 * Makefile.am: Likewise
74 2007-03-13 David Shaw <dshaw@jabberwocky.com>
76 From STABLE-BRANCH-1-4
78 * gpgkeys_curl.c (main): Use curl_version_info to verify that the
79 protocol we're about to use is actually available.
81 * curl-shim.h, curl-shim.c (curl_free): Make into a macro.
82 (curl_version_info): New. Only advertises "http" for our shim, of
85 2007-03-09 David Shaw <dshaw@jabberwocky.com>
87 From STABLE-BRANCH-1-4
89 * gpgkeys_ldap.c (send_key): Missing a free().
91 * curl-shim.c (curl_easy_perform): Some debugging items that may
94 2006-12-03 David Shaw <dshaw@jabberwocky.com>
96 * gpgkeys_hkp.c (search_key): HKP keyservers like the 0x to be
97 present when searching by keyID.
99 2006-11-22 Werner Koch <wk@g10code.com>
101 * Makefile.am (gpg2keys_ldap_LDADD): Add jnlib. This is needed
102 for some replacement functions.
104 2006-11-21 Werner Koch <wk@g10code.com>
106 * curl-shim.c (curl_easy_perform): Made BUFLEN and MAXLNE a size_t.
108 2006-11-05 David Shaw <dshaw@jabberwocky.com>
110 * gpgkeys_hkp.c (curl_mrindex_writer): Revert previous change.
111 Key-not-found still has a HTML response.
113 2006-10-24 Marcus Brinkmann <marcus@g10code.de>
115 * Makefile.am (gpg2keys_ldap_CPPFLAGS): Rename second instance to ...
116 (gpg2keys_finger_CPPFLAGS): ... this.
118 2006-10-20 Werner Koch <wk@g10code.com>
120 * Makefile.am: Reporder macros for better readability.
121 (gpg2keys_finger_LDADD): Add GPG_ERROR_LIBS.
123 2006-10-19 David Shaw <dshaw@jabberwocky.com>
125 * gpgkeys_hkp.c (curl_mrindex_writer): Print a warning if we see
126 HTML coming back from a MR hkp query.
128 2006-10-17 Werner Koch <wk@g10code.com>
130 * Makefile.am: Removed W32LIBS as they are included in NETLIBS.
133 2006-09-26 Werner Koch <wk@g10code.com>
135 * curl-shim.c: Adjusted for changes in http.c.
136 (curl_easy_perform): Changed LINE from unsigned char* to char*.
138 * Makefile.am (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD)
139 [FAKE_CURL]: Need to link against common_libs and pth.
141 * curl-shim.h, curl-shim.c: Removed license exception as not
144 2006-09-22 Werner Koch <wk@g10code.com>
146 * gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c, curl-shim.c:
147 * curl-shim.h, ksutil.c, ksutil.h: Add special license exception
148 for OpenSSL. This helps to avoid license conflicts if OpenLDAP or
149 cURL is linked against OpenSSL and we would thus indirectly link
150 to OpenSSL. This is considered a bug fix and forgives all
151 possible violations, pertaining to this issue, possibly occured in
154 * no-libgcrypt.c: Changed license to a simple all permissive one.
156 * Makefile.am (gpg2keys_ldap_LDADD): For license reasons do not
157 link against common_libs.
158 (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD): Ditto.
159 * ksutil.c (ks_hextobyte, ks_toupper, ks_strcasecmp): New.
160 Identical to the ascii_foo versions from jnlib.
161 * gpgkeys_ldap.c: Include assert.h.
162 (main): Replace BUG by assert.
163 (build_attrs): Use ks_hextobyte and ks_strcasecmp.
165 * gpgkeys_finger.c (get_key): Resolved signed/unisgned char
168 2006-09-19 Werner Koch <wk@g10code.com>
170 * no-libgcrypt.c: New. Taken from ../tools.
171 * Makefile.am: Add no-libgcrypt to all sources.
173 2006-09-06 Marcus Brinkmann <marcus@g10code.de>
175 * Makefile.am (AM_CFLAGS): Add $(GPG_ERROR_CFLAGS).
177 2006-08-16 Werner Koch <wk@g10code.com>
179 * Makefile.am: Renamed all binaries to gpg2keys_*.
180 (gpg2keys_ldap_CPPFLAGS): Add AM_CPPFLAGS.
182 2006-08-15 Werner Koch <wk@g10code.com>
184 * Makefile.am: Adjusted to the gnupg2 framework.
186 2006-08-14 Werner Koch <wk@g10code.com>
188 * curl-shil.c, curl-shim.h: Changed to make use of the new http.c
191 * curl-shim.c (curl_easy_perform): Add missing http_close to the
194 2006-07-24 David Shaw <dshaw@jabberwocky.com> (wk)
196 * curl-shim.c (curl_easy_perform): Minor cleanup of proxy code.
198 * gpgkeys_hkp.c (send_key)
199 * gpgkeys_ldap.c (send_key, send_key_keyserver): Fix string
200 matching problem when the ascii armored form of the key happens to
201 match "KEY" at the beginning of the line.
203 2006-04-26 David Shaw <dshaw@jabberwocky.com>
205 * gpgkeys_http.c, gpgkeys_oldhkp.c: Removed.
207 * Makefile.am: Don't build gpgkeys_http or gpgkeys_(old)hkp any
208 longer as this is done via curl or fake-curl.
210 * ksutil.h, ksutil.c, gpgkeys_hkp.c, gpgkeys_curl.c: Minor
211 #include tweaks as FAKE_CURL is no longer meaningful.
213 2006-04-10 David Shaw <dshaw@jabberwocky.com>
215 * gpgkeys_ldap.c (ldap_quote, get_name, search_key): LDAP-quote
216 directly into place rather than mallocing temporary buffers.
218 * gpgkeys_ldap.c (get_name): Build strings with strcat rather than
219 using sprintf which is harder to read and modify.
221 * ksutil.h, ksutil.c (classify_ks_search): Add
222 KS_SEARCH_KEYID_SHORT and KS_SEARCH_KEYID_LONG to search for a key
225 * gpgkeys_ldap.c (search_key): Use it here to flip from pgpUserID
226 searches to pgpKeyID or pgpCertID.
228 2006-03-27 David Shaw <dshaw@jabberwocky.com>
230 * gpgkeys_ldap.c: #define LDAP_DEPRECATED for newer OpenLDAPs so
231 they use the regular old API that is compatible with other LDAP
234 2006-03-03 David Shaw <dshaw@jabberwocky.com>
236 * gpgkeys_ldap.c (main): Fix build problem with non-OpenLDAP LDAP
237 libraries that have TLS.
239 2006-02-23 David Shaw <dshaw@jabberwocky.com>
241 * ksutil.c (init_ks_options): Default include-revoked and
242 include-subkeys to on, as gpg isn't doing this any longer.
244 2006-02-22 David Shaw <dshaw@jabberwocky.com>
246 * gpgkeys_hkp.c (get_name): A GETNAME query turns exact=on to cut
249 2006-02-21 David Shaw <dshaw@jabberwocky.com>
251 * gpgkeys_ldap.c (make_one_attr, build_attrs, send_key): Don't
252 allow duplicate attributes as OpenLDAP is now enforcing this.
254 * gpgkeys_ldap.c (main): Add binddn and bindpw so users can pass
255 credentials to a remote LDAP server.
257 * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
258 curl_easy_perform): Mingw has 'stderr' as a macro?
260 * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
261 curl_easy_perform): Add CURLOPT_VERBOSE and CURLOPT_STDERR for
264 2006-01-16 David Shaw <dshaw@jabberwocky.com>
266 * gpgkeys_hkp.c (send_key): Do not escape the '=' in the HTTP POST
267 when uploading a key.
269 2005-12-23 David Shaw <dshaw@jabberwocky.com>
271 * ksutil.h, ksutil.c (parse_ks_options): New keyserver command
274 * gpgkeys_hkp.c (main, get_name), gpgkeys_ldap.c (main, get_name):
275 Use it here to do direct name (rather than key ID) fetches.
277 2005-12-19 David Shaw <dshaw@jabberwocky.com>
279 * ksutil.h, ksutil.c (curl_armor_writer, curl_writer,
280 curl_writer_finalize): New functionality to handle binary format
281 keys by armoring them for input to GPG.
283 * gpgkeys_curl.c (get_key), gpgkeys_hkp.c (get_key): Call it here.
285 2005-12-07 David Shaw <dshaw@jabberwocky.com>
287 * gpgkeys_finger.c (get_key), gpgkeys_curl.c (get_key): Better
288 language for the key-not-found error.
290 * ksutil.c (curl_err_to_gpg_err): Add CURLE_OK and
291 CURLE_COULDNT_CONNECT.
293 * gpgkeys_curl.c (get_key): Give key-not-found error if no data is
294 found (or file itself is not found) during a fetch.
296 2005-12-06 David Shaw <dshaw@jabberwocky.com>
298 * curl-shim.c (curl_easy_perform): Fix build warning (code before
301 2005-11-02 David Shaw <dshaw@jabberwocky.com>
303 * gpgkeys_hkp.c (search_key): Fix warning with typecast (though
304 curl should really have defined that char * as const).
306 2005-08-25 David Shaw <dshaw@jabberwocky.com>
308 * ksutil.h, ksutil.c (parse_ks_options): Remove exact-name and
310 (classify_ks_search): Mimic the gpg search modes instead with *,
313 * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Call
314 them here. Suggested by Jason Harris.
316 2005-08-18 David Shaw <dshaw@jabberwocky.com>
318 * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
319 exact-name. The last of exact-name and exact-email overrides the
322 * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
323 here to do a name-only search.
325 * gpgkeys_ldap.c (ldap_quote): \-quote a string for LDAP.
327 * gpgkeys_ldap.c (search_key): Use it here to escape reserved
328 characters in searches.
330 2005-08-17 David Shaw <dshaw@jabberwocky.com>
332 * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
335 * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
336 here to do an email-only search.
338 2005-08-08 David Shaw <dshaw@jabberwocky.com>
340 * Makefile.am: Include LDAP_CPPFLAGS when building LDAP.
342 2005-08-03 David Shaw <dshaw@jabberwocky.com>
344 * gpgkeys_hkp.c (main), gpgkeys_curl.c (main), curl-shim.h: Show
345 version of curl (or curl-shim) when debug is set.
347 2005-07-20 David Shaw <dshaw@jabberwocky.com>
349 * gpgkeys_curl.c (get_key, main): Don't try and be smart about
350 what protocols we handle. Directly pass them to curl or fake-curl
351 and see if an error comes back.
353 * curl-shim.h, curl-shim.c (handle_error), ksutil.c
354 (curl_err_to_gpg_err): Add support for CURLE_UNSUPPORTED_PROTOCOL
357 * Makefile.am: Don't need -DFAKE_CURL any longer since it's in
360 2005-06-23 David Shaw <dshaw@jabberwocky.com>
362 * gpgkeys_mailto.in, gpgkeys_test.in: Use @VERSION@ so version
363 string stays up to date.
365 * gpgkeys_http.c: Don't need to define HTTP_PROXY_ENV here since
368 * gpgkeys_curl.c (get_key, main), gpgkeys_hkp.c (main): Pass AUTH
369 values to curl or curl-shim.
371 * curl-shim.c (curl_easy_perform), gpgkeys_curl.c (main),
372 gpgkeys_hkp.c (main): Use curl-style proxy semantics.
374 * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
375 Add CURLOPT_USERPWD option for HTTP auth.
377 * gpgkeys_http.c (get_key), gpgkeys_oldhkp (send_key, get_key,
378 search_key): No longer need to pass a proxyauth.
380 * gpgkeys_http.c (get_key): Pass auth outside of the URL.
382 2005-06-21 David Shaw <dshaw@jabberwocky.com>
384 * gpgkeys_http.c (get_key), gpgkeys_oldhkp.c (send_key, get_key,
385 search_key): Fix http_open/http_open_document calls to pass NULL
386 for auth and proxyauth since these programs pass them in the URL.
388 2005-06-20 David Shaw <dshaw@jabberwocky.com>
390 * gpgkeys_hkp.c (append_path, send_key, get_key, search_key,
391 main), gpgkeys_oldhkp.c (main): Properly handle double slashes in
394 2005-06-05 David Shaw <dshaw@jabberwocky.com>
396 * ksutil.c (init_ks_options, parse_ks_options): Provide a default
397 "/" path unless overridden by the config. Allow config to specify
398 items multiple times and take the last specified item.
400 2005-06-04 David Shaw <dshaw@jabberwocky.com>
402 * gpgkeys_hkp.c, gpgkeys_oldhkp.c: Add support for HKP servers
403 that aren't at the root path. Suggested by Jack Bates.
405 2005-06-01 David Shaw <dshaw@jabberwocky.com>
407 * ksutil.c [HAVE_DOSISH_SYSTEM]: Fix warnings on mingw32. Noted
410 2005-05-04 David Shaw <dshaw@jabberwocky.com>
412 * ksutil.h, ksutil.c: #ifdef so we can build without libcurl or
415 2005-05-03 David Shaw <dshaw@jabberwocky.com>
417 * gpgkeys_http.c: Need GET defined.
419 2005-05-01 David Shaw <dshaw@jabberwocky.com>
421 * gpgkeys_hkp.c, gpgkeys_oldhkp.c, ksutil.h: Some minor cleanup
422 and comments as to the size of MAX_LINE and MAX_URL.
424 2005-04-16 David Shaw <dshaw@jabberwocky.com>
426 * gpgkeys_hkp.c: New hkp handler that uses curl or curl-shim.
428 * Makefile.am: Build new gpgkeys_hkp.
430 * curl-shim.c (curl_easy_perform): Cleanup.
432 * ksutil.h, ksutil.c (curl_writer), gpgkeys_curl.c (get_key): Pass
433 a context to curl_writer so we can support multiple fetches in a
436 * curl-shim.h, curl-shim.c (handle_error, curl_easy_setopt,
437 curl_easy_perform): Add POST functionality to the curl shim.
439 * curl-shim.h, curl-shim.c (curl_escape, curl_free): Emulate
440 curl_escape and curl_free.
442 * gpgkeys_curl.c (main): If the http-proxy option is given without
443 any arguments, try to get the proxy from the environment.
445 * ksutil.h, ksutil.c (curl_err_to_gpg_err, curl_writer): Copy from
448 * gpgkeys_oldhkp.c: Copy from gpgkeys_hkp.c.
450 2005-03-22 David Shaw <dshaw@jabberwocky.com>
452 * gpgkeys_ldap.c, ksutil.h, ksutil.c (print_nocr): Moved from
453 gpgkeys_ldap.c. Print a string, but strip out any CRs.
455 * gpgkeys_finger.c (get_key), gpgkeys_hkp.c (get_key),
456 gpgkeys_http.c (get_key): Use it here when outputting key material
457 to canonicalize line endings.
459 2005-03-19 David Shaw <dshaw@jabberwocky.com>
461 * gpgkeys_ldap.c (main): Fix three wrong calls to fail_all().
462 Noted by Stefan Bellon.
464 2005-03-17 David Shaw <dshaw@jabberwocky.com>
466 * ksutil.c (parse_ks_options): Handle verbose=nnn.
468 * Makefile.am: Calculate GNUPG_LIBEXECDIR directly. Do not
469 redefine $libexecdir.
471 * gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_ldap.c: Start using
472 parse_ks_options and remove a lot of common code.
474 * ksutil.h, ksutil.c (parse_ks_options): Parse OPAQUE, and default
475 debug with no arguments to 1.
477 2005-03-16 David Shaw <dshaw@jabberwocky.com>
479 * gpgkeys_ldap.c: Include lber.h if configure determines we need
482 * ksutil.h, ksutil.c (ks_action_to_string): New.
483 (free_ks_options): Only free if options exist.
485 * ksutil.h, ksutil.c (init_ks_options, free_ks_options,
486 parse_ks_options): Pull a lot of duplicated code into a single
487 options parser for all keyserver helpers.
489 2005-02-11 David Shaw <dshaw@jabberwocky.com>
491 * curl-shim.c (curl_easy_perform): Fix compile warning.
493 * curl-shim.h, gpgkeys_curl.c (main), gpgkeys_ldap.c (main): Add
494 ca-cert-file option, to pass in the SSL cert.
496 * curl-shim.h, curl-shim.c: New. This is code to fake the curl
497 API in terms of the current HTTP iobuf API.
499 * gpgkeys_curl.c [FAKE_CURL], Makefile.am: If FAKE_CURL is set,
500 link with the iobuf code rather than libcurl.
502 2005-02-05 David Shaw <dshaw@jabberwocky.com>
504 * gpgkeys_finger.c (main), gpgkeys_hkp.c (main): Fix --version
507 * gpgkeys_curl.c (main): Make sure the curl handle is cleaned up
510 2005-02-01 David Shaw <dshaw@jabberwocky.com>
512 * gpgkeys_hkp.c (get_key), gpgkeys_http.c (get_key): Fix missing
513 http_close() calls. Noted by Phil Pennock.
515 * ksutil.h: Up the default timeout to two minutes.
517 2005-01-24 David Shaw <dshaw@jabberwocky.com>
519 * gpgkeys_ldap.c (print_nocr): New.
520 (get_key): Call it here to canonicalize line endings.
522 * gpgkeys_curl.c (writer): Discard everything outside the BEGIN
523 and END lines when retrieving keys. Canonicalize line endings.
526 2005-01-21 David Shaw <dshaw@jabberwocky.com>
528 * gpgkeys_ldap.c (main): Add "check-cert" option to disable SSL
529 certificate checking (which is on by default).
531 * gpgkeys_curl.c (main): Add "debug" option to match the LDAP
532 helper. Add "check-cert" option to disable SSL certificate
533 checking (which is on by default).
535 2005-01-18 David Shaw <dshaw@jabberwocky.com>
537 * gpgkeys_curl.c: Fix typo.
539 2005-01-18 Werner Koch <wk@g10code.com>
541 * gpgkeys_curl.c: s/MAX_PATH/URLMAX_PATH/g to avoid a clash with
542 the W32 defined macro. Removed unneeded initialization of static
544 * gpgkeys_http.c: Ditto.
545 * ksutil.h: s/MAX_PATH/URLMAX_PATH/.
547 2005-01-17 David Shaw <dshaw@jabberwocky.com>
549 * gpgkeys_curl.c (main): Only allow specified protocols to use the
552 * Makefile.am: Use LIBCURL_CPPFLAGS instead of LIBCURL_INCLUDES.
554 2005-01-13 David Shaw <dshaw@jabberwocky.com>
556 * ksutil.h, gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c,
557 gpgkeys_finger.c, gpgkeys_http.c: Part 2 of the cleanup. Move all
558 the various defines to ksutil.h.
560 * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
561 Part 1 of a minor cleanup to use #defines instead of hard-coded
564 * gpgkeys_finger.c (connect_server): Use INADDR_NONE instead of
565 SOCKET_ERROR. Noted by Timo.
567 2005-01-09 David Shaw <dshaw@jabberwocky.com>
569 * gpgkeys_curl.c (get_key): Newer versions of libcurl don't define
572 2004-12-24 David Shaw <dshaw@jabberwocky.com>
574 * gpgkeys_curl.c (main): Use new defines for opting out of certain
575 transfer protocols. Allow setting HTTP proxy via "http-proxy=foo"
576 option (there is natural support in libcurl for the http_proxy
577 environment variable).
579 * Makefile.am: Remove the conditional since this is all handled in
582 2004-12-22 David Shaw <dshaw@jabberwocky.com>
584 * gpgkeys_curl.c (main): New "follow-redirects" option. Takes an
585 optional numeric value for the maximum number of redirects to
586 allow. Defaults to 5.
588 * gpgkeys_curl.c (main), gpgkeys_finger.c (main), gpgkeys_hkp.c
589 (main), gpgkeys_http.c (main), gpgkeys_ldap.c (main): Make sure
590 that a "timeout" option passed with no arguments is properly
593 * gpgkeys_curl.c (get_key, writer): New function to wrap around
594 fwrite to avoid DLL access problem on win32.
596 * gpgkeys_http.c (main, get_key): Properly pass authentication
597 info through to the http library.
599 * Makefile.am: Build gpgkeys_http or gpgkeys_curl as needed.
601 * gpgkeys_curl.c (main, get_key): Minor tweaks to work with either
604 * gpgkeys_ftp.c: renamed to gpgkeys_curl.c.
606 * gpgkeys_ftp.c (main, get_key): Use auth data as passed by gpg.
607 Use CURLOPT_FILE instead of CURLOPT_WRITEDATA (same option, but
608 backwards compatible).
610 2004-12-21 David Shaw <dshaw@jabberwocky.com>
612 * gpgkeys_ftp.c: New.
614 * Makefile.am: Build it if requested.
616 2004-12-14 Werner Koch <wk@g10code.com>
618 * Makefile.am (install-exec-hook, uninstall-hook): Removed. For
619 Windows reasons we can't use the symlink trick.
621 2004-12-03 David Shaw <dshaw@jabberwocky.com>
623 * Makefile.am: The harmless "ignored error" on gpgkeys_ldap
624 install on top of an existing install is bound to confuse people.
625 Use ln -s -f to force the overwrite.
627 2004-10-28 David Shaw <dshaw@jabberwocky.com>
629 * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
631 2004-10-28 Werner Koch <wk@g10code.com>
633 * Makefile.am (other_libs): New. Also include LIBICONV. Noted by
636 2004-10-28 Werner Koch <wk@g10code.com>
638 * Makefile.am (other_libs):
640 2004-10-18 David Shaw <dshaw@jabberwocky.com>
642 * gpgkeys_hkp.c (send_key, get_key, search_key): Use "hkp" instead
643 of "x-hkp" so it can be used as a SRV tag.
645 2004-10-16 David Shaw <dshaw@jabberwocky.com>
647 * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
649 2004-10-15 Werner Koch <wk@g10code.com>
651 * gpgkeys_ldap.c (main, show_help): Kludge to implement standard
652 GNU options. Factored help printing out.
653 * gpgkeys_finger.c (main, show_help): Ditto.
654 * gpgkeys_hkp.c (main, show_help): Ditto.
655 * gpgkeys_http.c (main, show_help): Ditto.
656 * gpgkeys_test.in, gpgkeys_mailto.in: Implement --version and --help.
658 * Makefile.am: Add ksutil.h.
660 2004-10-14 David Shaw <dshaw@jabberwocky.com>
662 * gpgkeys_finger.c (main): We do not support relay fingering
663 (i.e. "finger://relayhost/user@example.com"), but finger URLs are
664 occasionally miswritten that way. Give an error in this case.
666 2004-10-14 Werner Koch <wk@g10code.com>
668 * gpgkeys_finger.c (get_key): s/unsigned char/byte/ due
669 to a strange typedef for RISC OS. Noted by Stefan.
671 2004-10-13 David Shaw <dshaw@jabberwocky.com>
673 * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main), gpgkeys_http.c
674 (main), gpgkeys_finger.c (main): Call timeout functions before
675 performing an action that could block for a long time.
677 * ksutil.h, ksutil.c: New. Right now just contains timeout
680 2004-10-11 David Shaw <dshaw@jabberwocky.com>
682 * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
683 Fix a few occurances of "filename" to `filename'.
685 2004-10-11 Werner Koch <wk@g10code.com>
687 * gpgkeys_finger.c: New.
689 2004-08-27 Stefan Bellon <sbellon@sbellon.de>
691 * gpgkeys_hkp.c (search_key): Fix the prior faulty fix by
692 introducing a cast but leaving skey unsigned.
694 * gpgkeys_hkp.c (search_key): Change type of variable skey from
695 unsigned char* to char* to fix type incompatibility.
697 2004-08-23 David Shaw <dshaw@jabberwocky.com>
699 * gpgkeys_ldap.c (get_key, search_key), gpgkeys_hkp.c (get_key,
700 search_key), gpgkeys_http.c (get_key): Do not give informational
701 logs since this is now done inside gpg.
703 * gpgkeys_hkp.c (dehtmlize): Understand the quote character
704 (i.e. """) in HTML responses.
705 (search_key): Search key must be unsigned for url encoder to work
706 properly for 8-bit values.
708 * gpgkeys_ldap.c (get_key): Factor out informational display into
709 new function build_info().
711 * gpgkeys_ldap.c (build_attrs): Properly terminate user ID strings
712 that got shrunk due to encoding.
714 2004-08-22 David Shaw <dshaw@jabberwocky.com>
716 * gpgkeys_ldap.c (find_basekeyspacedn): Use LDAP_SCOPE_BASE along
717 with a full DN rather than LDAP_SCOPE_ONELEVEL plus a filter to
718 find the pgpServerInfo object. Some LDAP setups don't like the
720 (main): Stop binding to the server since it seems no server really
721 requires it, and some require it not be there.
723 2004-07-29 David Shaw <dshaw@jabberwocky.com>
725 * gpgkeys_ldap.c (main): Add "debug" option. This is only really
726 useful with OpenLDAP, but it's practically vital to debug SSL and
727 TLS setups. Add "basedn" option. This allows users to override
728 the autodetection for base DN. SSL overrides TLS, so TLS will not
729 be started on SSL connections (starting an already started car).
731 2004-07-28 David Shaw <dshaw@jabberwocky.com>
733 * gpgkeys_ldap.c (build_attrs): Add "pgpKeySize" and "pgpSubKeyID"
734 attributes so we can do subkey searches.
736 * gpgkeys_ldap.c (main): Under certain error conditions, we might
737 try and unbind twice. Don't.
739 * gpgkeys_ldap.c (join_two_modlists): New.
740 (send_key): Use new function so we can try a modify operation
741 first, and fail over to an add if that fails. Add cannot cope
742 with the NULLs at the head of the modify request, so we jump into
743 the list in the middle.
745 2004-07-27 David Shaw <dshaw@jabberwocky.com>
747 * gpgkeys_ldap.c (main): Don't try and error out before making a
748 ldaps connection to the NAI keyserver since we cannot tell if it
749 is a NAI keyserver until we connect. Fail if we cannot find a
750 base keyspace DN. Fix a false success message for TLS being
753 2004-07-20 Werner Koch <wk@gnupg.org>
755 * gpgkeys_ldap.c [_WIN32]: Include Windows specific header files.
756 Suggested by Brian Gladman.
758 2004-05-26 David Shaw <dshaw@jabberwocky.com>
760 * gpgkeys_http.c: General polish and removal of leftover stuff
763 2004-05-21 David Shaw <dshaw@jabberwocky.com>
765 * gpgkeys_http.c (get_key): Cosmetic fix - make sure that URLs
766 with no path use a path of "/".
768 * gpgkeys_ldap.c (ldap2epochtime): We can always rely on timegm()
769 being available now, since it's a replacement function.
771 2004-05-20 David Shaw <dshaw@jabberwocky.com>
773 * gpgkeys_http.c: New program to do a simple HTTP file fetch using
774 the keyserver interface.
776 * Makefile.am: Build it.
778 2004-02-28 David Shaw <dshaw@jabberwocky.com>
780 * Makefile.am: Don't split LDADD across two lines since some make
781 programs can't handle blank lines after a \ continuation. Noted
782 by Christoph Moench-Tegeder.
784 2004-02-25 David Shaw <dshaw@jabberwocky.com>
786 * gpgkeys_ldap.c (send_key): List pgpCertID as one of the deleted
787 attributes. This guarantees that if something goes wrong, we
788 won't be able to complete the transaction, thus leaving any key
789 already existing on the server intact.
791 2004-02-23 David Shaw <dshaw@jabberwocky.com>
793 * gpgkeys_ldap.c (delete_one_attr): Removed.
794 (make_one_attr): Delete functionality added. Optional deduping
795 functionality added (currently only used for pgpSignerID).
796 (build_attrs): Translate sig entries into pgpSignerID. Properly
797 build the timestamp for pgpKeyCreateTime and pgpKeyExpireTime.
799 2004-02-22 David Shaw <dshaw@jabberwocky.com>
801 * gpgkeys_ldap.c (delete_one_attr): New function to replace
802 attributes with NULL (a "delete" that works even for nonexistant
804 (send_key): Use it here to remove attributes so a modify operation
805 starts with a clean playing field. Bias sends to modify before
806 add, since (I suspect) people update their existing keys more
807 often than they make and send new keys to the server.
809 2004-02-21 David Shaw <dshaw@jabberwocky.com>
811 * gpgkeys_ldap.c (epoch2ldaptime): New. Converse of
813 (make_one_attr): New. Build a modification list in memory to send
815 (build_attrs): New. Parse INFO lines sent over by gpg.
816 (free_mod_values): New. Unwinds a modification list.
817 (send_key_keyserver): Renamed from old send_key().
818 (send_key): New function to send a key to a LDAP server.
819 (main): Use send_key() for real LDAP servers, send_key_keyserver()
822 2004-02-20 David Shaw <dshaw@jabberwocky.com>
824 * gpgkeys_ldap.c: Replacement prototypes for setenv and unsetenv.
825 (search_key): Catch a SIZELIMIT_EXCEEDED error and show the user
826 whatever the server did give us.
827 (find_basekeyspacedn): There is no guarantee that namingContexts
830 * Makefile.am: Link gpgkeys_ldap with libutil.a to get the
831 replacement functions (and eventually translations, etc).
833 2004-02-19 David Shaw <dshaw@jabberwocky.com>
835 * gpgkeys_ldap.c (ldap2epochtime): LDAP timestamps are UTC, so do
836 not correct for timezones.
837 (main): Find the basekeyspacedn before we try to start TLS, so we
838 can give a better error message when a user tries to use TLS with
841 * Makefile.am: Add automake conditionals to symlink gpgkeys_ldaps
842 to gpgkeys_ldap when needed.
844 * gpgkeys_ldap.c (main): Add support for LDAPS and TLS
845 connections. These are only useful and usable when talking to
846 real LDAP keyservers. Add new "tls" option to tune TLS use from
847 off, to try quietly, to try loudly, or to require TLS.
849 * gpgkeys_ldap.c (find_basekeyspacedn): New function to figure out
850 what kind of LDAP server we're talking to (either real LDAP or the
851 LDAP keyserver), and return the baseKeySpaceDN to find keys under.
852 (main): Call it from here, and remove the old code that only
853 handled the LDAP keyserver.
855 2004-02-18 David Shaw <dshaw@jabberwocky.com>
857 * gpgkeys_ldap.c (ldap_to_gpg_err): Make sure that
858 LDAP_OPT_ERROR_NUMBER is defined before we use it.
860 * gpgkeys_mailto.in: Fix VERSION number.
862 2004-01-13 Werner Koch <wk@gnupg.org>
864 * gpgkeys_hkp.c (send_key): Add a content type.
866 2004-01-11 David Shaw <dshaw@jabberwocky.com>
868 * gpgkeys_hkp.c (search_key): Catch a mangled input file (useful
869 if something other than GnuPG is calling the program).
870 (main): Avoid possible pre-string write. Noted by Christian
873 * gpgkeys_ldap.c (main): Avoid possible pre-string write.
875 2003-12-28 David Shaw <dshaw@jabberwocky.com>
877 * gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code
878 that passes the proxy in from the outside. If the command file
879 sends a proxy, use it. If it sends "http-proxy" with no
880 arguments, use $http_proxy from the environment. Suggested by
883 2003-12-28 Stefan Bellon <sbellon@sbellon.de>
885 * gpgkeys_hkp.c, gpgkeys_ldap.c [__riscos__]: Removal of
886 unnecessary #ifdef __riscos__ sections.
888 2003-11-27 Werner Koch <wk@gnupg.org>
890 * gpgkeys_hkp.c (get_key): Fixed invalid use of fprintf without
893 2003-10-25 Werner Koch <wk@gnupg.org>
895 * Makefile.am (gpgkeys_hkp_LDADD): Replaced INTLLIBS by LIBINTL.
897 2003-07-10 David Shaw <dshaw@jabberwocky.com>
899 * Makefile.am: Use W32LIBS where appropriate.
901 2003-05-30 David Shaw <dshaw@jabberwocky.com>
903 * gpgkeys_hkp.c, gpgkeys_ldap.c: #include <getopt.h> if it is
904 available. Also include extern references for optarg and optind
905 since there is no guarantee that any header file will include
906 them. Standards? We don't need no stinkin' standards.
908 * Makefile.am: Use @GETOPT@ to pull in libiberty on those
909 platforms that need it.
911 2003-04-08 David Shaw <dshaw@jabberwocky.com>
913 * gpgkeys_hkp.c (dehtmlize, parse_hkp_index): Fix memory
914 corruption bug on some platforms.
916 2003-03-11 David Shaw <dshaw@jabberwocky.com>
918 * gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in
920 (main): Accept "try-dns-srv" option.
922 * Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
923 capabilities. Use @SRVLIBS@ to link in the resolver if we are
926 2003-02-11 David Shaw <dshaw@jabberwocky.com>
928 * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@
929 so it can be easily overridden at make time.
931 2003-01-29 David Shaw <dshaw@jabberwocky.com>
933 * gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is
934 not a keyid, but rather a text string from the user ID.
936 2003-01-06 David Shaw <dshaw@jabberwocky.com>
938 * gpgkeys_hkp.c (get_key): Use options=mr when getting a key so
939 keyserver doesn't attach the HTML header which we will just have
942 2002-11-17 David Shaw <dshaw@jabberwocky.com>
944 * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver
947 2002-11-14 David Shaw <dshaw@jabberwocky.com>
949 * gpgkeys_ldap.c (get_key): The deduping code requires
950 "pgpcertid", but that was not available when running without
951 verbose on. Noted by Stefan.
953 2002-11-10 David Shaw <dshaw@jabberwocky.com>
955 * gpgkeys_ldap.c (get_key): Fix typo in deduping code.
957 2002-11-05 David Shaw <dshaw@jabberwocky.com>
959 * gpgkeys_ldap.c (key_in_keylist, add_key_to_keylist,
960 free_keylist, get_key, search_key): The LDAP keyserver doesn't
961 remove duplicates, so remove them locally. Do not include the key
962 modification time in the search response.
964 2002-11-04 David Shaw <dshaw@jabberwocky.com>
966 * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key): Properly
967 handle an input file that does not include any key data at all.
969 2002-10-24 David Shaw <dshaw@jabberwocky.com>
971 * gpgkeys_hkp.c (main), gpgkeys_ldap.c (main): Add -V flag to
972 output protocol and program version.
974 2002-10-21 David Shaw <dshaw@jabberwocky.com>
976 * Makefile.am: Anything linking with libutil.a needs INTLLIBS as
977 well on platforms where INTLLIBS is set.
979 2002-10-14 David Shaw <dshaw@jabberwocky.com>
981 * gpgkeys_hkp.c (write_quoted): Use %-encoding instead of
983 (parse_hkp_index): Use new keyserver key listing format, and add
984 support for disabled keys via include-disabled.
986 * gpgkeys_ldap.c (get_key): Don't print keysize unless it's >0.
987 (printquoted): Use %-encoding instead of \-encoding.
988 (search_key): Use new keyserver key listing format.
990 2002-10-08 David Shaw <dshaw@jabberwocky.com>
992 * gpgkeys_ldap.c (search_key, main): Make sure LDAP values are
993 freed in case of error.
995 * gpgkeys_ldap.c (fail_all): New function to unwind a keylist and
997 (main): Call fail_all from here, as needed. Also add a NO_MEMORY
998 error in an appropriate place and fix error return code.
999 (ldap_err_to_gpg_err): Add KEYSERVER_UNREACHABLE.
1001 * gpgkeys_hkp.c (fail_all): New function to unwind a keylist and
1003 (main): Call fail_all from here. Also add a NO_MEMORY error in an
1005 (get_key): Use new UNREACHABLE error for network errors.
1007 2002-09-26 Werner Koch <wk@gnupg.org>
1009 * gpgkeys_ldap.c (send_key): Removed non-constant initializers.
1011 2002-09-24 David Shaw <dshaw@jabberwocky.com>
1013 * gpgkeys_ldap.c (ldap_err_to_gpg_err, ldap_to_gpg_err, send_key,
1014 get_key, search_key, main): Some minor error reporting
1015 enhancements for use with GPA (show reasons for KEY FAILED).
1017 * gpgkeys_hkp.c (send_key, get_key, search_key, main): Some minor
1018 error reporting enhancements for use with GPA (show reasons for
1021 2002-09-20 Werner Koch <wk@gnupg.org>
1023 * gpgkeys_hkp.c (handle_old_hkp_index): s/input/inp/ to avoid
1026 2002-09-19 David Shaw <dshaw@jabberwocky.com>
1028 * gpgkeys_hkp.c (get_key, handle_old_hkp_index, search_key):
1029 Properly handle line truncation.
1031 2002-09-16 David Shaw <dshaw@jabberwocky.com>
1033 * gpgkeys_mailto.in: Add quasi-RFC-2368 mailto:email@addr?from=
1034 syntax so people can set their own email address to respond to.
1036 * gpgkeys_hkp.c (get_key): Properly respond with KEY FAILED (to
1037 gpg) and "key not found" (to user) on failure.
1039 2002-09-13 David Shaw <dshaw@jabberwocky.com>
1041 * gpgkeys_hkp.c: (search_key, handle_old_hkp_index): Try and
1042 request a machine-readable key index. If the server supports
1043 this, pass it through. If the server does not support it, parse
1046 2002-09-12 Stefan Bellon <sbellon@sbellon.de>
1048 * gpgkeys_hkp.c: Tidied up RISC OS initializations.
1050 2002-09-12 David Shaw <dshaw@jabberwocky.com>
1052 * gpgkeys_hkp.c (main): Remove warning - this is no longer
1055 2002-09-09 Werner Koch <wk@gnupg.org>
1057 * gpgkeys_hkp.c (send_key, get_key, search_key): Check return
1059 (dehtmlize): Use ascii_tolower to protect against weird locales.
1060 Cast the argument for isspace for the sake of broken HP/UXes.
1061 (search_key): Check return value of realloc.
1063 2002-09-09 David Shaw <dshaw@jabberwocky.com>
1065 * gpgkeys_ldap.c (get_key): Some compilers (RISC OS, HPUX c89)
1066 don't like using variables as array initializers.
1068 * gpgkeys_hkp.c (send_key): Use CRLF in headers.
1070 2002-08-28 David Shaw <dshaw@jabberwocky.com>
1072 * gpgkeys_hkp.c (parse_hkp_index): Use same types on all
1073 platforms. This was probably leftover from earlier code where the
1076 * gpgkeys_hkp.c: Overall cleanup from iobuf conversion. Be
1077 consistent in m_alloc and malloc usage. Remove include-disabled
1078 (meaningless on HKP). RISC OS tweak.
1080 2002-08-27 David Shaw <dshaw@jabberwocky.com>
1082 * gpgkeys_hkp.c, Makefile.am: Convert over to using iobufs.
1084 * gpgkeys_hkp.c (http_get, http_post): Use CRLF for line endings.
1086 * gpgkeys_hkp.c: Include util.h on RISC OS as per Stefan. Include
1087 a replacement for hstrerror() for those platforms (such as RISC
1088 OS) that don't have it.
1090 2002-08-26 David Shaw <dshaw@jabberwocky.com>
1092 * Makefile.am: May as well include gpgkeys_hkp.c in the
1093 distribution now. It works well enough without proxies, and isn't
1094 built by default. It would be good to get some test experience
1097 * gpgkeys_hkp.c (main): Don't warn about include-subkeys - it
1098 isn't unsupported, it's actually non-meaningful in the context of
1101 * gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Move HTML
1102 functionality into new "dehtmlize" function. Remove HTML before
1103 trying to parse each line from the keyserver. If the keyserver
1104 provides key type information in the listing, use it. (Copy over
1107 2002-08-19 David Shaw <dshaw@jabberwocky.com>
1109 * gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code
1112 * gpgkeys_ldap.c (get_key): Fix cosmetic URL display problem
1113 (extra ":" at the end).
1115 2002-08-03 Stefan Bellon <sbellon@sbellon.de>
1117 * gpgkeys_ldap.c: Tidied up RISC OS initializations.
1119 2002-07-25 David Shaw <dshaw@jabberwocky.com>
1121 * gpgkeys_hkp.c: "Warning" -> "WARNING"
1123 2002-07-24 David Shaw <dshaw@jabberwocky.com>
1125 * Makefile.am: Install keyserver helpers in @GNUPG_LIBEXECDIR@
1127 2002-07-15 David Shaw <dshaw@jabberwocky.com>
1129 * gpgkeys_ldap.c (send_key, get_key, main): Consult the server
1130 version string to determine whether to use pgpKey or pgpKeyV2.
1132 2002-07-09 David Shaw <dshaw@jabberwocky.com>
1134 * gpgkeys_mailto.in: Use new OPAQUE tag for non net-path URIs.
1135 Fail more elegantly if there is no email address to send to. Show
1136 the GnuPG version in the message body.
1138 2002-07-04 David Shaw <dshaw@jabberwocky.com>
1140 * gpgkeys_ldap.c (get_key), gpgkeys_hkp.c (get_key): Display
1141 keyserver URI as a URI, but only if verbose.
1143 2002-07-01 David Shaw <dshaw@jabberwocky.com>
1145 * gpgkeys_hkp.c (parse_hkp_index): Error if the keyserver returns
1146 an unparseable HKP response.
1148 * gpgkeys_hkp.c (main): Warn on honor-http-proxy,
1149 broken-http-proxy, and include-subkeys (not supported yet).
1151 * gpgkeys_ldap.c (main), gpgkeys_hkp.c (http_connect, main): Fix
1152 some shadowing warnings.
1154 2002-06-11 David Shaw <dshaw@jabberwocky.com>
1156 * Makefile.am: Don't hard-code the LDAP libraries - get them from
1157 LDAPLIBS via configure. Also, gpgkeys_hkp is a program, not a
1160 2002-06-10 David Shaw <dshaw@jabberwocky.com>
1162 * gpgkeys_ldap.c (include_subkeys): Default "include-subkeys" to
1163 off, since GnuPG now defaults it to on.
1165 2002-06-06 David Shaw <dshaw@jabberwocky.com>
1167 * gpgkeys_hkp.c (parse_hkp_index): Type tweaks.
1169 * gpgkeys_hkp.c (main): Add experimental code warning.
1171 2002-06-05 David Shaw <dshaw@jabberwocky.com>
1173 * Makefile.am, gpgkeys_hkp.c (new): Experimental HKP keyserver
1176 2002-05-08 David Shaw <dshaw@jabberwocky.com>
1178 * gpgkeys_ldap.c: Include <lber.h> if we absolutely must. This
1179 helps when compiling against a very old OpenLDAP.
1181 2002-04-29 David Shaw <dshaw@jabberwocky.com>
1183 * gpgkeys_mailto.in: Properly handle key requests in full
1186 2002-03-29 David Shaw <dshaw@jabberwocky.com>
1188 * gpgkeys_ldap.c (printquoted): Quote backslashes within keyserver
1191 2002-02-25 David Shaw <dshaw@jabberwocky.com>
1193 * gpgkeys_ldap (get_key): LDAP keyservers do not support v3
1194 fingerprints, so error out if someone tries. Actually, they don't
1195 support any fingerprints, but at least we can calculate a keyid
1196 from a v4 fingerprint.
1198 2002-02-23 David Shaw <dshaw@jabberwocky.com>
1200 * gpgkeys_ldap: Clarify the notion of a partial failure. This is
1201 possible if more than one key is being handled in a batch, and one
1202 fails while the other succeeds. Note that a search that comes up
1203 with no results is not a failure - that is a valid response of "no
1206 * gpgkeys_ldap.c (get_key): Allow GnuPG to send us full v4
1207 fingerprints, long key ids, or short key ids while fetching.
1208 Since the LDAP server doesn't actually handle fingerprints, chop
1209 them down to long key ids for actual use.
1211 * gpgkeys_ldap.c (main, get_key): When searching for a keyid,
1212 search for subkeys as well as primary keys. This is mostly
1213 significant when automatically fetching the key based on the id in
1214 a header (i.e. "signature made by...."). "no-include-subkeys"
1217 2002-02-14 David Shaw <dshaw@jabberwocky.com>
1219 * gpgkeys_ldap.c: Fix compiler warning.
1221 * gpgkeys_ldap.c: Be much more robust with mangled input files.
1223 2001-12-28 David Shaw <dshaw@jabberwocky.com>
1225 * gpgkeys_mailto.in: Use the new OUTOFBAND indicator so gpg knows
1226 not to try and import anything. Also turn on perl -w for
1229 * gpgkeys_ldap.c (main): If we're using temp files (rather than
1230 stdin/stdout), make sure the file is closed when we're done.
1232 2001-12-20 David Shaw <dshaw@jabberwocky.com>
1234 * Properly free the LDAP response when we're done with it.
1236 * Now that we handle multiple keys, we must remove duplicates as
1237 the LDAP keyserver returns keys with multiple user IDs multiple
1240 * Properly handle multiple keys with the same key ID (it's really
1241 rare, so fetch "0xDEADBEEF" to test this).
1243 2001-12-17 David Shaw <dshaw@jabberwocky.com>
1245 * gpgkeys_ldap.c, gpgkeys_mailto.in: Fix GNU capitalization
1246 issues. Prefix log messages with "gpgkeys" to clarify which
1247 program is generating them.
1249 2001-12-14 David Shaw <dshaw@jabberwocky.com>
1251 * gpgkeys_ldap.c (search_key): Use unsigned int rather than uint
1254 2001-12-04 David Shaw <dshaw@jabberwocky.com>
1256 * Initial version of gpgkeys_ldap (LDAP keyserver helper) and
1257 gpgkeys_mailto (email keyserver helper)
1260 Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
1261 2007 Free Software Foundation, Inc.
1263 This file is free software; as a special exception the author gives
1264 unlimited permission to copy and/or distribute it, with or without
1265 modifications, as long as this notice is preserved.
1267 This file is distributed in the hope that it will be useful, but
1268 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1269 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.