b1622c3cea882435217183bc96f4dc94eeeb0c10
[gnupg.git] / keyserver / ChangeLog
1 2009-06-09  David Shaw  <dshaw@jabberwocky.com>
2
3         * Makefile.am (gpgkeys_hkp_LDADD): Need DNSLIBS for the resolver
4         now that we're using SRVs.
5
6 2009-05-27  David Shaw  <dshaw@jabberwocky.com>
7
8         * gpgkeys_hkp.c (srv_replace): Fix build warning.
9
10 2009-05-26  David Shaw  <dshaw@jabberwocky.com>
11
12         * curl-shim.c (curl_slist_append, curl_slist_free_all): New.
13         Simple wrappers around STRLIST to emulate the curl way of doing
14         string lists.
15         (curl_easy_setopt): Handle the curl HTTPHEADER option.
16
17         * gpgkeys_curl.c, gpgkeys_hkp.c (main): Avoid caches to get the
18         most recent copy of the key.  This is bug #1061.
19
20 2009-05-03  David Shaw  <dshaw@jabberwocky.com>
21
22         * gpgkeys_mailto.in: Set 'mail-from' as a keyserver-option, rather
23         than the ugly ?from= syntax.
24
25 2009-04-20  David Shaw  <dshaw@jabberwocky.com>
26
27         * gpgkeys_hkp.c (srv_replace): New function to transform a SRV
28         hostname to a real hostname.
29         (main): Call it from here for the HAVE_LIBCURL case (without
30         libcurl is handled via the curl-shim).
31         
32 2009-04-02  David Shaw  <dshaw@jabberwocky.com>
33
34         * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
35         Add a CURLOPT_SRVTAG_GPG_HACK (passed through the the http
36         engine).
37
38 2009-04-01  David Shaw  <dshaw@jabberwocky.com>
39
40         * gpgkeys_hkp.c (main): Switch default port for SSLized HKP to
41         443 (i.e. the regular https port).
42
43 2009-02-03  David Shaw  <dshaw@jabberwocky.com>
44
45         * gpgkeys_hkp.c (send_key, get_key, get_name, search_key, main):
46         Add support for SSLized HKP.
47
48 2008-11-18  David Shaw  <dshaw@jabberwocky.com>
49
50         * curl-shim.h, gpgkeys_curl.c, gpgkeys_hkp.c (main): Always show
51         curl version (even for curl-shim).
52
53 2008-11-18  Werner Koch  <wk@g10code.com>
54
55         * gpgkeys_curl.c (main): Print curl version according to GNU standards.
56         * gpgkeys_hkp.c (main): Ditto.
57         * curl-shim.h (curl_is_gnupg_curl_shim): New.
58
59 2008-11-18  David Shaw  <dshaw@jabberwocky.com>
60
61         * curl-shim.h (curl_version): No need to provide a version for
62         curl-shim as it always matches the GnuPG version.
63
64         * gpgkeys_curl.c, gpgkeys_hkp.c (main): Show which version of curl
65         we're using as part of --version.
66
67         * gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_hkp.c,
68         gpgkeys_ldap.c (show_help): Document --version.
69
70 2008-04-14  David Shaw  <dshaw@jabberwocky.com>
71
72         * gpgkeys_curl.c (main), gpgkeys_hkp.c (main): Make sure all
73         libcurl number options are passed as long.
74
75         * curl-shim.c (curl_easy_setopt): Minor tweak to match the real
76         curl better - libcurl uses 'long', not 'unsigned int'.
77
78 2008-03-25  Werner Koch  <wk@g10code.com>
79
80         * gpgkeys_ldap.c (build_attrs): Take care of char defaulting to
81         unsigned when using hextobyte.
82
83 2007-12-17  David Shaw  <dshaw@jabberwocky.com>
84
85         * Makefile.am: Fix compile error when libcurl is in a nonstandard
86         location.
87
88 2007-07-28  David Shaw  <dshaw@jabberwocky.com>
89
90         * gpgkeys_ldap.c (main): Fix bug in setting up whether to verify
91         peer SSL cert.  This used to work with older OpenLDAP, but is now
92         more strictly handled.
93
94 2007-07-27  David Shaw  <dshaw@jabberwocky.com>
95
96         * gpgkeys_ldap.c: Fix build warning with mozldap.
97
98         * gpgkeys_ldap.c (search_key, main): Fix bug where searching for
99         foo bar (no quotes) on the command line resulted in searching for
100         "foo\2Abar" due to LDAP quoting.  The proper search is "foo*bar".
101
102 2007-04-16  David Shaw  <dshaw@jabberwocky.com>
103
104         * gpgkeys_hkp.c (main): Show curl or fake-curl version string.
105
106         * Makefile.am: Link with libcompat.a for ascii_str(n)casecmp.
107
108         * gpgkeys_curl.c, gpgkeys_ldap.c, gpgkeys_hkp.c, ksutil.c: Rename
109         all str(n)casecmp to ascii_str(n)casecmp.  We want the
110         locale-independent ones here.
111
112 2007-03-13  David Shaw  <dshaw@jabberwocky.com>
113
114         * gpgkeys_curl.c (main): Use curl_version_info to verify that the
115         protocol we're about to use is actually available.
116
117         * curl-shim.h, curl-shim.c (curl_free): Make into a macro.
118         (curl_version_info): New.  Only advertises "http" for our shim, of
119         course.
120
121 2007-02-10  David Shaw  <dshaw@jabberwocky.com>
122
123         * gpgkeys_ldap.c (send_key): Missing a free().
124
125         * curl-shim.c (curl_easy_perform): Some debugging items that may
126         be handy.
127
128 2007-01-16  David Shaw  <dshaw@jabberwocky.com>
129
130         * curl-shim.h, curl-shim.c, gpgkeys_hkp.c: Rename curl_escape() to
131         curl_easy_escape() to match cURL.
132
133 2007-01-15  David Shaw  <dshaw@jabberwocky.com>
134
135         * gpgkeys_hkp.c (send_key): Allow GPG to send any armored key line
136         length without problems.  Reported by Felix von Leitner.
137
138 2006-12-03  David Shaw  <dshaw@jabberwocky.com>
139
140         * ksutil.c (classify_ks_search): Try and recognize a key ID even
141         without the 0x prefix.  This isn't exact (it's possible that a
142         user ID string happens to be 8 or 16 digits of hex), but it's
143         extremely unlikely.  Plus GPG itself makes the same assumption.
144
145         * gpgkeys_hkp.c (search_key): HKP keyservers like the 0x to be
146         present when searching by keyID.
147
148 2006-11-05  David Shaw  <dshaw@jabberwocky.com>
149
150         * gpgkeys_hkp.c (curl_mrindex_writer): Revert previous change.
151         Key-not-found still has a HTML response.
152
153 2006-10-19  David Shaw  <dshaw@jabberwocky.com>
154
155         * gpgkeys_hkp.c (curl_mrindex_writer): Print a warning if we see
156         HTML coming back from a MR hkp query.
157
158 2006-09-28  David Shaw  <dshaw@jabberwocky.com>
159
160         * Makefile.am: Link gpgkeys_ldap to libcompat.a.
161
162         * gpgkeys_ldap.c, ksutil.h, ksutil.c: Remove hextobyte instead of
163         ks_hextobyte as it is provided by libcompat now.
164
165         * gpgkeys_ldap.c (build_attrs), ksutil.c (ks_toupper,
166         ks_strcasecmp), ksutil.h: Remove the need for strcasecmp as the
167         field tags are always lowercase.
168
169 2006-09-26  Werner Koch  <wk@g10code.com>
170
171         * gpgkeys_finger.c (get_key): Cast away signed/unsigned char ptr
172         mismatches.
173
174         * ksutil.c (ks_hextobyte, ks_toupper, ks_strcasecmp): New.  Use
175         them instead of there ascii_foo counterparts.
176         * gpgkeys_ldap.c (main): Replaced BUG by assert.
177
178         * gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c, ksutil.c:
179         * ksutil.h: Add special license exception for OpenSSL.  This helps
180         to avoid license conflicts if OpenLDAP or cURL is linked against
181         OpenSSL and we would thus indirectly link to OpenSSL.  This is
182         considered a bug fix and forgives all possible violations,
183         pertaining to this issue, possibly occured in the past.
184
185 2006-07-26  David Shaw  <dshaw@jabberwocky.com>
186
187         * Makefile.am: Fix missing include path for gpgkeys_finger (needs
188         the libcurl path, even though it doesn't use libcurl because of
189         ksutil.c:curl_err_to_gpg_err().  Noted by Gilbert Fernandes.
190
191 2006-07-20  David Shaw  <dshaw@jabberwocky.com>
192
193         * curl-shim.c (curl_easy_perform): Minor cleanup of proxy code.
194
195 2006-07-16  David Shaw  <dshaw@jabberwocky.com>
196
197         * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key,
198         send_key_keyserver): Improved version of previous fix.  Force
199         match on spaces in string.
200
201 2006-07-14  David Shaw  <dshaw@jabberwocky.com>
202
203         * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key,
204         send_key_keyserver): Fix string matching problem when the ascii
205         armored form of the key happens to match "KEY" at the beginning of
206         the line.
207
208 2006-07-12  David Shaw  <dshaw@jabberwocky.com>
209
210         * gpgkeys_ldap.c (printquoted), curl-shim.c (curl_escape): Fix bad
211         encoding of characters > 127.  Noted by Nalin Dahyabhai.
212
213 2006-04-26  David Shaw  <dshaw@jabberwocky.com>
214
215         * gpgkeys_http.c, gpgkeys_oldhkp.c: Removed.
216
217         * Makefile.am: Don't build gpgkeys_http or gpgkeys_(old)hkp any
218         longer as this is done via curl or fake-curl.
219
220         * ksutil.h, ksutil.c, gpgkeys_hkp.c, gpgkeys_curl.c: Minor
221         #include tweaks as FAKE_CURL is no longer meaningful.
222
223 2006-04-10  David Shaw  <dshaw@jabberwocky.com>
224
225         * gpgkeys_ldap.c (ldap_quote, get_name, search_key): LDAP-quote
226         directly into place rather than mallocing temporary buffers.
227
228         * gpgkeys_ldap.c (get_name): Build strings with strcat rather than
229         using sprintf which is harder to read and modify.
230
231         * ksutil.h, ksutil.c (classify_ks_search): Add
232         KS_SEARCH_KEYID_SHORT and KS_SEARCH_KEYID_LONG to search for a key
233         ID.
234
235         * gpgkeys_ldap.c (search_key): Use it here to flip from pgpUserID
236         searches to pgpKeyID or pgpCertID.
237
238 2006-03-27  David Shaw  <dshaw@jabberwocky.com>
239
240         * gpgkeys_ldap.c: #define LDAP_DEPRECATED for newer OpenLDAPs so
241         they use the regular old API that is compatible with other LDAP
242         libraries.
243
244 2006-03-03  David Shaw  <dshaw@jabberwocky.com>
245
246         * gpgkeys_ldap.c (main): Fix build problem with non-OpenLDAP LDAP
247         libraries that have TLS.
248
249 2006-02-23  David Shaw  <dshaw@jabberwocky.com>
250
251         * ksutil.c (init_ks_options): Default include-revoked and
252         include-subkeys to on, as gpg isn't doing this any longer.
253
254 2006-02-22  David Shaw  <dshaw@jabberwocky.com>
255
256         * gpgkeys_hkp.c (get_name): A GETNAME query turns exact=on to cut
257         down on odd matches.
258
259 2006-02-21  David Shaw  <dshaw@jabberwocky.com>
260
261         * gpgkeys_ldap.c (make_one_attr, build_attrs, send_key): Don't
262         allow duplicate attributes as OpenLDAP is now enforcing this.
263
264         * gpgkeys_ldap.c (main): Add binddn and bindpw so users can pass
265         credentials to a remote LDAP server.
266
267         * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
268         curl_easy_perform): Mingw has 'stderr' as a macro?
269
270         * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
271         curl_easy_perform): Add CURLOPT_VERBOSE and CURLOPT_STDERR for
272         easier debugging.
273
274 2006-01-16  David Shaw  <dshaw@jabberwocky.com>
275
276         * gpgkeys_hkp.c (send_key): Do not escape the '=' in the HTTP POST
277         when uploading a key.
278
279 2005-12-23  David Shaw  <dshaw@jabberwocky.com>
280
281         * ksutil.h, ksutil.c (parse_ks_options): New keyserver command
282         "getname".
283
284         * gpgkeys_hkp.c (main, get_name), gpgkeys_ldap.c (main, get_name):
285         Use it here to do direct name (rather than key ID) fetches.
286
287 2005-12-19  David Shaw  <dshaw@jabberwocky.com>
288
289         * ksutil.h, ksutil.c (curl_armor_writer, curl_writer,
290         curl_writer_finalize): New functionality to handle binary format
291         keys by armoring them for input to GPG.
292
293         * gpgkeys_curl.c (get_key), gpgkeys_hkp.c (get_key): Call it here.
294
295 2005-12-07  David Shaw  <dshaw@jabberwocky.com>
296
297         * gpgkeys_finger.c (get_key), gpgkeys_curl.c (get_key): Better
298         language for the key-not-found error.
299
300         * ksutil.c (curl_err_to_gpg_err): Add CURLE_OK and
301         CURLE_COULDNT_CONNECT.
302
303         * gpgkeys_curl.c (get_key): Give key-not-found error if no data is
304         found (or file itself is not found) during a fetch.
305
306 2005-12-06  David Shaw  <dshaw@jabberwocky.com>
307
308         * curl-shim.c (curl_easy_perform): Fix build warning (code before
309         declaration).
310
311 2005-11-02  David Shaw  <dshaw@jabberwocky.com>
312
313         * gpgkeys_hkp.c (search_key): Fix warning with typecast (though
314         curl should really have defined that char * as const).
315
316 2005-08-25  David Shaw  <dshaw@jabberwocky.com>
317
318         * ksutil.h, ksutil.c (parse_ks_options): Remove exact-name and
319         exact-email.
320         (classify_ks_search): Mimic the gpg search modes instead with *,
321         =, <, and @.
322
323         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Call
324         them here.  Suggested by Jason Harris.
325
326 2005-08-18  David Shaw  <dshaw@jabberwocky.com>
327
328         * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
329         exact-name.  The last of exact-name and exact-email overrides the
330         earlier.
331
332         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
333         here to do a name-only search.
334
335         * gpgkeys_ldap.c (ldap_quote): \-quote a string for LDAP.
336
337         * gpgkeys_ldap.c (search_key): Use it here to escape reserved
338         characters in searches.
339
340 2005-08-17  David Shaw  <dshaw@jabberwocky.com>
341
342         * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
343         exact-email.
344
345         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
346         here to do an email-only search.
347
348 2005-08-08  David Shaw  <dshaw@jabberwocky.com>
349
350         * Makefile.am: Include LDAP_CPPFLAGS when building LDAP.
351
352 2005-08-03  David Shaw  <dshaw@jabberwocky.com>
353
354         * gpgkeys_hkp.c (main), gpgkeys_curl.c (main), curl-shim.h: Show
355         version of curl (or curl-shim) when debug is set.
356
357 2005-07-20  David Shaw  <dshaw@jabberwocky.com>
358
359         * gpgkeys_curl.c (get_key, main): Don't try and be smart about
360         what protocols we handle.  Directly pass them to curl or fake-curl
361         and see if an error comes back.
362
363         * curl-shim.h, curl-shim.c (handle_error), ksutil.c
364         (curl_err_to_gpg_err): Add support for CURLE_UNSUPPORTED_PROTOCOL
365         in fake curl.
366
367         * Makefile.am: Don't need -DFAKE_CURL any longer since it's in
368         config.h.
369
370 2005-06-23  David Shaw  <dshaw@jabberwocky.com>
371
372         * gpgkeys_mailto.in, gpgkeys_test.in: Use @VERSION@ so version
373         string stays up to date.
374
375         * gpgkeys_http.c: Don't need to define HTTP_PROXY_ENV here since
376         it's in ksutil.h.
377
378         * gpgkeys_curl.c (get_key, main), gpgkeys_hkp.c (main): Pass AUTH
379         values to curl or curl-shim.
380
381         * curl-shim.c (curl_easy_perform), gpgkeys_curl.c (main),
382         gpgkeys_hkp.c (main): Use curl-style proxy semantics.
383
384         * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
385         Add CURLOPT_USERPWD option for HTTP auth.
386
387         * gpgkeys_http.c (get_key), gpgkeys_oldhkp (send_key, get_key,
388         search_key): No longer need to pass a proxyauth.
389
390         * gpgkeys_http.c (get_key): Pass auth outside of the URL.
391
392 2005-06-21  David Shaw  <dshaw@jabberwocky.com>
393
394         * gpgkeys_http.c (get_key), gpgkeys_oldhkp.c (send_key, get_key,
395         search_key): Fix http_open/http_open_document calls to pass NULL
396         for auth and proxyauth since these programs pass them in the URL.
397
398 2005-06-20  David Shaw  <dshaw@jabberwocky.com>
399
400         * gpgkeys_hkp.c (append_path, send_key, get_key, search_key,
401         main), gpgkeys_oldhkp.c (main): Properly handle double slashes in
402         paths.
403
404 2005-06-05  David Shaw  <dshaw@jabberwocky.com>
405
406         * ksutil.c (init_ks_options, parse_ks_options): Provide a default
407         "/" path unless overridden by the config.  Allow config to specify
408         items multiple times and take the last specified item.
409
410 2005-06-04  David Shaw  <dshaw@jabberwocky.com>
411
412         * gpgkeys_hkp.c, gpgkeys_oldhkp.c: Add support for HKP servers
413         that aren't at the root path.  Suggested by Jack Bates.
414
415 2005-06-01  David Shaw  <dshaw@jabberwocky.com>
416
417         * ksutil.c [HAVE_DOSISH_SYSTEM]: Fix warnings on mingw32.  Noted
418         by Joe Vender.
419
420 2005-05-04  David Shaw  <dshaw@jabberwocky.com>
421
422         * ksutil.h, ksutil.c: #ifdef so we can build without libcurl or
423         fake-curl.
424
425 2005-05-03  David Shaw  <dshaw@jabberwocky.com>
426
427         * gpgkeys_http.c: Need GET defined.
428
429 2005-05-01  David Shaw  <dshaw@jabberwocky.com>
430
431         * gpgkeys_hkp.c, gpgkeys_oldhkp.c, ksutil.h: Some minor cleanup
432         and comments as to the size of MAX_LINE and MAX_URL.
433
434 2005-04-16  David Shaw  <dshaw@jabberwocky.com>
435
436         * gpgkeys_hkp.c: New hkp handler that uses curl or curl-shim.
437
438         * Makefile.am: Build new gpgkeys_hkp.
439
440         * curl-shim.c (curl_easy_perform): Cleanup.
441
442         * ksutil.h, ksutil.c (curl_writer), gpgkeys_curl.c (get_key): Pass
443         a context to curl_writer so we can support multiple fetches in a
444         single session.
445
446         * curl-shim.h, curl-shim.c (handle_error, curl_easy_setopt,
447         curl_easy_perform): Add POST functionality to the curl shim.
448
449         * curl-shim.h, curl-shim.c (curl_escape, curl_free): Emulate
450         curl_escape and curl_free.
451
452         * gpgkeys_curl.c (main): If the http-proxy option is given without
453         any arguments, try to get the proxy from the environment.
454
455         * ksutil.h, ksutil.c (curl_err_to_gpg_err, curl_writer): Copy from
456         gpgkeys_curl.c.
457
458         * gpgkeys_oldhkp.c: Copy from gpgkeys_hkp.c.
459
460 2005-03-22  David Shaw  <dshaw@jabberwocky.com>
461
462         * gpgkeys_ldap.c, ksutil.h, ksutil.c (print_nocr): Moved from
463         gpgkeys_ldap.c.  Print a string, but strip out any CRs.
464
465         * gpgkeys_finger.c (get_key), gpgkeys_hkp.c (get_key),
466         gpgkeys_http.c (get_key): Use it here when outputting key material
467         to canonicalize line endings.
468
469 2005-03-19  David Shaw  <dshaw@jabberwocky.com>
470
471         * gpgkeys_ldap.c (main): Fix three wrong calls to fail_all().
472         Noted by Stefan Bellon.
473
474 2005-03-17  David Shaw  <dshaw@jabberwocky.com>
475
476         * ksutil.c (parse_ks_options): Handle verbose=nnn.
477
478         * Makefile.am: Calculate GNUPG_LIBEXECDIR directly.  Do not
479         redefine $libexecdir.
480
481         * gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_ldap.c: Start using
482         parse_ks_options and remove a lot of common code.
483
484         * ksutil.h, ksutil.c (parse_ks_options): Parse OPAQUE, and default
485         debug with no arguments to 1.
486
487 2005-03-16  David Shaw  <dshaw@jabberwocky.com>
488
489         * gpgkeys_ldap.c: Include lber.h if configure determines we need
490         it.
491
492         * ksutil.h, ksutil.c (ks_action_to_string): New.
493         (free_ks_options): Only free if options exist.
494
495         * ksutil.h, ksutil.c (init_ks_options, free_ks_options,
496         parse_ks_options): Pull a lot of duplicated code into a single
497         options parser for all keyserver helpers.
498
499 2005-02-11  David Shaw  <dshaw@jabberwocky.com>
500
501         * curl-shim.c (curl_easy_perform): Fix compile warning.
502
503         * curl-shim.h, gpgkeys_curl.c (main), gpgkeys_ldap.c (main): Add
504         ca-cert-file option, to pass in the SSL cert.
505
506         * curl-shim.h, curl-shim.c: New.  This is code to fake the curl
507         API in terms of the current HTTP iobuf API.
508
509         * gpgkeys_curl.c [FAKE_CURL], Makefile.am: If FAKE_CURL is set,
510         link with the iobuf code rather than libcurl.
511
512 2005-02-05  David Shaw  <dshaw@jabberwocky.com>
513
514         * gpgkeys_finger.c (main), gpgkeys_hkp.c (main): Fix --version
515         output.
516
517         * gpgkeys_curl.c (main): Make sure the curl handle is cleaned up
518         on failure.
519
520 2005-02-01  David Shaw  <dshaw@jabberwocky.com>
521
522         * gpgkeys_hkp.c (get_key), gpgkeys_http.c (get_key): Fix missing
523         http_close() calls.  Noted by Phil Pennock.
524
525         * ksutil.h: Up the default timeout to two minutes.
526
527 2005-01-24  David Shaw  <dshaw@jabberwocky.com>
528
529         * gpgkeys_ldap.c (print_nocr): New.
530         (get_key): Call it here to canonicalize line endings.
531
532         * gpgkeys_curl.c (writer): Discard everything outside the BEGIN
533         and END lines when retrieving keys.  Canonicalize line endings.
534         (main): Accept FTPS.
535
536 2005-01-21  David Shaw  <dshaw@jabberwocky.com>
537
538         * gpgkeys_ldap.c (main): Add "check-cert" option to disable SSL
539         certificate checking (which is on by default).
540
541         * gpgkeys_curl.c (main): Add "debug" option to match the LDAP
542         helper.  Add "check-cert" option to disable SSL certificate
543         checking (which is on by default).
544
545 2005-01-18  David Shaw  <dshaw@jabberwocky.com>
546
547         * gpgkeys_curl.c: Fix typo.
548
549 2005-01-18  Werner Koch  <wk@g10code.com>
550
551         * gpgkeys_curl.c: s/MAX_PATH/URLMAX_PATH/g to avoid a clash with
552         the W32 defined macro.  Removed unneeded initialization of static
553         variables.
554         * gpgkeys_http.c: Ditto.
555         * ksutil.h: s/MAX_PATH/URLMAX_PATH/.
556
557 2005-01-17  David Shaw  <dshaw@jabberwocky.com>
558
559         * gpgkeys_curl.c (main): Only allow specified protocols to use the
560         curl handler.
561
562         * Makefile.am: Use LIBCURL_CPPFLAGS instead of LIBCURL_INCLUDES.
563
564 2005-01-13  David Shaw  <dshaw@jabberwocky.com>
565
566         * ksutil.h, gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c,
567         gpgkeys_finger.c, gpgkeys_http.c: Part 2 of the cleanup.  Move all
568         the various defines to ksutil.h.
569
570         * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
571         Part 1 of a minor cleanup to use #defines instead of hard-coded
572         sizes.
573
574         * gpgkeys_finger.c (connect_server): Use INADDR_NONE instead of
575         SOCKET_ERROR.  Noted by Timo.
576
577 2005-01-09  David Shaw  <dshaw@jabberwocky.com>
578
579         * gpgkeys_curl.c (get_key): Newer versions of libcurl don't define
580         TRUE.
581
582 2004-12-24  David Shaw  <dshaw@jabberwocky.com>
583
584         * gpgkeys_curl.c (main): Use new defines for opting out of certain
585         transfer protocols.  Allow setting HTTP proxy via "http-proxy=foo"
586         option (there is natural support in libcurl for the http_proxy
587         environment variable).
588
589         * Makefile.am: Remove the conditional since this is all handled in
590         autoconf now.
591
592 2004-12-22  David Shaw  <dshaw@jabberwocky.com>
593
594         * gpgkeys_curl.c (main): New "follow-redirects" option.  Takes an
595         optional numeric value for the maximum number of redirects to
596         allow.  Defaults to 5.
597
598         * gpgkeys_curl.c (main), gpgkeys_finger.c (main), gpgkeys_hkp.c
599         (main), gpgkeys_http.c (main), gpgkeys_ldap.c (main): Make sure
600         that a "timeout" option passed with no arguments is properly
601         handled.
602
603         * gpgkeys_curl.c (get_key, writer): New function to wrap around
604         fwrite to avoid DLL access problem on win32.
605
606         * gpgkeys_http.c (main, get_key): Properly pass authentication
607         info through to the http library.
608
609         * Makefile.am: Build gpgkeys_http or gpgkeys_curl as needed.
610
611         * gpgkeys_curl.c (main, get_key): Minor tweaks to work with either
612         FTP or HTTP.
613
614         * gpgkeys_ftp.c: renamed to gpgkeys_curl.c.
615
616         * gpgkeys_ftp.c (main, get_key): Use auth data as passed by gpg.
617         Use CURLOPT_FILE instead of CURLOPT_WRITEDATA (same option, but
618         backwards compatible).
619
620 2004-12-21  David Shaw  <dshaw@jabberwocky.com>
621
622         * gpgkeys_ftp.c: New.
623
624         * Makefile.am: Build it if requested.
625
626 2004-12-14  Werner Koch  <wk@g10code.com>
627
628         * Makefile.am (install-exec-hook, uninstall-hook): Removed.  For
629         Windows reasons we can't use the symlink trick.
630
631 2004-12-03  David Shaw  <dshaw@jabberwocky.com>
632
633         * Makefile.am: The harmless "ignored error" on gpgkeys_ldap
634         install on top of an existing install is bound to confuse people.
635         Use ln -s -f to force the overwrite.
636
637 2004-10-28  David Shaw  <dshaw@jabberwocky.com>
638
639         * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
640
641 2004-10-28  Werner Koch  <wk@g10code.com>
642
643         * Makefile.am (other_libs): New.  Also include LIBICONV.  Noted by
644         Tim Mooney.
645
646 2004-10-28  Werner Koch  <wk@g10code.com>
647
648         * Makefile.am (other_libs): 
649
650 2004-10-18  David Shaw  <dshaw@jabberwocky.com>
651
652         * gpgkeys_hkp.c (send_key, get_key, search_key): Use "hkp" instead
653         of "x-hkp" so it can be used as a SRV tag.
654
655 2004-10-16  David Shaw  <dshaw@jabberwocky.com>
656
657         * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
658
659 2004-10-15  Werner Koch  <wk@g10code.com>
660
661         * gpgkeys_ldap.c (main, show_help): Kludge to implement standard
662         GNU options. Factored help printing out.
663         * gpgkeys_finger.c (main, show_help): Ditto.
664         * gpgkeys_hkp.c (main, show_help): Ditto.
665         * gpgkeys_http.c (main, show_help): Ditto.
666         * gpgkeys_test.in, gpgkeys_mailto.in: Implement --version and --help.
667
668         * Makefile.am: Add ksutil.h.
669
670 2004-10-14  David Shaw  <dshaw@jabberwocky.com>
671
672         * gpgkeys_finger.c (main): We do not support relay fingering
673         (i.e. "finger://relayhost/user@example.com"), but finger URLs are
674         occasionally miswritten that way.  Give an error in this case.
675
676 2004-10-14  Werner Koch  <wk@g10code.com>
677
678         * gpgkeys_finger.c (get_key): s/unsigned char/byte/ due
679         to a strange typedef for RISC OS.  Noted by Stefan.
680
681 2004-10-13  David Shaw  <dshaw@jabberwocky.com>
682
683         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main), gpgkeys_http.c
684         (main), gpgkeys_finger.c (main): Call timeout functions before
685         performing an action that could block for a long time.
686
687         * ksutil.h, ksutil.c: New.  Right now just contains timeout
688         functions.
689
690 2004-10-11  David Shaw  <dshaw@jabberwocky.com>
691
692         * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
693         Fix a few occurances of "filename" to `filename'.
694
695 2004-10-11  Werner Koch  <wk@g10code.com>
696
697         * gpgkeys_finger.c: New.
698
699 2004-08-27  Stefan Bellon  <sbellon@sbellon.de>
700
701         * gpgkeys_hkp.c (search_key): Fix the prior faulty fix by
702         introducing a cast but leaving skey unsigned.
703
704         * gpgkeys_hkp.c (search_key): Change type of variable skey from
705         unsigned char* to char* to fix type incompatibility.
706
707 2004-08-23  David Shaw  <dshaw@jabberwocky.com>
708
709         * gpgkeys_ldap.c (get_key, search_key), gpgkeys_hkp.c (get_key,
710         search_key), gpgkeys_http.c (get_key): Do not give informational
711         logs since this is now done inside gpg.
712
713         * gpgkeys_hkp.c (dehtmlize): Understand the quote character
714         (i.e. "&quot;") in HTML responses.
715         (search_key): Search key must be unsigned for url encoder to work
716         properly for 8-bit values.
717
718         * gpgkeys_ldap.c (get_key): Factor out informational display into
719         new function build_info().
720
721         * gpgkeys_ldap.c (build_attrs): Properly terminate user ID strings
722         that got shrunk due to encoding.
723
724 2004-08-22  David Shaw  <dshaw@jabberwocky.com>
725
726         * gpgkeys_ldap.c (find_basekeyspacedn): Use LDAP_SCOPE_BASE along
727         with a full DN rather than LDAP_SCOPE_ONELEVEL plus a filter to
728         find the pgpServerInfo object.  Some LDAP setups don't like the
729         search.
730         (main): Stop binding to the server since it seems no server really
731         requires it, and some require it not be there.
732
733 2004-07-29  David Shaw  <dshaw@jabberwocky.com>
734
735         * gpgkeys_ldap.c (main): Add "debug" option.  This is only really
736         useful with OpenLDAP, but it's practically vital to debug SSL and
737         TLS setups.  Add "basedn" option.  This allows users to override
738         the autodetection for base DN.  SSL overrides TLS, so TLS will not
739         be started on SSL connections (starting an already started car).
740
741 2004-07-28  David Shaw  <dshaw@jabberwocky.com>
742
743         * gpgkeys_ldap.c (build_attrs): Add "pgpKeySize" and "pgpSubKeyID"
744         attributes so we can do subkey searches.
745
746         * gpgkeys_ldap.c (main): Under certain error conditions, we might
747         try and unbind twice.  Don't.
748
749         * gpgkeys_ldap.c (join_two_modlists): New.
750         (send_key): Use new function so we can try a modify operation
751         first, and fail over to an add if that fails.  Add cannot cope
752         with the NULLs at the head of the modify request, so we jump into
753         the list in the middle.
754
755 2004-07-27  David Shaw  <dshaw@jabberwocky.com>
756
757         * gpgkeys_ldap.c (main): Don't try and error out before making a
758         ldaps connection to the NAI keyserver since we cannot tell if it
759         is a NAI keyserver until we connect.  Fail if we cannot find a
760         base keyspace DN.  Fix a false success message for TLS being
761         enabled.
762
763 2004-07-20  Werner Koch  <wk@gnupg.org>
764
765         * gpgkeys_ldap.c [_WIN32]: Include Windows specific header files.
766         Suggested by Brian Gladman.
767
768 2004-05-26  David Shaw  <dshaw@jabberwocky.com>
769
770         * gpgkeys_http.c: General polish and removal of leftover stuff
771         from gpgkeys_hkp.c.
772
773 2004-05-21  David Shaw  <dshaw@jabberwocky.com>
774
775         * gpgkeys_http.c (get_key): Cosmetic fix - make sure that URLs
776         with no path use a path of "/".
777
778         * gpgkeys_ldap.c (ldap2epochtime): We can always rely on timegm()
779         being available now, since it's a replacement function.
780
781 2004-05-20  David Shaw  <dshaw@jabberwocky.com>
782
783         * gpgkeys_http.c: New program to do a simple HTTP file fetch using
784         the keyserver interface.
785
786         * Makefile.am: Build it.
787
788 2004-02-28  David Shaw  <dshaw@jabberwocky.com>
789
790         * Makefile.am: Don't split LDADD across two lines since some make
791         programs can't handle blank lines after a \ continuation.  Noted
792         by Christoph Moench-Tegeder.
793
794 2004-02-25  David Shaw  <dshaw@jabberwocky.com>
795
796         * gpgkeys_ldap.c (send_key): List pgpCertID as one of the deleted
797         attributes.  This guarantees that if something goes wrong, we
798         won't be able to complete the transaction, thus leaving any key
799         already existing on the server intact.
800
801 2004-02-23  David Shaw  <dshaw@jabberwocky.com>
802
803         * gpgkeys_ldap.c (delete_one_attr): Removed.
804         (make_one_attr): Delete functionality added.  Optional deduping
805         functionality added (currently only used for pgpSignerID).
806         (build_attrs): Translate sig entries into pgpSignerID.  Properly
807         build the timestamp for pgpKeyCreateTime and pgpKeyExpireTime.
808
809 2004-02-22  David Shaw  <dshaw@jabberwocky.com>
810
811         * gpgkeys_ldap.c (delete_one_attr): New function to replace
812         attributes with NULL (a "delete" that works even for nonexistant
813         attributes).
814         (send_key): Use it here to remove attributes so a modify operation
815         starts with a clean playing field.  Bias sends to modify before
816         add, since (I suspect) people update their existing keys more
817         often than they make and send new keys to the server.
818
819 2004-02-21  David Shaw  <dshaw@jabberwocky.com>
820
821         * gpgkeys_ldap.c (epoch2ldaptime): New.  Converse of
822         ldap2epochtime.
823         (make_one_attr): New. Build a modification list in memory to send
824         to the LDAP server.
825         (build_attrs): New. Parse INFO lines sent over by gpg.
826         (free_mod_values): New.  Unwinds a modification list.
827         (send_key_keyserver): Renamed from old send_key().
828         (send_key): New function to send a key to a LDAP server.
829         (main): Use send_key() for real LDAP servers, send_key_keyserver()
830         otherwise.
831
832 2004-02-20  David Shaw  <dshaw@jabberwocky.com>
833
834         * gpgkeys_ldap.c: Replacement prototypes for setenv and unsetenv.
835         (search_key): Catch a SIZELIMIT_EXCEEDED error and show the user
836         whatever the server did give us.
837         (find_basekeyspacedn): There is no guarantee that namingContexts
838         will be readable.
839
840         * Makefile.am: Link gpgkeys_ldap with libutil.a to get the
841         replacement functions (and eventually translations, etc).
842
843 2004-02-19  David Shaw  <dshaw@jabberwocky.com>
844
845         * gpgkeys_ldap.c (ldap2epochtime): LDAP timestamps are UTC, so do
846         not correct for timezones.
847         (main): Find the basekeyspacedn before we try to start TLS, so we
848         can give a better error message when a user tries to use TLS with
849         a LDAP keyserver.
850
851         * Makefile.am: Add automake conditionals to symlink gpgkeys_ldaps
852         to gpgkeys_ldap when needed.
853
854         * gpgkeys_ldap.c (main): Add support for LDAPS and TLS
855         connections.  These are only useful and usable when talking to
856         real LDAP keyservers.  Add new "tls" option to tune TLS use from
857         off, to try quietly, to try loudly, or to require TLS.
858
859         * gpgkeys_ldap.c (find_basekeyspacedn): New function to figure out
860         what kind of LDAP server we're talking to (either real LDAP or the
861         LDAP keyserver), and return the baseKeySpaceDN to find keys under.
862         (main): Call it from here, and remove the old code that only
863         handled the LDAP keyserver.
864
865 2004-02-18  David Shaw  <dshaw@jabberwocky.com>
866
867         * gpgkeys_ldap.c (ldap_to_gpg_err): Make sure that
868         LDAP_OPT_ERROR_NUMBER is defined before we use it.
869
870         * gpgkeys_mailto.in: Fix VERSION number.
871
872 2004-01-13  Werner Koch  <wk@gnupg.org>
873
874         * gpgkeys_hkp.c (send_key): Add a content type.
875
876 2004-01-11  David Shaw  <dshaw@jabberwocky.com>
877
878         * gpgkeys_hkp.c (search_key): Catch a mangled input file (useful
879         if something other than GnuPG is calling the program).
880         (main): Avoid possible pre-string write.  Noted by Christian
881         Biere.
882
883         * gpgkeys_ldap.c (main): Avoid possible pre-string write.
884
885 2003-12-28  David Shaw  <dshaw@jabberwocky.com>
886
887         * gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code
888         that passes the proxy in from the outside.  If the command file
889         sends a proxy, use it.  If it sends "http-proxy" with no
890         arguments, use $http_proxy from the environment.  Suggested by
891         Christian Biere.
892
893 2003-12-28  Stefan Bellon  <sbellon@sbellon.de>
894
895         * gpgkeys_hkp.c, gpgkeys_ldap.c [__riscos__]: Removal of
896         unnecessary #ifdef __riscos__ sections.
897
898 2003-11-27  Werner Koch  <wk@gnupg.org>
899
900         * gpgkeys_hkp.c (get_key): Fixed invalid use of fprintf without
901         format string.
902
903 2003-10-25  Werner Koch  <wk@gnupg.org>
904
905         * Makefile.am (gpgkeys_hkp_LDADD): Replaced INTLLIBS by LIBINTL.
906
907 2003-07-10  David Shaw  <dshaw@jabberwocky.com>
908
909         * Makefile.am: Use W32LIBS where appropriate.
910
911 2003-05-30  David Shaw  <dshaw@jabberwocky.com>
912
913         * gpgkeys_hkp.c, gpgkeys_ldap.c: #include <getopt.h> if it is
914         available.  Also include extern references for optarg and optind
915         since there is no guarantee that any header file will include
916         them.  Standards?  We don't need no stinkin' standards.
917
918         * Makefile.am: Use @GETOPT@ to pull in libiberty on those
919         platforms that need it.
920
921 2003-04-08  David Shaw  <dshaw@jabberwocky.com>
922
923         * gpgkeys_hkp.c (dehtmlize, parse_hkp_index): Fix memory
924         corruption bug on some platforms.
925
926 2003-03-11  David Shaw  <dshaw@jabberwocky.com>
927
928         * gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in
929         the armored key.
930         (main): Accept "try-dns-srv" option.
931
932         * Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
933         capabilities.  Use @SRVLIBS@ to link in the resolver if we are
934         using DNS SRV.
935
936 2003-02-11  David Shaw  <dshaw@jabberwocky.com>
937
938         * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@
939         so it can be easily overridden at make time.
940
941 2003-01-29  David Shaw  <dshaw@jabberwocky.com>
942
943         * gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is
944         not a keyid, but rather a text string from the user ID.
945
946 2003-01-06  David Shaw  <dshaw@jabberwocky.com>
947
948         * gpgkeys_hkp.c (get_key): Use options=mr when getting a key so
949         keyserver doesn't attach the HTML header which we will just have
950         to discard.
951
952 2002-11-17  David Shaw  <dshaw@jabberwocky.com>
953
954         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver
955         protocol version.
956
957 2002-11-14  David Shaw  <dshaw@jabberwocky.com>
958
959         * gpgkeys_ldap.c (get_key): The deduping code requires
960         "pgpcertid", but that was not available when running without
961         verbose on.  Noted by Stefan.
962
963 2002-11-10  David Shaw  <dshaw@jabberwocky.com>
964
965         * gpgkeys_ldap.c (get_key): Fix typo in deduping code.
966
967 2002-11-05  David Shaw  <dshaw@jabberwocky.com>
968
969         * gpgkeys_ldap.c (key_in_keylist, add_key_to_keylist,
970         free_keylist, get_key, search_key): The LDAP keyserver doesn't
971         remove duplicates, so remove them locally.  Do not include the key
972         modification time in the search response.
973
974 2002-11-04  David Shaw  <dshaw@jabberwocky.com>
975
976         * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key): Properly
977         handle an input file that does not include any key data at all.
978
979 2002-10-24  David Shaw  <dshaw@jabberwocky.com>
980
981         * gpgkeys_hkp.c (main), gpgkeys_ldap.c (main): Add -V flag to
982         output protocol and program version.
983
984 2002-10-21  David Shaw  <dshaw@jabberwocky.com>
985
986         * Makefile.am: Anything linking with libutil.a needs INTLLIBS as
987         well on platforms where INTLLIBS is set.
988
989 2002-10-14  David Shaw  <dshaw@jabberwocky.com>
990
991         * gpgkeys_hkp.c (write_quoted): Use %-encoding instead of
992         \-encoding.
993         (parse_hkp_index): Use new keyserver key listing format, and add
994         support for disabled keys via include-disabled.
995
996         * gpgkeys_ldap.c (get_key): Don't print keysize unless it's >0.
997         (printquoted): Use %-encoding instead of \-encoding.
998         (search_key): Use new keyserver key listing format.
999
1000 2002-10-08  David Shaw  <dshaw@jabberwocky.com>
1001
1002         * gpgkeys_ldap.c (search_key, main): Make sure LDAP values are
1003         freed in case of error.
1004
1005         * gpgkeys_ldap.c (fail_all): New function to unwind a keylist and
1006         error each item.
1007         (main): Call fail_all from here, as needed.  Also add a NO_MEMORY
1008         error in an appropriate place and fix error return code.
1009         (ldap_err_to_gpg_err): Add KEYSERVER_UNREACHABLE.
1010
1011         * gpgkeys_hkp.c (fail_all): New function to unwind a keylist and
1012         error each item.
1013         (main): Call fail_all from here.  Also add a NO_MEMORY error in an
1014         appropriate place.
1015         (get_key): Use new UNREACHABLE error for network errors.
1016
1017 2002-09-26  Werner Koch  <wk@gnupg.org>
1018
1019         * gpgkeys_ldap.c (send_key): Removed non-constant initializers.
1020
1021 2002-09-24  David Shaw  <dshaw@jabberwocky.com>
1022
1023         * gpgkeys_ldap.c (ldap_err_to_gpg_err, ldap_to_gpg_err, send_key,
1024         get_key, search_key, main): Some minor error reporting
1025         enhancements for use with GPA (show reasons for KEY FAILED).
1026
1027         * gpgkeys_hkp.c (send_key, get_key, search_key, main): Some minor
1028         error reporting enhancements for use with GPA (show reasons for
1029         KEY FAILED).
1030
1031 2002-09-20  Werner Koch  <wk@gnupg.org>
1032
1033         * gpgkeys_hkp.c (handle_old_hkp_index): s/input/inp/ to avoid
1034         shadowing warning.
1035
1036 2002-09-19  David Shaw  <dshaw@jabberwocky.com>
1037
1038         * gpgkeys_hkp.c (get_key, handle_old_hkp_index, search_key):
1039         Properly handle line truncation.
1040
1041 2002-09-16  David Shaw  <dshaw@jabberwocky.com>
1042
1043         * gpgkeys_mailto.in: Add quasi-RFC-2368 mailto:email@addr?from=
1044         syntax so people can set their own email address to respond to.
1045
1046         * gpgkeys_hkp.c (get_key): Properly respond with KEY FAILED (to
1047         gpg) and "key not found" (to user) on failure.
1048
1049 2002-09-13  David Shaw  <dshaw@jabberwocky.com>
1050
1051         * gpgkeys_hkp.c: (search_key, handle_old_hkp_index): Try and
1052         request a machine-readable key index.  If the server supports
1053         this, pass it through.  If the server does not support it, parse
1054         the "index" page.
1055
1056 2002-09-12  Stefan Bellon  <sbellon@sbellon.de>
1057
1058         * gpgkeys_hkp.c: Tidied up RISC OS initializations.
1059
1060 2002-09-12  David Shaw  <dshaw@jabberwocky.com>
1061
1062         * gpgkeys_hkp.c (main): Remove warning - this is no longer
1063         experimental code.
1064
1065 2002-09-09  Werner Koch  <wk@gnupg.org>
1066
1067         * gpgkeys_hkp.c (send_key, get_key, search_key): Check return
1068         value of malloc.
1069         (dehtmlize): Use ascii_tolower to protect against weird locales.
1070         Cast the argument for isspace for the sake of broken HP/UXes.
1071         (search_key): Check return value of realloc.
1072
1073 2002-09-09  David Shaw  <dshaw@jabberwocky.com>
1074
1075         * gpgkeys_ldap.c (get_key): Some compilers (RISC OS, HPUX c89)
1076         don't like using variables as array initializers.
1077
1078         * gpgkeys_hkp.c (send_key): Use CRLF in headers.
1079
1080 2002-08-28  David Shaw  <dshaw@jabberwocky.com>
1081
1082         * gpgkeys_hkp.c (parse_hkp_index): Use same types on all
1083         platforms.  This was probably leftover from earlier code where the
1084         typing mattered.
1085
1086         * gpgkeys_hkp.c: Overall cleanup from iobuf conversion.  Be
1087         consistent in m_alloc and malloc usage.  Remove include-disabled
1088         (meaningless on HKP).  RISC OS tweak.
1089
1090 2002-08-27  David Shaw  <dshaw@jabberwocky.com>
1091
1092         * gpgkeys_hkp.c, Makefile.am: Convert over to using iobufs.
1093
1094         * gpgkeys_hkp.c (http_get, http_post): Use CRLF for line endings.
1095
1096         * gpgkeys_hkp.c: Include util.h on RISC OS as per Stefan.  Include
1097         a replacement for hstrerror() for those platforms (such as RISC
1098         OS) that don't have it.
1099
1100 2002-08-26  David Shaw  <dshaw@jabberwocky.com>
1101
1102         * Makefile.am: May as well include gpgkeys_hkp.c in the
1103         distribution now.  It works well enough without proxies, and isn't
1104         built by default.  It would be good to get some test experience
1105         with it.
1106
1107         * gpgkeys_hkp.c (main): Don't warn about include-subkeys - it
1108         isn't unsupported, it's actually non-meaningful in the context of
1109         HKP (yet).
1110
1111         * gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Move HTML
1112         functionality into new "dehtmlize" function.  Remove HTML before
1113         trying to parse each line from the keyserver.  If the keyserver
1114         provides key type information in the listing, use it.  (Copy over
1115         from g10/hkp.c).
1116
1117 2002-08-19  David Shaw  <dshaw@jabberwocky.com>
1118
1119         * gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code
1120         from g10/hkp.c.
1121
1122         * gpgkeys_ldap.c (get_key): Fix cosmetic URL display problem
1123         (extra ":" at the end).
1124
1125 2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
1126
1127         * gpgkeys_ldap.c: Tidied up RISC OS initializations.
1128
1129 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
1130
1131         * gpgkeys_hkp.c: "Warning" -> "WARNING"
1132
1133 2002-07-24  David Shaw  <dshaw@jabberwocky.com>
1134
1135         * Makefile.am: Install keyserver helpers in @GNUPG_LIBEXECDIR@
1136
1137 2002-07-15  David Shaw  <dshaw@jabberwocky.com>
1138
1139         * gpgkeys_ldap.c (send_key, get_key, main): Consult the server
1140         version string to determine whether to use pgpKey or pgpKeyV2.
1141
1142 2002-07-09  David Shaw  <dshaw@jabberwocky.com>
1143
1144         * gpgkeys_mailto.in: Use new OPAQUE tag for non net-path URIs.
1145         Fail more elegantly if there is no email address to send to.  Show
1146         the GnuPG version in the message body.
1147
1148 2002-07-04  David Shaw  <dshaw@jabberwocky.com>
1149
1150         * gpgkeys_ldap.c (get_key), gpgkeys_hkp.c (get_key): Display
1151         keyserver URI as a URI, but only if verbose.
1152
1153 2002-07-01  David Shaw  <dshaw@jabberwocky.com>
1154
1155         * gpgkeys_hkp.c (parse_hkp_index): Error if the keyserver returns
1156         an unparseable HKP response.
1157
1158         * gpgkeys_hkp.c (main): Warn on honor-http-proxy,
1159         broken-http-proxy, and include-subkeys (not supported yet).
1160
1161         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (http_connect, main): Fix
1162         some shadowing warnings.
1163
1164 2002-06-11  David Shaw  <dshaw@jabberwocky.com>
1165
1166         * Makefile.am: Don't hard-code the LDAP libraries - get them from
1167         LDAPLIBS via configure.  Also, gpgkeys_hkp is a program, not a
1168         script.
1169
1170 2002-06-10  David Shaw  <dshaw@jabberwocky.com>
1171
1172         * gpgkeys_ldap.c (include_subkeys): Default "include-subkeys" to
1173         off, since GnuPG now defaults it to on.
1174
1175 2002-06-06  David Shaw  <dshaw@jabberwocky.com>
1176
1177         * gpgkeys_hkp.c (parse_hkp_index): Type tweaks.
1178
1179         * gpgkeys_hkp.c (main): Add experimental code warning.
1180
1181 2002-06-05  David Shaw  <dshaw@jabberwocky.com>
1182
1183         * Makefile.am, gpgkeys_hkp.c (new): Experimental HKP keyserver
1184         interface.
1185
1186 2002-05-08  David Shaw  <dshaw@jabberwocky.com>
1187
1188         * gpgkeys_ldap.c: Include <lber.h> if we absolutely must.  This
1189         helps when compiling against a very old OpenLDAP.
1190
1191 2002-04-29  David Shaw  <dshaw@jabberwocky.com>
1192
1193         * gpgkeys_mailto.in: Properly handle key requests in full
1194         fingerprint form.
1195
1196 2002-03-29  David Shaw  <dshaw@jabberwocky.com>
1197
1198         * gpgkeys_ldap.c (printquoted): Quote backslashes within keyserver
1199         search responses.
1200
1201 2002-02-25  David Shaw  <dshaw@jabberwocky.com>
1202
1203         * gpgkeys_ldap (get_key): LDAP keyservers do not support v3
1204         fingerprints, so error out if someone tries.  Actually, they don't
1205         support any fingerprints, but at least we can calculate a keyid
1206         from a v4 fingerprint.
1207
1208 2002-02-23  David Shaw  <dshaw@jabberwocky.com>
1209
1210         * gpgkeys_ldap: Clarify the notion of a partial failure.  This is
1211         possible if more than one key is being handled in a batch, and one
1212         fails while the other succeeds.  Note that a search that comes up
1213         with no results is not a failure - that is a valid response of "no
1214         answer".
1215
1216         * gpgkeys_ldap.c (get_key): Allow GnuPG to send us full v4
1217         fingerprints, long key ids, or short key ids while fetching.
1218         Since the LDAP server doesn't actually handle fingerprints, chop
1219         them down to long key ids for actual use.
1220
1221         * gpgkeys_ldap.c (main, get_key): When searching for a keyid,
1222         search for subkeys as well as primary keys.  This is mostly
1223         significant when automatically fetching the key based on the id in
1224         a header (i.e. "signature made by....").  "no-include-subkeys"
1225         disables.
1226
1227 2002-02-14  David Shaw  <dshaw@jabberwocky.com>
1228
1229         * gpgkeys_ldap.c: Fix compiler warning.
1230
1231         * gpgkeys_ldap.c: Be much more robust with mangled input files.
1232
1233 2001-12-28  David Shaw  <dshaw@jabberwocky.com>
1234
1235         * gpgkeys_mailto.in: Use the new OUTOFBAND indicator so gpg knows
1236         not to try and import anything.  Also turn on perl -w for
1237         warnings.
1238
1239         * gpgkeys_ldap.c (main): If we're using temp files (rather than
1240         stdin/stdout), make sure the file is closed when we're done.
1241
1242 2001-12-20  David Shaw  <dshaw@jabberwocky.com>
1243
1244         * Properly free the LDAP response when we're done with it.
1245
1246         * Now that we handle multiple keys, we must remove duplicates as
1247         the LDAP keyserver returns keys with multiple user IDs multiple
1248         times.
1249
1250         * Properly handle multiple keys with the same key ID (it's really
1251         rare, so fetch "0xDEADBEEF" to test this).
1252
1253 2001-12-17  David Shaw  <dshaw@jabberwocky.com>
1254
1255         * gpgkeys_ldap.c, gpgkeys_mailto.in: Fix GNU capitalization
1256         issues.  Prefix log messages with "gpgkeys" to clarify which
1257         program is generating them.
1258
1259 2001-12-14  David Shaw  <dshaw@jabberwocky.com>
1260
1261         * gpgkeys_ldap.c (search_key): Use unsigned int rather than uint
1262         for portability.
1263
1264 2001-12-04  David Shaw  <dshaw@jabberwocky.com>
1265
1266         * Initial version of gpgkeys_ldap (LDAP keyserver helper) and
1267         gpgkeys_mailto (email keyserver helper)
1268
1269
1270  Copyright 1998, 1999, 2000, 2001, 2002, 2003,
1271            2004 Free Software Foundation, Inc.
1272
1273  This file is free software; as a special exception the author gives
1274  unlimited permission to copy and/or distribute it, with or without
1275  modifications, as long as this notice is preserved.
1276
1277  This file is distributed in the hope that it will be useful, but
1278  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1279  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.