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