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