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