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