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