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