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