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