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