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