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