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