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