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