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