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