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