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