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