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