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