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