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