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