* gpgkeys_curl.c (main): Use new defines for opting out of certain
[gnupg.git] / keyserver / ChangeLog
1 2004-12-24  David Shaw  <dshaw@jabberwocky.com>
2
3         * gpgkeys_curl.c (main): Use new defines for opting out of certain
4         transfer protocols.  Allow setting HTTP proxy via "http-proxy=foo"
5         option (there is natural support in libcurl for the http_proxy
6         environment variable).
7
8         * Makefile.am: Remove the conditional since this is all handled in
9         autoconf now.
10
11 2004-12-22  David Shaw  <dshaw@jabberwocky.com>
12
13         * gpgkeys_curl.c (main): New "follow-redirects" option.  Takes an
14         optional numeric value for the maximum number of redirects to
15         allow.  Defaults to 5.
16
17         * gpgkeys_curl.c (main), gpgkeys_finger.c (main), gpgkeys_hkp.c
18         (main), gpgkeys_http.c (main), gpgkeys_ldap.c (main): Make sure
19         that a "timeout" option passed with no arguments is properly
20         handled.
21
22         * gpgkeys_curl.c (get_key, writer): New function to wrap around
23         fwrite to avoid DLL access problem on win32.
24
25         * gpgkeys_http.c (main, get_key): Properly pass authentication
26         info through to the http library.
27
28         * Makefile.am: Build gpgkeys_http or gpgkeys_curl as needed.
29
30         * gpgkeys_curl.c (main, get_key): Minor tweaks to work with either
31         FTP or HTTP.
32
33         * gpgkeys_ftp.c: renamed to gpgkeys_curl.c.
34
35         * gpgkeys_ftp.c (main, get_key): Use auth data as passed by gpg.
36         Use CURLOPT_FILE instead of CURLOPT_WRITEDATA (same option, but
37         backwards compatible).
38
39 2004-12-21  David Shaw  <dshaw@jabberwocky.com>
40
41         * gpgkeys_ftp.c: New.
42
43         * Makefile.am: Build it if requested.
44
45 2004-12-14  Werner Koch  <wk@g10code.com>
46
47         * Makefile.am (install-exec-hook, uninstall-hook): Removed.  For
48         Windows reasons we can't use the symlink trick.
49
50 2004-12-03  David Shaw  <dshaw@jabberwocky.com>
51
52         * Makefile.am: The harmless "ignored error" on gpgkeys_ldap
53         install on top of an existing install is bound to confuse people.
54         Use ln -s -f to force the overwrite.
55
56 2004-10-28  David Shaw  <dshaw@jabberwocky.com>
57
58         * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
59
60 2004-10-28  Werner Koch  <wk@g10code.com>
61
62         * Makefile.am (other_libs): New.  Also include LIBICONV.  Noted by
63         Tim Mooney.
64
65 2004-10-28  Werner Koch  <wk@g10code.com>
66
67         * Makefile.am (other_libs): 
68
69 2004-10-18  David Shaw  <dshaw@jabberwocky.com>
70
71         * gpgkeys_hkp.c (send_key, get_key, search_key): Use "hkp" instead
72         of "x-hkp" so it can be used as a SRV tag.
73
74 2004-10-16  David Shaw  <dshaw@jabberwocky.com>
75
76         * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
77
78 2004-10-15  Werner Koch  <wk@g10code.com>
79
80         * gpgkeys_ldap.c (main, show_help): Kludge to implement standard
81         GNU options. Factored help printing out.
82         * gpgkeys_finger.c (main, show_help): Ditto.
83         * gpgkeys_hkp.c (main, show_help): Ditto.
84         * gpgkeys_http.c (main, show_help): Ditto.
85         * gpgkeys_test.in, gpgkeys_mailto.in: Implement --version and --help.
86
87         * Makefile.am: Add ksutil.h.
88
89 2004-10-14  David Shaw  <dshaw@jabberwocky.com>
90
91         * gpgkeys_finger.c (main): We do not support relay fingering
92         (i.e. "finger://relayhost/user@example.com"), but finger URLs are
93         occasionally miswritten that way.  Give an error in this case.
94
95 2004-10-14  Werner Koch  <wk@g10code.com>
96
97         * gpgkeys_finger.c (get_key): s/unsigned char/byte/ due
98         to a strange typedef for RISC OS.  Noted by Stefan.
99
100 2004-10-13  David Shaw  <dshaw@jabberwocky.com>
101
102         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main), gpgkeys_http.c
103         (main), gpgkeys_finger.c (main): Call timeout functions before
104         performing an action that could block for a long time.
105
106         * ksutil.h, ksutil.c: New.  Right now just contains timeout
107         functions.
108
109 2004-10-11  David Shaw  <dshaw@jabberwocky.com>
110
111         * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
112         Fix a few occurances of "filename" to `filename'.
113
114 2004-10-11  Werner Koch  <wk@g10code.com>
115
116         * gpgkeys_finger.c: New.
117
118 2004-08-27  Stefan Bellon  <sbellon@sbellon.de>
119
120         * gpgkeys_hkp.c (search_key): Fix the prior faulty fix by
121         introducing a cast but leaving skey unsigned.
122
123         * gpgkeys_hkp.c (search_key): Change type of variable skey from
124         unsigned char* to char* to fix type incompatibility.
125
126 2004-08-23  David Shaw  <dshaw@jabberwocky.com>
127
128         * gpgkeys_ldap.c (get_key, search_key), gpgkeys_hkp.c (get_key,
129         search_key), gpgkeys_http.c (get_key): Do not give informational
130         logs since this is now done inside gpg.
131
132         * gpgkeys_hkp.c (dehtmlize): Understand the quote character
133         (i.e. "&quot;") in HTML responses.
134         (search_key): Search key must be unsigned for url encoder to work
135         properly for 8-bit values.
136
137         * gpgkeys_ldap.c (get_key): Factor out informational display into
138         new function build_info().
139
140         * gpgkeys_ldap.c (build_attrs): Properly terminate user ID strings
141         that got shrunk due to encoding.
142
143 2004-08-22  David Shaw  <dshaw@jabberwocky.com>
144
145         * gpgkeys_ldap.c (find_basekeyspacedn): Use LDAP_SCOPE_BASE along
146         with a full DN rather than LDAP_SCOPE_ONELEVEL plus a filter to
147         find the pgpServerInfo object.  Some LDAP setups don't like the
148         search.
149         (main): Stop binding to the server since it seems no server really
150         requires it, and some require it not be there.
151
152 2004-07-29  David Shaw  <dshaw@jabberwocky.com>
153
154         * gpgkeys_ldap.c (main): Add "debug" option.  This is only really
155         useful with OpenLDAP, but it's practically vital to debug SSL and
156         TLS setups.  Add "basedn" option.  This allows users to override
157         the autodetection for base DN.  SSL overrides TLS, so TLS will not
158         be started on SSL connections (starting an already started car).
159
160 2004-07-28  David Shaw  <dshaw@jabberwocky.com>
161
162         * gpgkeys_ldap.c (build_attrs): Add "pgpKeySize" and "pgpSubKeyID"
163         attributes so we can do subkey searches.
164
165         * gpgkeys_ldap.c (main): Under certain error conditions, we might
166         try and unbind twice.  Don't.
167
168         * gpgkeys_ldap.c (join_two_modlists): New.
169         (send_key): Use new function so we can try a modify operation
170         first, and fail over to an add if that fails.  Add cannot cope
171         with the NULLs at the head of the modify request, so we jump into
172         the list in the middle.
173
174 2004-07-27  David Shaw  <dshaw@jabberwocky.com>
175
176         * gpgkeys_ldap.c (main): Don't try and error out before making a
177         ldaps connection to the NAI keyserver since we cannot tell if it
178         is a NAI keyserver until we connect.  Fail if we cannot find a
179         base keyspace DN.  Fix a false success message for TLS being
180         enabled.
181
182 2004-07-20  Werner Koch  <wk@gnupg.org>
183
184         * gpgkeys_ldap.c [_WIN32]: Include Windows specific header files.
185         Suggested by Brian Gladman.
186
187 2004-05-26  David Shaw  <dshaw@jabberwocky.com>
188
189         * gpgkeys_http.c: General polish and removal of leftover stuff
190         from gpgkeys_hkp.c.
191
192 2004-05-21  David Shaw  <dshaw@jabberwocky.com>
193
194         * gpgkeys_http.c (get_key): Cosmetic fix - make sure that URLs
195         with no path use a path of "/".
196
197         * gpgkeys_ldap.c (ldap2epochtime): We can always rely on timegm()
198         being available now, since it's a replacement function.
199
200 2004-05-20  David Shaw  <dshaw@jabberwocky.com>
201
202         * gpgkeys_http.c: New program to do a simple HTTP file fetch using
203         the keyserver interface.
204
205         * Makefile.am: Build it.
206
207 2004-02-28  David Shaw  <dshaw@jabberwocky.com>
208
209         * Makefile.am: Don't split LDADD across two lines since some make
210         programs can't handle blank lines after a \ continuation.  Noted
211         by Christoph Moench-Tegeder.
212
213 2004-02-25  David Shaw  <dshaw@jabberwocky.com>
214
215         * gpgkeys_ldap.c (send_key): List pgpCertID as one of the deleted
216         attributes.  This guarantees that if something goes wrong, we
217         won't be able to complete the transaction, thus leaving any key
218         already existing on the server intact.
219
220 2004-02-23  David Shaw  <dshaw@jabberwocky.com>
221
222         * gpgkeys_ldap.c (delete_one_attr): Removed.
223         (make_one_attr): Delete functionality added.  Optional deduping
224         functionality added (currently only used for pgpSignerID).
225         (build_attrs): Translate sig entries into pgpSignerID.  Properly
226         build the timestamp for pgpKeyCreateTime and pgpKeyExpireTime.
227
228 2004-02-22  David Shaw  <dshaw@jabberwocky.com>
229
230         * gpgkeys_ldap.c (delete_one_attr): New function to replace
231         attributes with NULL (a "delete" that works even for nonexistant
232         attributes).
233         (send_key): Use it here to remove attributes so a modify operation
234         starts with a clean playing field.  Bias sends to modify before
235         add, since (I suspect) people update their existing keys more
236         often than they make and send new keys to the server.
237
238 2004-02-21  David Shaw  <dshaw@jabberwocky.com>
239
240         * gpgkeys_ldap.c (epoch2ldaptime): New.  Converse of
241         ldap2epochtime.
242         (make_one_attr): New. Build a modification list in memory to send
243         to the LDAP server.
244         (build_attrs): New. Parse INFO lines sent over by gpg.
245         (free_mod_values): New.  Unwinds a modification list.
246         (send_key_keyserver): Renamed from old send_key().
247         (send_key): New function to send a key to a LDAP server.
248         (main): Use send_key() for real LDAP servers, send_key_keyserver()
249         otherwise.
250
251 2004-02-20  David Shaw  <dshaw@jabberwocky.com>
252
253         * gpgkeys_ldap.c: Replacement prototypes for setenv and unsetenv.
254         (search_key): Catch a SIZELIMIT_EXCEEDED error and show the user
255         whatever the server did give us.
256         (find_basekeyspacedn): There is no guarantee that namingContexts
257         will be readable.
258
259         * Makefile.am: Link gpgkeys_ldap with libutil.a to get the
260         replacement functions (and eventually translations, etc).
261
262 2004-02-19  David Shaw  <dshaw@jabberwocky.com>
263
264         * gpgkeys_ldap.c (ldap2epochtime): LDAP timestamps are UTC, so do
265         not correct for timezones.
266         (main): Find the basekeyspacedn before we try to start TLS, so we
267         can give a better error message when a user tries to use TLS with
268         a LDAP keyserver.
269
270         * Makefile.am: Add automake conditionals to symlink gpgkeys_ldaps
271         to gpgkeys_ldap when needed.
272
273         * gpgkeys_ldap.c (main): Add support for LDAPS and TLS
274         connections.  These are only useful and usable when talking to
275         real LDAP keyservers.  Add new "tls" option to tune TLS use from
276         off, to try quietly, to try loudly, or to require TLS.
277
278         * gpgkeys_ldap.c (find_basekeyspacedn): New function to figure out
279         what kind of LDAP server we're talking to (either real LDAP or the
280         LDAP keyserver), and return the baseKeySpaceDN to find keys under.
281         (main): Call it from here, and remove the old code that only
282         handled the LDAP keyserver.
283
284 2004-02-18  David Shaw  <dshaw@jabberwocky.com>
285
286         * gpgkeys_ldap.c (ldap_to_gpg_err): Make sure that
287         LDAP_OPT_ERROR_NUMBER is defined before we use it.
288
289         * gpgkeys_mailto.in: Fix VERSION number.
290
291 2004-01-13  Werner Koch  <wk@gnupg.org>
292
293         * gpgkeys_hkp.c (send_key): Add a content type.
294
295 2004-01-11  David Shaw  <dshaw@jabberwocky.com>
296
297         * gpgkeys_hkp.c (search_key): Catch a mangled input file (useful
298         if something other than GnuPG is calling the program).
299         (main): Avoid possible pre-string write.  Noted by Christian
300         Biere.
301
302         * gpgkeys_ldap.c (main): Avoid possible pre-string write.
303
304 2003-12-28  David Shaw  <dshaw@jabberwocky.com>
305
306         * gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code
307         that passes the proxy in from the outside.  If the command file
308         sends a proxy, use it.  If it sends "http-proxy" with no
309         arguments, use $http_proxy from the environment.  Suggested by
310         Christian Biere.
311
312 2003-12-28  Stefan Bellon  <sbellon@sbellon.de>
313
314         * gpgkeys_hkp.c, gpgkeys_ldap.c [__riscos__]: Removal of
315         unnecessary #ifdef __riscos__ sections.
316
317 2003-11-27  Werner Koch  <wk@gnupg.org>
318
319         * gpgkeys_hkp.c (get_key): Fixed invalid use of fprintf without
320         format string.
321
322 2003-10-25  Werner Koch  <wk@gnupg.org>
323
324         * Makefile.am (gpgkeys_hkp_LDADD): Replaced INTLLIBS by LIBINTL.
325
326 2003-07-10  David Shaw  <dshaw@jabberwocky.com>
327
328         * Makefile.am: Use W32LIBS where appropriate.
329
330 2003-05-30  David Shaw  <dshaw@jabberwocky.com>
331
332         * gpgkeys_hkp.c, gpgkeys_ldap.c: #include <getopt.h> if it is
333         available.  Also include extern references for optarg and optind
334         since there is no guarantee that any header file will include
335         them.  Standards?  We don't need no stinkin' standards.
336
337         * Makefile.am: Use @GETOPT@ to pull in libiberty on those
338         platforms that need it.
339
340 2003-04-08  David Shaw  <dshaw@jabberwocky.com>
341
342         * gpgkeys_hkp.c (dehtmlize, parse_hkp_index): Fix memory
343         corruption bug on some platforms.
344
345 2003-03-11  David Shaw  <dshaw@jabberwocky.com>
346
347         * gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in
348         the armored key.
349         (main): Accept "try-dns-srv" option.
350
351         * Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
352         capabilities.  Use @SRVLIBS@ to link in the resolver if we are
353         using DNS SRV.
354
355 2003-02-11  David Shaw  <dshaw@jabberwocky.com>
356
357         * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@
358         so it can be easily overridden at make time.
359
360 2003-01-29  David Shaw  <dshaw@jabberwocky.com>
361
362         * gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is
363         not a keyid, but rather a text string from the user ID.
364
365 2003-01-06  David Shaw  <dshaw@jabberwocky.com>
366
367         * gpgkeys_hkp.c (get_key): Use options=mr when getting a key so
368         keyserver doesn't attach the HTML header which we will just have
369         to discard.
370
371 2002-11-17  David Shaw  <dshaw@jabberwocky.com>
372
373         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver
374         protocol version.
375
376 2002-11-14  David Shaw  <dshaw@jabberwocky.com>
377
378         * gpgkeys_ldap.c (get_key): The deduping code requires
379         "pgpcertid", but that was not available when running without
380         verbose on.  Noted by Stefan.
381
382 2002-11-10  David Shaw  <dshaw@jabberwocky.com>
383
384         * gpgkeys_ldap.c (get_key): Fix typo in deduping code.
385
386 2002-11-05  David Shaw  <dshaw@jabberwocky.com>
387
388         * gpgkeys_ldap.c (key_in_keylist, add_key_to_keylist,
389         free_keylist, get_key, search_key): The LDAP keyserver doesn't
390         remove duplicates, so remove them locally.  Do not include the key
391         modification time in the search response.
392
393 2002-11-04  David Shaw  <dshaw@jabberwocky.com>
394
395         * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key): Properly
396         handle an input file that does not include any key data at all.
397
398 2002-10-24  David Shaw  <dshaw@jabberwocky.com>
399
400         * gpgkeys_hkp.c (main), gpgkeys_ldap.c (main): Add -V flag to
401         output protocol and program version.
402
403 2002-10-21  David Shaw  <dshaw@jabberwocky.com>
404
405         * Makefile.am: Anything linking with libutil.a needs INTLLIBS as
406         well on platforms where INTLLIBS is set.
407
408 2002-10-14  David Shaw  <dshaw@jabberwocky.com>
409
410         * gpgkeys_hkp.c (write_quoted): Use %-encoding instead of
411         \-encoding.
412         (parse_hkp_index): Use new keyserver key listing format, and add
413         support for disabled keys via include-disabled.
414
415         * gpgkeys_ldap.c (get_key): Don't print keysize unless it's >0.
416         (printquoted): Use %-encoding instead of \-encoding.
417         (search_key): Use new keyserver key listing format.
418
419 2002-10-08  David Shaw  <dshaw@jabberwocky.com>
420
421         * gpgkeys_ldap.c (search_key, main): Make sure LDAP values are
422         freed in case of error.
423
424         * gpgkeys_ldap.c (fail_all): New function to unwind a keylist and
425         error each item.
426         (main): Call fail_all from here, as needed.  Also add a NO_MEMORY
427         error in an appropriate place and fix error return code.
428         (ldap_err_to_gpg_err): Add KEYSERVER_UNREACHABLE.
429
430         * gpgkeys_hkp.c (fail_all): New function to unwind a keylist and
431         error each item.
432         (main): Call fail_all from here.  Also add a NO_MEMORY error in an
433         appropriate place.
434         (get_key): Use new UNREACHABLE error for network errors.
435
436 2002-09-26  Werner Koch  <wk@gnupg.org>
437
438         * gpgkeys_ldap.c (send_key): Removed non-constant initializers.
439
440 2002-09-24  David Shaw  <dshaw@jabberwocky.com>
441
442         * gpgkeys_ldap.c (ldap_err_to_gpg_err, ldap_to_gpg_err, send_key,
443         get_key, search_key, main): Some minor error reporting
444         enhancements for use with GPA (show reasons for KEY FAILED).
445
446         * gpgkeys_hkp.c (send_key, get_key, search_key, main): Some minor
447         error reporting enhancements for use with GPA (show reasons for
448         KEY FAILED).
449
450 2002-09-20  Werner Koch  <wk@gnupg.org>
451
452         * gpgkeys_hkp.c (handle_old_hkp_index): s/input/inp/ to avoid
453         shadowing warning.
454
455 2002-09-19  David Shaw  <dshaw@jabberwocky.com>
456
457         * gpgkeys_hkp.c (get_key, handle_old_hkp_index, search_key):
458         Properly handle line truncation.
459
460 2002-09-16  David Shaw  <dshaw@jabberwocky.com>
461
462         * gpgkeys_mailto.in: Add quasi-RFC-2368 mailto:email@addr?from=
463         syntax so people can set their own email address to respond to.
464
465         * gpgkeys_hkp.c (get_key): Properly respond with KEY FAILED (to
466         gpg) and "key not found" (to user) on failure.
467
468 2002-09-13  David Shaw  <dshaw@jabberwocky.com>
469
470         * gpgkeys_hkp.c: (search_key, handle_old_hkp_index): Try and
471         request a machine-readable key index.  If the server supports
472         this, pass it through.  If the server does not support it, parse
473         the "index" page.
474
475 2002-09-12  Stefan Bellon  <sbellon@sbellon.de>
476
477         * gpgkeys_hkp.c: Tidied up RISC OS initializations.
478
479 2002-09-12  David Shaw  <dshaw@jabberwocky.com>
480
481         * gpgkeys_hkp.c (main): Remove warning - this is no longer
482         experimental code.
483
484 2002-09-09  Werner Koch  <wk@gnupg.org>
485
486         * gpgkeys_hkp.c (send_key, get_key, search_key): Check return
487         value of malloc.
488         (dehtmlize): Use ascii_tolower to protect against weird locales.
489         Cast the argument for isspace for the sake of broken HP/UXes.
490         (search_key): Check return value of realloc.
491
492 2002-09-09  David Shaw  <dshaw@jabberwocky.com>
493
494         * gpgkeys_ldap.c (get_key): Some compilers (RISC OS, HPUX c89)
495         don't like using variables as array initializers.
496
497         * gpgkeys_hkp.c (send_key): Use CRLF in headers.
498
499 2002-08-28  David Shaw  <dshaw@jabberwocky.com>
500
501         * gpgkeys_hkp.c (parse_hkp_index): Use same types on all
502         platforms.  This was probably leftover from earlier code where the
503         typing mattered.
504
505         * gpgkeys_hkp.c: Overall cleanup from iobuf conversion.  Be
506         consistent in m_alloc and malloc usage.  Remove include-disabled
507         (meaningless on HKP).  RISC OS tweak.
508
509 2002-08-27  David Shaw  <dshaw@jabberwocky.com>
510
511         * gpgkeys_hkp.c, Makefile.am: Convert over to using iobufs.
512
513         * gpgkeys_hkp.c (http_get, http_post): Use CRLF for line endings.
514
515         * gpgkeys_hkp.c: Include util.h on RISC OS as per Stefan.  Include
516         a replacement for hstrerror() for those platforms (such as RISC
517         OS) that don't have it.
518
519 2002-08-26  David Shaw  <dshaw@jabberwocky.com>
520
521         * Makefile.am: May as well include gpgkeys_hkp.c in the
522         distribution now.  It works well enough without proxies, and isn't
523         built by default.  It would be good to get some test experience
524         with it.
525
526         * gpgkeys_hkp.c (main): Don't warn about include-subkeys - it
527         isn't unsupported, it's actually non-meaningful in the context of
528         HKP (yet).
529
530         * gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Move HTML
531         functionality into new "dehtmlize" function.  Remove HTML before
532         trying to parse each line from the keyserver.  If the keyserver
533         provides key type information in the listing, use it.  (Copy over
534         from g10/hkp.c).
535
536 2002-08-19  David Shaw  <dshaw@jabberwocky.com>
537
538         * gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code
539         from g10/hkp.c.
540
541         * gpgkeys_ldap.c (get_key): Fix cosmetic URL display problem
542         (extra ":" at the end).
543
544 2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
545
546         * gpgkeys_ldap.c: Tidied up RISC OS initializations.
547
548 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
549
550         * gpgkeys_hkp.c: "Warning" -> "WARNING"
551
552 2002-07-24  David Shaw  <dshaw@jabberwocky.com>
553
554         * Makefile.am: Install keyserver helpers in @GNUPG_LIBEXECDIR@
555
556 2002-07-15  David Shaw  <dshaw@jabberwocky.com>
557
558         * gpgkeys_ldap.c (send_key, get_key, main): Consult the server
559         version string to determine whether to use pgpKey or pgpKeyV2.
560
561 2002-07-09  David Shaw  <dshaw@jabberwocky.com>
562
563         * gpgkeys_mailto.in: Use new OPAQUE tag for non net-path URIs.
564         Fail more elegantly if there is no email address to send to.  Show
565         the GnuPG version in the message body.
566
567 2002-07-04  David Shaw  <dshaw@jabberwocky.com>
568
569         * gpgkeys_ldap.c (get_key), gpgkeys_hkp.c (get_key): Display
570         keyserver URI as a URI, but only if verbose.
571
572 2002-07-01  David Shaw  <dshaw@jabberwocky.com>
573
574         * gpgkeys_hkp.c (parse_hkp_index): Error if the keyserver returns
575         an unparseable HKP response.
576
577         * gpgkeys_hkp.c (main): Warn on honor-http-proxy,
578         broken-http-proxy, and include-subkeys (not supported yet).
579
580         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (http_connect, main): Fix
581         some shadowing warnings.
582
583 2002-06-11  David Shaw  <dshaw@jabberwocky.com>
584
585         * Makefile.am: Don't hard-code the LDAP libraries - get them from
586         LDAPLIBS via configure.  Also, gpgkeys_hkp is a program, not a
587         script.
588
589 2002-06-10  David Shaw  <dshaw@jabberwocky.com>
590
591         * gpgkeys_ldap.c (include_subkeys): Default "include-subkeys" to
592         off, since GnuPG now defaults it to on.
593
594 2002-06-06  David Shaw  <dshaw@jabberwocky.com>
595
596         * gpgkeys_hkp.c (parse_hkp_index): Type tweaks.
597
598         * gpgkeys_hkp.c (main): Add experimental code warning.
599
600 2002-06-05  David Shaw  <dshaw@jabberwocky.com>
601
602         * Makefile.am, gpgkeys_hkp.c (new): Experimental HKP keyserver
603         interface.
604
605 2002-05-08  David Shaw  <dshaw@jabberwocky.com>
606
607         * gpgkeys_ldap.c: Include <lber.h> if we absolutely must.  This
608         helps when compiling against a very old OpenLDAP.
609
610 2002-04-29  David Shaw  <dshaw@jabberwocky.com>
611
612         * gpgkeys_mailto.in: Properly handle key requests in full
613         fingerprint form.
614
615 2002-03-29  David Shaw  <dshaw@jabberwocky.com>
616
617         * gpgkeys_ldap.c (printquoted): Quote backslashes within keyserver
618         search responses.
619
620 2002-02-25  David Shaw  <dshaw@jabberwocky.com>
621
622         * gpgkeys_ldap (get_key): LDAP keyservers do not support v3
623         fingerprints, so error out if someone tries.  Actually, they don't
624         support any fingerprints, but at least we can calculate a keyid
625         from a v4 fingerprint.
626
627 2002-02-23  David Shaw  <dshaw@jabberwocky.com>
628
629         * gpgkeys_ldap: Clarify the notion of a partial failure.  This is
630         possible if more than one key is being handled in a batch, and one
631         fails while the other succeeds.  Note that a search that comes up
632         with no results is not a failure - that is a valid response of "no
633         answer".
634
635         * gpgkeys_ldap.c (get_key): Allow GnuPG to send us full v4
636         fingerprints, long key ids, or short key ids while fetching.
637         Since the LDAP server doesn't actually handle fingerprints, chop
638         them down to long key ids for actual use.
639
640         * gpgkeys_ldap.c (main, get_key): When searching for a keyid,
641         search for subkeys as well as primary keys.  This is mostly
642         significant when automatically fetching the key based on the id in
643         a header (i.e. "signature made by....").  "no-include-subkeys"
644         disables.
645
646 2002-02-14  David Shaw  <dshaw@jabberwocky.com>
647
648         * gpgkeys_ldap.c: Fix compiler warning.
649
650         * gpgkeys_ldap.c: Be much more robust with mangled input files.
651
652 2001-12-28  David Shaw  <dshaw@jabberwocky.com>
653
654         * gpgkeys_mailto.in: Use the new OUTOFBAND indicator so gpg knows
655         not to try and import anything.  Also turn on perl -w for
656         warnings.
657
658         * gpgkeys_ldap.c (main): If we're using temp files (rather than
659         stdin/stdout), make sure the file is closed when we're done.
660
661 2001-12-20  David Shaw  <dshaw@jabberwocky.com>
662
663         * Properly free the LDAP response when we're done with it.
664
665         * Now that we handle multiple keys, we must remove duplicates as
666         the LDAP keyserver returns keys with multiple user IDs multiple
667         times.
668
669         * Properly handle multiple keys with the same key ID (it's really
670         rare, so fetch "0xDEADBEEF" to test this).
671
672 2001-12-17  David Shaw  <dshaw@jabberwocky.com>
673
674         * gpgkeys_ldap.c, gpgkeys_mailto.in: Fix GNU capitalization
675         issues.  Prefix log messages with "gpgkeys" to clarify which
676         program is generating them.
677
678 2001-12-14  David Shaw  <dshaw@jabberwocky.com>
679
680         * gpgkeys_ldap.c (search_key): Use unsigned int rather than uint
681         for portability.
682
683 2001-12-04  David Shaw  <dshaw@jabberwocky.com>
684
685         * Initial version of gpgkeys_ldap (LDAP keyserver helper) and
686         gpgkeys_mailto (email keyserver helper)
687
688
689  Copyright 1998, 1999, 2000, 2001, 2002, 2003,
690            2004 Free Software Foundation, Inc.
691
692  This file is free software; as a special exception the author gives
693  unlimited permission to copy and/or distribute it, with or without
694  modifications, as long as this notice is preserved.
695
696  This file is distributed in the hope that it will be useful, but
697  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
698  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.