1 2009-08-26 Werner Koch <wk@g10code.com>
3 * gpgkeys_hkp.c: Include util.h.
4 (send_key): Use strconcat to build KEY.
5 (appendable_path): New.
6 (get_name): Use strconcat to build REQUEST.
9 * ksutil.c: Include util.h.
10 (parse_ks_options): Use make_filename_try for the ca-cert-file arg.
12 2009-07-06 David Shaw <dshaw@jabberwocky.com>
14 * gpgkeys_hkp.c (main, srv_replace): Minor tweaks to use the
15 DNS-SD names ("pgpkey-http" and "pgpkey-https") in SRV lookups
16 instead of "hkp" and "hkps".
18 2009-06-24 Werner Koch <wk@g10code.com>
20 * gpgkeys_ldap.c (send_key): Do not deep free a NULL modlist.
21 Reported by Fabian Keil.
23 2009-05-28 David Shaw <dshaw@jabberwocky.com>
27 * curl-shim.c (curl_slist_append, curl_slist_free_all): New.
28 Simple wrappers around strlist_t to emulate the curl way of doing
30 (curl_easy_setopt): Handle the curl HTTPHEADER option.
32 * gpgkeys_curl.c, gpgkeys_hkp.c (main): Avoid caches to get the
33 most recent copy of the key. This is bug #1061.
35 2009-05-27 David Shaw <dshaw@jabberwocky.com>
39 * gpgkeys_hkp.c (srv_replace): New function to transform a SRV
40 hostname to a real hostname.
41 (main): Call it from here for the HAVE_LIBCURL case (without
42 libcurl is handled via the curl-shim).
44 * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
45 Add a CURLOPT_SRVTAG_GPG_HACK (passed through the the http
48 2009-05-10 David Shaw <dshaw@jabberwocky.com>
52 * gpgkeys_hkp.c (send_key, get_key, get_name, search_key, main):
53 Add support for SSLized HKP.
55 * curl-shim.h (curl_version): No need to provide a version for
56 curl-shim as it always matches the GnuPG version.
58 * gpgkeys_curl.c, gpgkeys_hkp.c (main): Show which version of curl
59 we're using as part of --version.
61 * gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_hkp.c,
62 gpgkeys_ldap.c (show_help): Document --version.
64 2009-05-04 David Shaw <dshaw@jabberwocky.com>
66 * gpgkeys_mailto.in: Set 'mail-from' as a keyserver-option, rather
67 than the ugly ?from= syntax.
69 2009-01-22 Werner Koch <wk@g10code.com>
71 * Makefile.am (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD): Add all
74 2008-10-20 Werner Koch <wk@g10code.com>
76 * curl-shim.c (curl_global_init): Mark usused arg.
77 (curl_version_info): Ditto.
79 2008-08-29 Werner Koch <wk@g10code.com>
81 * gpgkeys_kdns.c: Changed copyright notice to the FSF.
83 2008-04-21 Werner Koch <wk@g10code.com>
85 * ksutil.c (w32_init_sockets) [HAVE_W32_SYSTEM]: New.
86 * curl-shim.c (curl_easy_init) [HAVE_W32_SYSTEM]: Call it.
87 * gpgkeys_finger.c: s/_WIN32/HAVE_W32_SYSTEM/.
88 (init_sockets): Remove.
89 (connect_server) [HAVE_W32_SYSTEM]: Call new function.
91 2008-04-14 David Shaw <dshaw@jabberwocky.com>
93 * gpgkeys_curl.c (main), gpgkeys_hkp.c (main): Make sure all
94 libcurl number options are passed as long.
96 * curl-shim.c (curl_easy_setopt): Minor tweak to match the real
97 curl better - libcurl uses 'long', not 'unsigned int'.
99 2008-04-07 Werner Koch <wk@g10code.com>
101 * gpgkeys_kdns.c: New.
102 * Makefile.am: Support kdns.
104 * no-libgcrypt.c (gcry_strdup): Fix. It was not used.
106 2008-03-25 Werner Koch <wk@g10code.com>
108 * gpgkeys_ldap.c (build_attrs): Take care of char defaulting to
109 unsigned when using hextobyte.
111 2007-10-25 David Shaw <dshaw@jabberwocky.com> (wk)
115 * gpgkeys_ldap.c (main): Fix bug in setting up whether to verify
116 peer SSL cert. This used to work with older OpenLDAP, but is now
117 more strictly handled.
119 * gpgkeys_ldap.c (search_key, main): Fix bug where searching for
120 foo bar (no quotes) on the command line resulted in searching for
121 "foo\2Abar" due to LDAP quoting. The proper search is "foo*bar".
123 2007-06-11 Werner Koch <wk@g10code.com>
125 * gpgkeys_hkp.c (send_key): Rename eof to r_eof as some Windows
126 header defines such a symbol.
129 2007-06-06 Werner Koch <wk@g10code.com>
131 * gpgkeys_ldap.c (send_key, send_key_keyserver): Rename eof to
132 r_eof as some Windows file has such a symbol.
135 2007-05-07 Werner Koch <wk@g10code.com>
137 * Makefile.am (gpg2keys_ldap_LDADD): Add GPG_ERROR_LIBS.
139 2007-05-04 Werner Koch <wk@g10code.com>
141 * gpgkeys_test.in: Rename to ..
142 * gpg2keys_test.in: .. this.
143 * gpgkeys_mailto.in: Rename to ..
144 * gpg2keys_mailto.in: .. this
145 * Makefile.am: Likewise
147 2007-03-13 David Shaw <dshaw@jabberwocky.com>
149 From STABLE-BRANCH-1-4
151 * gpgkeys_curl.c (main): Use curl_version_info to verify that the
152 protocol we're about to use is actually available.
154 * curl-shim.h, curl-shim.c (curl_free): Make into a macro.
155 (curl_version_info): New. Only advertises "http" for our shim, of
158 2007-03-09 David Shaw <dshaw@jabberwocky.com>
160 From STABLE-BRANCH-1-4
162 * gpgkeys_ldap.c (send_key): Missing a free().
164 * curl-shim.c (curl_easy_perform): Some debugging items that may
167 2006-12-03 David Shaw <dshaw@jabberwocky.com>
169 * gpgkeys_hkp.c (search_key): HKP keyservers like the 0x to be
170 present when searching by keyID.
172 2006-11-22 Werner Koch <wk@g10code.com>
174 * Makefile.am (gpg2keys_ldap_LDADD): Add jnlib. This is needed
175 for some replacement functions.
177 2006-11-21 Werner Koch <wk@g10code.com>
179 * curl-shim.c (curl_easy_perform): Made BUFLEN and MAXLNE a size_t.
181 2006-11-05 David Shaw <dshaw@jabberwocky.com>
183 * gpgkeys_hkp.c (curl_mrindex_writer): Revert previous change.
184 Key-not-found still has a HTML response.
186 2006-10-24 Marcus Brinkmann <marcus@g10code.de>
188 * Makefile.am (gpg2keys_ldap_CPPFLAGS): Rename second instance to ...
189 (gpg2keys_finger_CPPFLAGS): ... this.
191 2006-10-20 Werner Koch <wk@g10code.com>
193 * Makefile.am: Reporder macros for better readability.
194 (gpg2keys_finger_LDADD): Add GPG_ERROR_LIBS.
196 2006-10-19 David Shaw <dshaw@jabberwocky.com>
198 * gpgkeys_hkp.c (curl_mrindex_writer): Print a warning if we see
199 HTML coming back from a MR hkp query.
201 2006-10-17 Werner Koch <wk@g10code.com>
203 * Makefile.am: Removed W32LIBS as they are included in NETLIBS.
206 2006-09-26 Werner Koch <wk@g10code.com>
208 * curl-shim.c: Adjusted for changes in http.c.
209 (curl_easy_perform): Changed LINE from unsigned char* to char*.
211 * Makefile.am (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD)
212 [FAKE_CURL]: Need to link against common_libs and pth.
214 * curl-shim.h, curl-shim.c: Removed license exception as not
217 2006-09-22 Werner Koch <wk@g10code.com>
219 * gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c, curl-shim.c:
220 * curl-shim.h, ksutil.c, ksutil.h: Add special license exception
221 for OpenSSL. This helps to avoid license conflicts if OpenLDAP or
222 cURL is linked against OpenSSL and we would thus indirectly link
223 to OpenSSL. This is considered a bug fix and forgives all
224 possible violations, pertaining to this issue, possibly occured in
227 * no-libgcrypt.c: Changed license to a simple all permissive one.
229 * Makefile.am (gpg2keys_ldap_LDADD): For license reasons do not
230 link against common_libs.
231 (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD): Ditto.
232 * ksutil.c (ks_hextobyte, ks_toupper, ks_strcasecmp): New.
233 Identical to the ascii_foo versions from jnlib.
234 * gpgkeys_ldap.c: Include assert.h.
235 (main): Replace BUG by assert.
236 (build_attrs): Use ks_hextobyte and ks_strcasecmp.
238 * gpgkeys_finger.c (get_key): Resolved signed/unisgned char
241 2006-09-19 Werner Koch <wk@g10code.com>
243 * no-libgcrypt.c: New. Taken from ../tools.
244 * Makefile.am: Add no-libgcrypt to all sources.
246 2006-09-06 Marcus Brinkmann <marcus@g10code.de>
248 * Makefile.am (AM_CFLAGS): Add $(GPG_ERROR_CFLAGS).
250 2006-08-16 Werner Koch <wk@g10code.com>
252 * Makefile.am: Renamed all binaries to gpg2keys_*.
253 (gpg2keys_ldap_CPPFLAGS): Add AM_CPPFLAGS.
255 2006-08-15 Werner Koch <wk@g10code.com>
257 * Makefile.am: Adjusted to the gnupg2 framework.
259 2006-08-14 Werner Koch <wk@g10code.com>
261 * curl-shil.c, curl-shim.h: Changed to make use of the new http.c
264 * curl-shim.c (curl_easy_perform): Add missing http_close to the
267 2006-07-24 David Shaw <dshaw@jabberwocky.com> (wk)
269 * curl-shim.c (curl_easy_perform): Minor cleanup of proxy code.
271 * gpgkeys_hkp.c (send_key)
272 * gpgkeys_ldap.c (send_key, send_key_keyserver): Fix string
273 matching problem when the ascii armored form of the key happens to
274 match "KEY" at the beginning of the line.
276 2006-04-26 David Shaw <dshaw@jabberwocky.com>
278 * gpgkeys_http.c, gpgkeys_oldhkp.c: Removed.
280 * Makefile.am: Don't build gpgkeys_http or gpgkeys_(old)hkp any
281 longer as this is done via curl or fake-curl.
283 * ksutil.h, ksutil.c, gpgkeys_hkp.c, gpgkeys_curl.c: Minor
284 #include tweaks as FAKE_CURL is no longer meaningful.
286 2006-04-10 David Shaw <dshaw@jabberwocky.com>
288 * gpgkeys_ldap.c (ldap_quote, get_name, search_key): LDAP-quote
289 directly into place rather than mallocing temporary buffers.
291 * gpgkeys_ldap.c (get_name): Build strings with strcat rather than
292 using sprintf which is harder to read and modify.
294 * ksutil.h, ksutil.c (classify_ks_search): Add
295 KS_SEARCH_KEYID_SHORT and KS_SEARCH_KEYID_LONG to search for a key
298 * gpgkeys_ldap.c (search_key): Use it here to flip from pgpUserID
299 searches to pgpKeyID or pgpCertID.
301 2006-03-27 David Shaw <dshaw@jabberwocky.com>
303 * gpgkeys_ldap.c: #define LDAP_DEPRECATED for newer OpenLDAPs so
304 they use the regular old API that is compatible with other LDAP
307 2006-03-03 David Shaw <dshaw@jabberwocky.com>
309 * gpgkeys_ldap.c (main): Fix build problem with non-OpenLDAP LDAP
310 libraries that have TLS.
312 2006-02-23 David Shaw <dshaw@jabberwocky.com>
314 * ksutil.c (init_ks_options): Default include-revoked and
315 include-subkeys to on, as gpg isn't doing this any longer.
317 2006-02-22 David Shaw <dshaw@jabberwocky.com>
319 * gpgkeys_hkp.c (get_name): A GETNAME query turns exact=on to cut
322 2006-02-21 David Shaw <dshaw@jabberwocky.com>
324 * gpgkeys_ldap.c (make_one_attr, build_attrs, send_key): Don't
325 allow duplicate attributes as OpenLDAP is now enforcing this.
327 * gpgkeys_ldap.c (main): Add binddn and bindpw so users can pass
328 credentials to a remote LDAP server.
330 * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
331 curl_easy_perform): Mingw has 'stderr' as a macro?
333 * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
334 curl_easy_perform): Add CURLOPT_VERBOSE and CURLOPT_STDERR for
337 2006-01-16 David Shaw <dshaw@jabberwocky.com>
339 * gpgkeys_hkp.c (send_key): Do not escape the '=' in the HTTP POST
340 when uploading a key.
342 2005-12-23 David Shaw <dshaw@jabberwocky.com>
344 * ksutil.h, ksutil.c (parse_ks_options): New keyserver command
347 * gpgkeys_hkp.c (main, get_name), gpgkeys_ldap.c (main, get_name):
348 Use it here to do direct name (rather than key ID) fetches.
350 2005-12-19 David Shaw <dshaw@jabberwocky.com>
352 * ksutil.h, ksutil.c (curl_armor_writer, curl_writer,
353 curl_writer_finalize): New functionality to handle binary format
354 keys by armoring them for input to GPG.
356 * gpgkeys_curl.c (get_key), gpgkeys_hkp.c (get_key): Call it here.
358 2005-12-07 David Shaw <dshaw@jabberwocky.com>
360 * gpgkeys_finger.c (get_key), gpgkeys_curl.c (get_key): Better
361 language for the key-not-found error.
363 * ksutil.c (curl_err_to_gpg_err): Add CURLE_OK and
364 CURLE_COULDNT_CONNECT.
366 * gpgkeys_curl.c (get_key): Give key-not-found error if no data is
367 found (or file itself is not found) during a fetch.
369 2005-12-06 David Shaw <dshaw@jabberwocky.com>
371 * curl-shim.c (curl_easy_perform): Fix build warning (code before
374 2005-11-02 David Shaw <dshaw@jabberwocky.com>
376 * gpgkeys_hkp.c (search_key): Fix warning with typecast (though
377 curl should really have defined that char * as const).
379 2005-08-25 David Shaw <dshaw@jabberwocky.com>
381 * ksutil.h, ksutil.c (parse_ks_options): Remove exact-name and
383 (classify_ks_search): Mimic the gpg search modes instead with *,
386 * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Call
387 them here. Suggested by Jason Harris.
389 2005-08-18 David Shaw <dshaw@jabberwocky.com>
391 * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
392 exact-name. The last of exact-name and exact-email overrides the
395 * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
396 here to do a name-only search.
398 * gpgkeys_ldap.c (ldap_quote): \-quote a string for LDAP.
400 * gpgkeys_ldap.c (search_key): Use it here to escape reserved
401 characters in searches.
403 2005-08-17 David Shaw <dshaw@jabberwocky.com>
405 * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
408 * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
409 here to do an email-only search.
411 2005-08-08 David Shaw <dshaw@jabberwocky.com>
413 * Makefile.am: Include LDAP_CPPFLAGS when building LDAP.
415 2005-08-03 David Shaw <dshaw@jabberwocky.com>
417 * gpgkeys_hkp.c (main), gpgkeys_curl.c (main), curl-shim.h: Show
418 version of curl (or curl-shim) when debug is set.
420 2005-07-20 David Shaw <dshaw@jabberwocky.com>
422 * gpgkeys_curl.c (get_key, main): Don't try and be smart about
423 what protocols we handle. Directly pass them to curl or fake-curl
424 and see if an error comes back.
426 * curl-shim.h, curl-shim.c (handle_error), ksutil.c
427 (curl_err_to_gpg_err): Add support for CURLE_UNSUPPORTED_PROTOCOL
430 * Makefile.am: Don't need -DFAKE_CURL any longer since it's in
433 2005-06-23 David Shaw <dshaw@jabberwocky.com>
435 * gpgkeys_mailto.in, gpgkeys_test.in: Use @VERSION@ so version
436 string stays up to date.
438 * gpgkeys_http.c: Don't need to define HTTP_PROXY_ENV here since
441 * gpgkeys_curl.c (get_key, main), gpgkeys_hkp.c (main): Pass AUTH
442 values to curl or curl-shim.
444 * curl-shim.c (curl_easy_perform), gpgkeys_curl.c (main),
445 gpgkeys_hkp.c (main): Use curl-style proxy semantics.
447 * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
448 Add CURLOPT_USERPWD option for HTTP auth.
450 * gpgkeys_http.c (get_key), gpgkeys_oldhkp (send_key, get_key,
451 search_key): No longer need to pass a proxyauth.
453 * gpgkeys_http.c (get_key): Pass auth outside of the URL.
455 2005-06-21 David Shaw <dshaw@jabberwocky.com>
457 * gpgkeys_http.c (get_key), gpgkeys_oldhkp.c (send_key, get_key,
458 search_key): Fix http_open/http_open_document calls to pass NULL
459 for auth and proxyauth since these programs pass them in the URL.
461 2005-06-20 David Shaw <dshaw@jabberwocky.com>
463 * gpgkeys_hkp.c (append_path, send_key, get_key, search_key,
464 main), gpgkeys_oldhkp.c (main): Properly handle double slashes in
467 2005-06-05 David Shaw <dshaw@jabberwocky.com>
469 * ksutil.c (init_ks_options, parse_ks_options): Provide a default
470 "/" path unless overridden by the config. Allow config to specify
471 items multiple times and take the last specified item.
473 2005-06-04 David Shaw <dshaw@jabberwocky.com>
475 * gpgkeys_hkp.c, gpgkeys_oldhkp.c: Add support for HKP servers
476 that aren't at the root path. Suggested by Jack Bates.
478 2005-06-01 David Shaw <dshaw@jabberwocky.com>
480 * ksutil.c [HAVE_DOSISH_SYSTEM]: Fix warnings on mingw32. Noted
483 2005-05-04 David Shaw <dshaw@jabberwocky.com>
485 * ksutil.h, ksutil.c: #ifdef so we can build without libcurl or
488 2005-05-03 David Shaw <dshaw@jabberwocky.com>
490 * gpgkeys_http.c: Need GET defined.
492 2005-05-01 David Shaw <dshaw@jabberwocky.com>
494 * gpgkeys_hkp.c, gpgkeys_oldhkp.c, ksutil.h: Some minor cleanup
495 and comments as to the size of MAX_LINE and MAX_URL.
497 2005-04-16 David Shaw <dshaw@jabberwocky.com>
499 * gpgkeys_hkp.c: New hkp handler that uses curl or curl-shim.
501 * Makefile.am: Build new gpgkeys_hkp.
503 * curl-shim.c (curl_easy_perform): Cleanup.
505 * ksutil.h, ksutil.c (curl_writer), gpgkeys_curl.c (get_key): Pass
506 a context to curl_writer so we can support multiple fetches in a
509 * curl-shim.h, curl-shim.c (handle_error, curl_easy_setopt,
510 curl_easy_perform): Add POST functionality to the curl shim.
512 * curl-shim.h, curl-shim.c (curl_escape, curl_free): Emulate
513 curl_escape and curl_free.
515 * gpgkeys_curl.c (main): If the http-proxy option is given without
516 any arguments, try to get the proxy from the environment.
518 * ksutil.h, ksutil.c (curl_err_to_gpg_err, curl_writer): Copy from
521 * gpgkeys_oldhkp.c: Copy from gpgkeys_hkp.c.
523 2005-03-22 David Shaw <dshaw@jabberwocky.com>
525 * gpgkeys_ldap.c, ksutil.h, ksutil.c (print_nocr): Moved from
526 gpgkeys_ldap.c. Print a string, but strip out any CRs.
528 * gpgkeys_finger.c (get_key), gpgkeys_hkp.c (get_key),
529 gpgkeys_http.c (get_key): Use it here when outputting key material
530 to canonicalize line endings.
532 2005-03-19 David Shaw <dshaw@jabberwocky.com>
534 * gpgkeys_ldap.c (main): Fix three wrong calls to fail_all().
535 Noted by Stefan Bellon.
537 2005-03-17 David Shaw <dshaw@jabberwocky.com>
539 * ksutil.c (parse_ks_options): Handle verbose=nnn.
541 * Makefile.am: Calculate GNUPG_LIBEXECDIR directly. Do not
542 redefine $libexecdir.
544 * gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_ldap.c: Start using
545 parse_ks_options and remove a lot of common code.
547 * ksutil.h, ksutil.c (parse_ks_options): Parse OPAQUE, and default
548 debug with no arguments to 1.
550 2005-03-16 David Shaw <dshaw@jabberwocky.com>
552 * gpgkeys_ldap.c: Include lber.h if configure determines we need
555 * ksutil.h, ksutil.c (ks_action_to_string): New.
556 (free_ks_options): Only free if options exist.
558 * ksutil.h, ksutil.c (init_ks_options, free_ks_options,
559 parse_ks_options): Pull a lot of duplicated code into a single
560 options parser for all keyserver helpers.
562 2005-02-11 David Shaw <dshaw@jabberwocky.com>
564 * curl-shim.c (curl_easy_perform): Fix compile warning.
566 * curl-shim.h, gpgkeys_curl.c (main), gpgkeys_ldap.c (main): Add
567 ca-cert-file option, to pass in the SSL cert.
569 * curl-shim.h, curl-shim.c: New. This is code to fake the curl
570 API in terms of the current HTTP iobuf API.
572 * gpgkeys_curl.c [FAKE_CURL], Makefile.am: If FAKE_CURL is set,
573 link with the iobuf code rather than libcurl.
575 2005-02-05 David Shaw <dshaw@jabberwocky.com>
577 * gpgkeys_finger.c (main), gpgkeys_hkp.c (main): Fix --version
580 * gpgkeys_curl.c (main): Make sure the curl handle is cleaned up
583 2005-02-01 David Shaw <dshaw@jabberwocky.com>
585 * gpgkeys_hkp.c (get_key), gpgkeys_http.c (get_key): Fix missing
586 http_close() calls. Noted by Phil Pennock.
588 * ksutil.h: Up the default timeout to two minutes.
590 2005-01-24 David Shaw <dshaw@jabberwocky.com>
592 * gpgkeys_ldap.c (print_nocr): New.
593 (get_key): Call it here to canonicalize line endings.
595 * gpgkeys_curl.c (writer): Discard everything outside the BEGIN
596 and END lines when retrieving keys. Canonicalize line endings.
599 2005-01-21 David Shaw <dshaw@jabberwocky.com>
601 * gpgkeys_ldap.c (main): Add "check-cert" option to disable SSL
602 certificate checking (which is on by default).
604 * gpgkeys_curl.c (main): Add "debug" option to match the LDAP
605 helper. Add "check-cert" option to disable SSL certificate
606 checking (which is on by default).
608 2005-01-18 David Shaw <dshaw@jabberwocky.com>
610 * gpgkeys_curl.c: Fix typo.
612 2005-01-18 Werner Koch <wk@g10code.com>
614 * gpgkeys_curl.c: s/MAX_PATH/URLMAX_PATH/g to avoid a clash with
615 the W32 defined macro. Removed unneeded initialization of static
617 * gpgkeys_http.c: Ditto.
618 * ksutil.h: s/MAX_PATH/URLMAX_PATH/.
620 2005-01-17 David Shaw <dshaw@jabberwocky.com>
622 * gpgkeys_curl.c (main): Only allow specified protocols to use the
625 * Makefile.am: Use LIBCURL_CPPFLAGS instead of LIBCURL_INCLUDES.
627 2005-01-13 David Shaw <dshaw@jabberwocky.com>
629 * ksutil.h, gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c,
630 gpgkeys_finger.c, gpgkeys_http.c: Part 2 of the cleanup. Move all
631 the various defines to ksutil.h.
633 * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
634 Part 1 of a minor cleanup to use #defines instead of hard-coded
637 * gpgkeys_finger.c (connect_server): Use INADDR_NONE instead of
638 SOCKET_ERROR. Noted by Timo.
640 2005-01-09 David Shaw <dshaw@jabberwocky.com>
642 * gpgkeys_curl.c (get_key): Newer versions of libcurl don't define
645 2004-12-24 David Shaw <dshaw@jabberwocky.com>
647 * gpgkeys_curl.c (main): Use new defines for opting out of certain
648 transfer protocols. Allow setting HTTP proxy via "http-proxy=foo"
649 option (there is natural support in libcurl for the http_proxy
650 environment variable).
652 * Makefile.am: Remove the conditional since this is all handled in
655 2004-12-22 David Shaw <dshaw@jabberwocky.com>
657 * gpgkeys_curl.c (main): New "follow-redirects" option. Takes an
658 optional numeric value for the maximum number of redirects to
659 allow. Defaults to 5.
661 * gpgkeys_curl.c (main), gpgkeys_finger.c (main), gpgkeys_hkp.c
662 (main), gpgkeys_http.c (main), gpgkeys_ldap.c (main): Make sure
663 that a "timeout" option passed with no arguments is properly
666 * gpgkeys_curl.c (get_key, writer): New function to wrap around
667 fwrite to avoid DLL access problem on win32.
669 * gpgkeys_http.c (main, get_key): Properly pass authentication
670 info through to the http library.
672 * Makefile.am: Build gpgkeys_http or gpgkeys_curl as needed.
674 * gpgkeys_curl.c (main, get_key): Minor tweaks to work with either
677 * gpgkeys_ftp.c: renamed to gpgkeys_curl.c.
679 * gpgkeys_ftp.c (main, get_key): Use auth data as passed by gpg.
680 Use CURLOPT_FILE instead of CURLOPT_WRITEDATA (same option, but
681 backwards compatible).
683 2004-12-21 David Shaw <dshaw@jabberwocky.com>
685 * gpgkeys_ftp.c: New.
687 * Makefile.am: Build it if requested.
689 2004-12-14 Werner Koch <wk@g10code.com>
691 * Makefile.am (install-exec-hook, uninstall-hook): Removed. For
692 Windows reasons we can't use the symlink trick.
694 2004-12-03 David Shaw <dshaw@jabberwocky.com>
696 * Makefile.am: The harmless "ignored error" on gpgkeys_ldap
697 install on top of an existing install is bound to confuse people.
698 Use ln -s -f to force the overwrite.
700 2004-10-28 David Shaw <dshaw@jabberwocky.com>
702 * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
704 2004-10-28 Werner Koch <wk@g10code.com>
706 * Makefile.am (other_libs): New. Also include LIBICONV. Noted by
709 2004-10-28 Werner Koch <wk@g10code.com>
711 * Makefile.am (other_libs):
713 2004-10-18 David Shaw <dshaw@jabberwocky.com>
715 * gpgkeys_hkp.c (send_key, get_key, search_key): Use "hkp" instead
716 of "x-hkp" so it can be used as a SRV tag.
718 2004-10-16 David Shaw <dshaw@jabberwocky.com>
720 * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
722 2004-10-15 Werner Koch <wk@g10code.com>
724 * gpgkeys_ldap.c (main, show_help): Kludge to implement standard
725 GNU options. Factored help printing out.
726 * gpgkeys_finger.c (main, show_help): Ditto.
727 * gpgkeys_hkp.c (main, show_help): Ditto.
728 * gpgkeys_http.c (main, show_help): Ditto.
729 * gpgkeys_test.in, gpgkeys_mailto.in: Implement --version and --help.
731 * Makefile.am: Add ksutil.h.
733 2004-10-14 David Shaw <dshaw@jabberwocky.com>
735 * gpgkeys_finger.c (main): We do not support relay fingering
736 (i.e. "finger://relayhost/user@example.com"), but finger URLs are
737 occasionally miswritten that way. Give an error in this case.
739 2004-10-14 Werner Koch <wk@g10code.com>
741 * gpgkeys_finger.c (get_key): s/unsigned char/byte/ due
742 to a strange typedef for RISC OS. Noted by Stefan.
744 2004-10-13 David Shaw <dshaw@jabberwocky.com>
746 * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main), gpgkeys_http.c
747 (main), gpgkeys_finger.c (main): Call timeout functions before
748 performing an action that could block for a long time.
750 * ksutil.h, ksutil.c: New. Right now just contains timeout
753 2004-10-11 David Shaw <dshaw@jabberwocky.com>
755 * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
756 Fix a few occurances of "filename" to `filename'.
758 2004-10-11 Werner Koch <wk@g10code.com>
760 * gpgkeys_finger.c: New.
762 2004-08-27 Stefan Bellon <sbellon@sbellon.de>
764 * gpgkeys_hkp.c (search_key): Fix the prior faulty fix by
765 introducing a cast but leaving skey unsigned.
767 * gpgkeys_hkp.c (search_key): Change type of variable skey from
768 unsigned char* to char* to fix type incompatibility.
770 2004-08-23 David Shaw <dshaw@jabberwocky.com>
772 * gpgkeys_ldap.c (get_key, search_key), gpgkeys_hkp.c (get_key,
773 search_key), gpgkeys_http.c (get_key): Do not give informational
774 logs since this is now done inside gpg.
776 * gpgkeys_hkp.c (dehtmlize): Understand the quote character
777 (i.e. """) in HTML responses.
778 (search_key): Search key must be unsigned for url encoder to work
779 properly for 8-bit values.
781 * gpgkeys_ldap.c (get_key): Factor out informational display into
782 new function build_info().
784 * gpgkeys_ldap.c (build_attrs): Properly terminate user ID strings
785 that got shrunk due to encoding.
787 2004-08-22 David Shaw <dshaw@jabberwocky.com>
789 * gpgkeys_ldap.c (find_basekeyspacedn): Use LDAP_SCOPE_BASE along
790 with a full DN rather than LDAP_SCOPE_ONELEVEL plus a filter to
791 find the pgpServerInfo object. Some LDAP setups don't like the
793 (main): Stop binding to the server since it seems no server really
794 requires it, and some require it not be there.
796 2004-07-29 David Shaw <dshaw@jabberwocky.com>
798 * gpgkeys_ldap.c (main): Add "debug" option. This is only really
799 useful with OpenLDAP, but it's practically vital to debug SSL and
800 TLS setups. Add "basedn" option. This allows users to override
801 the autodetection for base DN. SSL overrides TLS, so TLS will not
802 be started on SSL connections (starting an already started car).
804 2004-07-28 David Shaw <dshaw@jabberwocky.com>
806 * gpgkeys_ldap.c (build_attrs): Add "pgpKeySize" and "pgpSubKeyID"
807 attributes so we can do subkey searches.
809 * gpgkeys_ldap.c (main): Under certain error conditions, we might
810 try and unbind twice. Don't.
812 * gpgkeys_ldap.c (join_two_modlists): New.
813 (send_key): Use new function so we can try a modify operation
814 first, and fail over to an add if that fails. Add cannot cope
815 with the NULLs at the head of the modify request, so we jump into
816 the list in the middle.
818 2004-07-27 David Shaw <dshaw@jabberwocky.com>
820 * gpgkeys_ldap.c (main): Don't try and error out before making a
821 ldaps connection to the NAI keyserver since we cannot tell if it
822 is a NAI keyserver until we connect. Fail if we cannot find a
823 base keyspace DN. Fix a false success message for TLS being
826 2004-07-20 Werner Koch <wk@gnupg.org>
828 * gpgkeys_ldap.c [_WIN32]: Include Windows specific header files.
829 Suggested by Brian Gladman.
831 2004-05-26 David Shaw <dshaw@jabberwocky.com>
833 * gpgkeys_http.c: General polish and removal of leftover stuff
836 2004-05-21 David Shaw <dshaw@jabberwocky.com>
838 * gpgkeys_http.c (get_key): Cosmetic fix - make sure that URLs
839 with no path use a path of "/".
841 * gpgkeys_ldap.c (ldap2epochtime): We can always rely on timegm()
842 being available now, since it's a replacement function.
844 2004-05-20 David Shaw <dshaw@jabberwocky.com>
846 * gpgkeys_http.c: New program to do a simple HTTP file fetch using
847 the keyserver interface.
849 * Makefile.am: Build it.
851 2004-02-28 David Shaw <dshaw@jabberwocky.com>
853 * Makefile.am: Don't split LDADD across two lines since some make
854 programs can't handle blank lines after a \ continuation. Noted
855 by Christoph Moench-Tegeder.
857 2004-02-25 David Shaw <dshaw@jabberwocky.com>
859 * gpgkeys_ldap.c (send_key): List pgpCertID as one of the deleted
860 attributes. This guarantees that if something goes wrong, we
861 won't be able to complete the transaction, thus leaving any key
862 already existing on the server intact.
864 2004-02-23 David Shaw <dshaw@jabberwocky.com>
866 * gpgkeys_ldap.c (delete_one_attr): Removed.
867 (make_one_attr): Delete functionality added. Optional deduping
868 functionality added (currently only used for pgpSignerID).
869 (build_attrs): Translate sig entries into pgpSignerID. Properly
870 build the timestamp for pgpKeyCreateTime and pgpKeyExpireTime.
872 2004-02-22 David Shaw <dshaw@jabberwocky.com>
874 * gpgkeys_ldap.c (delete_one_attr): New function to replace
875 attributes with NULL (a "delete" that works even for nonexistant
877 (send_key): Use it here to remove attributes so a modify operation
878 starts with a clean playing field. Bias sends to modify before
879 add, since (I suspect) people update their existing keys more
880 often than they make and send new keys to the server.
882 2004-02-21 David Shaw <dshaw@jabberwocky.com>
884 * gpgkeys_ldap.c (epoch2ldaptime): New. Converse of
886 (make_one_attr): New. Build a modification list in memory to send
888 (build_attrs): New. Parse INFO lines sent over by gpg.
889 (free_mod_values): New. Unwinds a modification list.
890 (send_key_keyserver): Renamed from old send_key().
891 (send_key): New function to send a key to a LDAP server.
892 (main): Use send_key() for real LDAP servers, send_key_keyserver()
895 2004-02-20 David Shaw <dshaw@jabberwocky.com>
897 * gpgkeys_ldap.c: Replacement prototypes for setenv and unsetenv.
898 (search_key): Catch a SIZELIMIT_EXCEEDED error and show the user
899 whatever the server did give us.
900 (find_basekeyspacedn): There is no guarantee that namingContexts
903 * Makefile.am: Link gpgkeys_ldap with libutil.a to get the
904 replacement functions (and eventually translations, etc).
906 2004-02-19 David Shaw <dshaw@jabberwocky.com>
908 * gpgkeys_ldap.c (ldap2epochtime): LDAP timestamps are UTC, so do
909 not correct for timezones.
910 (main): Find the basekeyspacedn before we try to start TLS, so we
911 can give a better error message when a user tries to use TLS with
914 * Makefile.am: Add automake conditionals to symlink gpgkeys_ldaps
915 to gpgkeys_ldap when needed.
917 * gpgkeys_ldap.c (main): Add support for LDAPS and TLS
918 connections. These are only useful and usable when talking to
919 real LDAP keyservers. Add new "tls" option to tune TLS use from
920 off, to try quietly, to try loudly, or to require TLS.
922 * gpgkeys_ldap.c (find_basekeyspacedn): New function to figure out
923 what kind of LDAP server we're talking to (either real LDAP or the
924 LDAP keyserver), and return the baseKeySpaceDN to find keys under.
925 (main): Call it from here, and remove the old code that only
926 handled the LDAP keyserver.
928 2004-02-18 David Shaw <dshaw@jabberwocky.com>
930 * gpgkeys_ldap.c (ldap_to_gpg_err): Make sure that
931 LDAP_OPT_ERROR_NUMBER is defined before we use it.
933 * gpgkeys_mailto.in: Fix VERSION number.
935 2004-01-13 Werner Koch <wk@gnupg.org>
937 * gpgkeys_hkp.c (send_key): Add a content type.
939 2004-01-11 David Shaw <dshaw@jabberwocky.com>
941 * gpgkeys_hkp.c (search_key): Catch a mangled input file (useful
942 if something other than GnuPG is calling the program).
943 (main): Avoid possible pre-string write. Noted by Christian
946 * gpgkeys_ldap.c (main): Avoid possible pre-string write.
948 2003-12-28 David Shaw <dshaw@jabberwocky.com>
950 * gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code
951 that passes the proxy in from the outside. If the command file
952 sends a proxy, use it. If it sends "http-proxy" with no
953 arguments, use $http_proxy from the environment. Suggested by
956 2003-12-28 Stefan Bellon <sbellon@sbellon.de>
958 * gpgkeys_hkp.c, gpgkeys_ldap.c [__riscos__]: Removal of
959 unnecessary #ifdef __riscos__ sections.
961 2003-11-27 Werner Koch <wk@gnupg.org>
963 * gpgkeys_hkp.c (get_key): Fixed invalid use of fprintf without
966 2003-10-25 Werner Koch <wk@gnupg.org>
968 * Makefile.am (gpgkeys_hkp_LDADD): Replaced INTLLIBS by LIBINTL.
970 2003-07-10 David Shaw <dshaw@jabberwocky.com>
972 * Makefile.am: Use W32LIBS where appropriate.
974 2003-05-30 David Shaw <dshaw@jabberwocky.com>
976 * gpgkeys_hkp.c, gpgkeys_ldap.c: #include <getopt.h> if it is
977 available. Also include extern references for optarg and optind
978 since there is no guarantee that any header file will include
979 them. Standards? We don't need no stinkin' standards.
981 * Makefile.am: Use @GETOPT@ to pull in libiberty on those
982 platforms that need it.
984 2003-04-08 David Shaw <dshaw@jabberwocky.com>
986 * gpgkeys_hkp.c (dehtmlize, parse_hkp_index): Fix memory
987 corruption bug on some platforms.
989 2003-03-11 David Shaw <dshaw@jabberwocky.com>
991 * gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in
993 (main): Accept "try-dns-srv" option.
995 * Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
996 capabilities. Use @SRVLIBS@ to link in the resolver if we are
999 2003-02-11 David Shaw <dshaw@jabberwocky.com>
1001 * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@
1002 so it can be easily overridden at make time.
1004 2003-01-29 David Shaw <dshaw@jabberwocky.com>
1006 * gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is
1007 not a keyid, but rather a text string from the user ID.
1009 2003-01-06 David Shaw <dshaw@jabberwocky.com>
1011 * gpgkeys_hkp.c (get_key): Use options=mr when getting a key so
1012 keyserver doesn't attach the HTML header which we will just have
1015 2002-11-17 David Shaw <dshaw@jabberwocky.com>
1017 * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver
1020 2002-11-14 David Shaw <dshaw@jabberwocky.com>
1022 * gpgkeys_ldap.c (get_key): The deduping code requires
1023 "pgpcertid", but that was not available when running without
1024 verbose on. Noted by Stefan.
1026 2002-11-10 David Shaw <dshaw@jabberwocky.com>
1028 * gpgkeys_ldap.c (get_key): Fix typo in deduping code.
1030 2002-11-05 David Shaw <dshaw@jabberwocky.com>
1032 * gpgkeys_ldap.c (key_in_keylist, add_key_to_keylist,
1033 free_keylist, get_key, search_key): The LDAP keyserver doesn't
1034 remove duplicates, so remove them locally. Do not include the key
1035 modification time in the search response.
1037 2002-11-04 David Shaw <dshaw@jabberwocky.com>
1039 * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key): Properly
1040 handle an input file that does not include any key data at all.
1042 2002-10-24 David Shaw <dshaw@jabberwocky.com>
1044 * gpgkeys_hkp.c (main), gpgkeys_ldap.c (main): Add -V flag to
1045 output protocol and program version.
1047 2002-10-21 David Shaw <dshaw@jabberwocky.com>
1049 * Makefile.am: Anything linking with libutil.a needs INTLLIBS as
1050 well on platforms where INTLLIBS is set.
1052 2002-10-14 David Shaw <dshaw@jabberwocky.com>
1054 * gpgkeys_hkp.c (write_quoted): Use %-encoding instead of
1056 (parse_hkp_index): Use new keyserver key listing format, and add
1057 support for disabled keys via include-disabled.
1059 * gpgkeys_ldap.c (get_key): Don't print keysize unless it's >0.
1060 (printquoted): Use %-encoding instead of \-encoding.
1061 (search_key): Use new keyserver key listing format.
1063 2002-10-08 David Shaw <dshaw@jabberwocky.com>
1065 * gpgkeys_ldap.c (search_key, main): Make sure LDAP values are
1066 freed in case of error.
1068 * gpgkeys_ldap.c (fail_all): New function to unwind a keylist and
1070 (main): Call fail_all from here, as needed. Also add a NO_MEMORY
1071 error in an appropriate place and fix error return code.
1072 (ldap_err_to_gpg_err): Add KEYSERVER_UNREACHABLE.
1074 * gpgkeys_hkp.c (fail_all): New function to unwind a keylist and
1076 (main): Call fail_all from here. Also add a NO_MEMORY error in an
1078 (get_key): Use new UNREACHABLE error for network errors.
1080 2002-09-26 Werner Koch <wk@gnupg.org>
1082 * gpgkeys_ldap.c (send_key): Removed non-constant initializers.
1084 2002-09-24 David Shaw <dshaw@jabberwocky.com>
1086 * gpgkeys_ldap.c (ldap_err_to_gpg_err, ldap_to_gpg_err, send_key,
1087 get_key, search_key, main): Some minor error reporting
1088 enhancements for use with GPA (show reasons for KEY FAILED).
1090 * gpgkeys_hkp.c (send_key, get_key, search_key, main): Some minor
1091 error reporting enhancements for use with GPA (show reasons for
1094 2002-09-20 Werner Koch <wk@gnupg.org>
1096 * gpgkeys_hkp.c (handle_old_hkp_index): s/input/inp/ to avoid
1099 2002-09-19 David Shaw <dshaw@jabberwocky.com>
1101 * gpgkeys_hkp.c (get_key, handle_old_hkp_index, search_key):
1102 Properly handle line truncation.
1104 2002-09-16 David Shaw <dshaw@jabberwocky.com>
1106 * gpgkeys_mailto.in: Add quasi-RFC-2368 mailto:email@addr?from=
1107 syntax so people can set their own email address to respond to.
1109 * gpgkeys_hkp.c (get_key): Properly respond with KEY FAILED (to
1110 gpg) and "key not found" (to user) on failure.
1112 2002-09-13 David Shaw <dshaw@jabberwocky.com>
1114 * gpgkeys_hkp.c: (search_key, handle_old_hkp_index): Try and
1115 request a machine-readable key index. If the server supports
1116 this, pass it through. If the server does not support it, parse
1119 2002-09-12 Stefan Bellon <sbellon@sbellon.de>
1121 * gpgkeys_hkp.c: Tidied up RISC OS initializations.
1123 2002-09-12 David Shaw <dshaw@jabberwocky.com>
1125 * gpgkeys_hkp.c (main): Remove warning - this is no longer
1128 2002-09-09 Werner Koch <wk@gnupg.org>
1130 * gpgkeys_hkp.c (send_key, get_key, search_key): Check return
1132 (dehtmlize): Use ascii_tolower to protect against weird locales.
1133 Cast the argument for isspace for the sake of broken HP/UXes.
1134 (search_key): Check return value of realloc.
1136 2002-09-09 David Shaw <dshaw@jabberwocky.com>
1138 * gpgkeys_ldap.c (get_key): Some compilers (RISC OS, HPUX c89)
1139 don't like using variables as array initializers.
1141 * gpgkeys_hkp.c (send_key): Use CRLF in headers.
1143 2002-08-28 David Shaw <dshaw@jabberwocky.com>
1145 * gpgkeys_hkp.c (parse_hkp_index): Use same types on all
1146 platforms. This was probably leftover from earlier code where the
1149 * gpgkeys_hkp.c: Overall cleanup from iobuf conversion. Be
1150 consistent in m_alloc and malloc usage. Remove include-disabled
1151 (meaningless on HKP). RISC OS tweak.
1153 2002-08-27 David Shaw <dshaw@jabberwocky.com>
1155 * gpgkeys_hkp.c, Makefile.am: Convert over to using iobufs.
1157 * gpgkeys_hkp.c (http_get, http_post): Use CRLF for line endings.
1159 * gpgkeys_hkp.c: Include util.h on RISC OS as per Stefan. Include
1160 a replacement for hstrerror() for those platforms (such as RISC
1161 OS) that don't have it.
1163 2002-08-26 David Shaw <dshaw@jabberwocky.com>
1165 * Makefile.am: May as well include gpgkeys_hkp.c in the
1166 distribution now. It works well enough without proxies, and isn't
1167 built by default. It would be good to get some test experience
1170 * gpgkeys_hkp.c (main): Don't warn about include-subkeys - it
1171 isn't unsupported, it's actually non-meaningful in the context of
1174 * gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Move HTML
1175 functionality into new "dehtmlize" function. Remove HTML before
1176 trying to parse each line from the keyserver. If the keyserver
1177 provides key type information in the listing, use it. (Copy over
1180 2002-08-19 David Shaw <dshaw@jabberwocky.com>
1182 * gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code
1185 * gpgkeys_ldap.c (get_key): Fix cosmetic URL display problem
1186 (extra ":" at the end).
1188 2002-08-03 Stefan Bellon <sbellon@sbellon.de>
1190 * gpgkeys_ldap.c: Tidied up RISC OS initializations.
1192 2002-07-25 David Shaw <dshaw@jabberwocky.com>
1194 * gpgkeys_hkp.c: "Warning" -> "WARNING"
1196 2002-07-24 David Shaw <dshaw@jabberwocky.com>
1198 * Makefile.am: Install keyserver helpers in @GNUPG_LIBEXECDIR@
1200 2002-07-15 David Shaw <dshaw@jabberwocky.com>
1202 * gpgkeys_ldap.c (send_key, get_key, main): Consult the server
1203 version string to determine whether to use pgpKey or pgpKeyV2.
1205 2002-07-09 David Shaw <dshaw@jabberwocky.com>
1207 * gpgkeys_mailto.in: Use new OPAQUE tag for non net-path URIs.
1208 Fail more elegantly if there is no email address to send to. Show
1209 the GnuPG version in the message body.
1211 2002-07-04 David Shaw <dshaw@jabberwocky.com>
1213 * gpgkeys_ldap.c (get_key), gpgkeys_hkp.c (get_key): Display
1214 keyserver URI as a URI, but only if verbose.
1216 2002-07-01 David Shaw <dshaw@jabberwocky.com>
1218 * gpgkeys_hkp.c (parse_hkp_index): Error if the keyserver returns
1219 an unparseable HKP response.
1221 * gpgkeys_hkp.c (main): Warn on honor-http-proxy,
1222 broken-http-proxy, and include-subkeys (not supported yet).
1224 * gpgkeys_ldap.c (main), gpgkeys_hkp.c (http_connect, main): Fix
1225 some shadowing warnings.
1227 2002-06-11 David Shaw <dshaw@jabberwocky.com>
1229 * Makefile.am: Don't hard-code the LDAP libraries - get them from
1230 LDAPLIBS via configure. Also, gpgkeys_hkp is a program, not a
1233 2002-06-10 David Shaw <dshaw@jabberwocky.com>
1235 * gpgkeys_ldap.c (include_subkeys): Default "include-subkeys" to
1236 off, since GnuPG now defaults it to on.
1238 2002-06-06 David Shaw <dshaw@jabberwocky.com>
1240 * gpgkeys_hkp.c (parse_hkp_index): Type tweaks.
1242 * gpgkeys_hkp.c (main): Add experimental code warning.
1244 2002-06-05 David Shaw <dshaw@jabberwocky.com>
1246 * Makefile.am, gpgkeys_hkp.c (new): Experimental HKP keyserver
1249 2002-05-08 David Shaw <dshaw@jabberwocky.com>
1251 * gpgkeys_ldap.c: Include <lber.h> if we absolutely must. This
1252 helps when compiling against a very old OpenLDAP.
1254 2002-04-29 David Shaw <dshaw@jabberwocky.com>
1256 * gpgkeys_mailto.in: Properly handle key requests in full
1259 2002-03-29 David Shaw <dshaw@jabberwocky.com>
1261 * gpgkeys_ldap.c (printquoted): Quote backslashes within keyserver
1264 2002-02-25 David Shaw <dshaw@jabberwocky.com>
1266 * gpgkeys_ldap (get_key): LDAP keyservers do not support v3
1267 fingerprints, so error out if someone tries. Actually, they don't
1268 support any fingerprints, but at least we can calculate a keyid
1269 from a v4 fingerprint.
1271 2002-02-23 David Shaw <dshaw@jabberwocky.com>
1273 * gpgkeys_ldap: Clarify the notion of a partial failure. This is
1274 possible if more than one key is being handled in a batch, and one
1275 fails while the other succeeds. Note that a search that comes up
1276 with no results is not a failure - that is a valid response of "no
1279 * gpgkeys_ldap.c (get_key): Allow GnuPG to send us full v4
1280 fingerprints, long key ids, or short key ids while fetching.
1281 Since the LDAP server doesn't actually handle fingerprints, chop
1282 them down to long key ids for actual use.
1284 * gpgkeys_ldap.c (main, get_key): When searching for a keyid,
1285 search for subkeys as well as primary keys. This is mostly
1286 significant when automatically fetching the key based on the id in
1287 a header (i.e. "signature made by...."). "no-include-subkeys"
1290 2002-02-14 David Shaw <dshaw@jabberwocky.com>
1292 * gpgkeys_ldap.c: Fix compiler warning.
1294 * gpgkeys_ldap.c: Be much more robust with mangled input files.
1296 2001-12-28 David Shaw <dshaw@jabberwocky.com>
1298 * gpgkeys_mailto.in: Use the new OUTOFBAND indicator so gpg knows
1299 not to try and import anything. Also turn on perl -w for
1302 * gpgkeys_ldap.c (main): If we're using temp files (rather than
1303 stdin/stdout), make sure the file is closed when we're done.
1305 2001-12-20 David Shaw <dshaw@jabberwocky.com>
1307 * Properly free the LDAP response when we're done with it.
1309 * Now that we handle multiple keys, we must remove duplicates as
1310 the LDAP keyserver returns keys with multiple user IDs multiple
1313 * Properly handle multiple keys with the same key ID (it's really
1314 rare, so fetch "0xDEADBEEF" to test this).
1316 2001-12-17 David Shaw <dshaw@jabberwocky.com>
1318 * gpgkeys_ldap.c, gpgkeys_mailto.in: Fix GNU capitalization
1319 issues. Prefix log messages with "gpgkeys" to clarify which
1320 program is generating them.
1322 2001-12-14 David Shaw <dshaw@jabberwocky.com>
1324 * gpgkeys_ldap.c (search_key): Use unsigned int rather than uint
1327 2001-12-04 David Shaw <dshaw@jabberwocky.com>
1329 * Initial version of gpgkeys_ldap (LDAP keyserver helper) and
1330 gpgkeys_mailto (email keyserver helper)
1333 Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
1334 2007 Free Software Foundation, Inc.
1336 This file is free software; as a special exception the author gives
1337 unlimited permission to copy and/or distribute it, with or without
1338 modifications, as long as this notice is preserved.
1340 This file is distributed in the hope that it will be useful, but
1341 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1342 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.