* http.h, http.c (send_request): Pass in srvtag and make its presence
[gnupg.git] / keyserver / ChangeLog
1 2009-05-27  David Shaw  <dshaw@jabberwocky.com>
2
3         From 1.4:
4
5         * gpgkeys_hkp.c (srv_replace): New function to transform a SRV
6         hostname to a real hostname.
7         (main): Call it from here for the HAVE_LIBCURL case (without
8         libcurl is handled via the curl-shim).
9
10         * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
11         Add a CURLOPT_SRVTAG_GPG_HACK (passed through the the http
12         engine).
13
14 2009-05-10  David Shaw  <dshaw@jabberwocky.com>
15
16         From 1.4:
17
18         * gpgkeys_hkp.c (send_key, get_key, get_name, search_key, main):
19         Add support for SSLized HKP.
20
21         * curl-shim.h (curl_version): No need to provide a version for
22         curl-shim as it always matches the GnuPG version.
23
24         * gpgkeys_curl.c, gpgkeys_hkp.c (main): Show which version of curl
25         we're using as part of --version.
26
27         * gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_hkp.c,
28         gpgkeys_ldap.c (show_help): Document --version.
29
30 2009-05-04  David Shaw  <dshaw@jabberwocky.com>
31
32         * gpgkeys_mailto.in: Set 'mail-from' as a keyserver-option, rather
33         than the ugly ?from= syntax.
34
35 2009-01-22  Werner Koch  <wk@g10code.com>
36
37         * Makefile.am (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD): Add all
38         standard libs.
39
40 2008-10-20  Werner Koch  <wk@g10code.com>
41
42         * curl-shim.c (curl_global_init): Mark usused arg.
43         (curl_version_info): Ditto.
44
45 2008-08-29  Werner Koch  <wk@g10code.com>
46
47         * gpgkeys_kdns.c: Changed copyright notice to the FSF.
48
49 2008-04-21  Werner Koch  <wk@g10code.com>
50
51         * ksutil.c (w32_init_sockets) [HAVE_W32_SYSTEM]: New.
52         * curl-shim.c (curl_easy_init) [HAVE_W32_SYSTEM]: Call it.
53         * gpgkeys_finger.c: s/_WIN32/HAVE_W32_SYSTEM/.
54         (init_sockets): Remove.
55         (connect_server) [HAVE_W32_SYSTEM]: Call new function.  
56
57 2008-04-14  David Shaw  <dshaw@jabberwocky.com>
58
59         * gpgkeys_curl.c (main), gpgkeys_hkp.c (main): Make sure all
60         libcurl number options are passed as long.
61
62         * curl-shim.c (curl_easy_setopt): Minor tweak to match the real
63         curl better - libcurl uses 'long', not 'unsigned int'.
64
65 2008-04-07  Werner Koch  <wk@g10code.com>
66
67         * gpgkeys_kdns.c: New.
68         * Makefile.am: Support kdns. 
69
70         * no-libgcrypt.c (gcry_strdup): Fix.  It was not used.
71
72 2008-03-25  Werner Koch  <wk@g10code.com>
73
74         * gpgkeys_ldap.c (build_attrs): Take care of char defaulting to
75         unsigned when using hextobyte.
76
77 2007-10-25  David Shaw  <dshaw@jabberwocky.com>  (wk)
78
79         From 1.4 (July):
80         
81         * gpgkeys_ldap.c (main): Fix bug in setting up whether to verify
82         peer SSL cert.  This used to work with older OpenLDAP, but is now
83         more strictly handled.
84
85         * gpgkeys_ldap.c (search_key, main): Fix bug where searching for
86         foo bar (no quotes) on the command line resulted in searching for
87         "foo\2Abar" due to LDAP quoting.  The proper search is "foo*bar".
88
89 2007-06-11  Werner Koch  <wk@g10code.com>
90
91         * gpgkeys_hkp.c (send_key): Rename eof to r_eof as some Windows
92         header defines such a symbol.
93         (main): Likewise.
94
95 2007-06-06  Werner Koch  <wk@g10code.com>
96
97         * gpgkeys_ldap.c (send_key, send_key_keyserver): Rename eof to
98         r_eof as some Windows file has such a symbol.
99         (main): Likewise.
100
101 2007-05-07  Werner Koch  <wk@g10code.com>
102
103         * Makefile.am (gpg2keys_ldap_LDADD): Add GPG_ERROR_LIBS.
104
105 2007-05-04  Werner Koch  <wk@g10code.com>
106
107         * gpgkeys_test.in: Rename to ..
108         * gpg2keys_test.in: .. this.
109         * gpgkeys_mailto.in: Rename to ..
110         * gpg2keys_mailto.in: .. this
111         * Makefile.am: Likewise
112
113 2007-03-13  David Shaw  <dshaw@jabberwocky.com>
114
115         From STABLE-BRANCH-1-4
116
117         * gpgkeys_curl.c (main): Use curl_version_info to verify that the
118         protocol we're about to use is actually available.
119
120         * curl-shim.h, curl-shim.c (curl_free): Make into a macro.
121         (curl_version_info): New.  Only advertises "http" for our shim, of
122         course.
123
124 2007-03-09  David Shaw  <dshaw@jabberwocky.com>
125
126         From STABLE-BRANCH-1-4
127
128         * gpgkeys_ldap.c (send_key): Missing a free().
129
130         * curl-shim.c (curl_easy_perform): Some debugging items that may
131         be handy.
132
133 2006-12-03  David Shaw  <dshaw@jabberwocky.com>
134
135         * gpgkeys_hkp.c (search_key): HKP keyservers like the 0x to be
136         present when searching by keyID.
137
138 2006-11-22  Werner Koch  <wk@g10code.com>
139
140         * Makefile.am (gpg2keys_ldap_LDADD): Add jnlib.  This is needed
141         for some replacement functions.
142
143 2006-11-21  Werner Koch  <wk@g10code.com>
144
145         * curl-shim.c (curl_easy_perform): Made BUFLEN and MAXLNE a size_t.
146
147 2006-11-05  David Shaw  <dshaw@jabberwocky.com>
148
149         * gpgkeys_hkp.c (curl_mrindex_writer): Revert previous change.
150         Key-not-found still has a HTML response.
151
152 2006-10-24  Marcus Brinkmann  <marcus@g10code.de>
153
154         * Makefile.am (gpg2keys_ldap_CPPFLAGS): Rename second instance to ...
155         (gpg2keys_finger_CPPFLAGS): ... this.
156
157 2006-10-20  Werner Koch  <wk@g10code.com>
158
159         * Makefile.am: Reporder macros for better readability.
160         (gpg2keys_finger_LDADD): Add GPG_ERROR_LIBS.
161
162 2006-10-19  David Shaw  <dshaw@jabberwocky.com>
163
164         * gpgkeys_hkp.c (curl_mrindex_writer): Print a warning if we see
165         HTML coming back from a MR hkp query.
166
167 2006-10-17  Werner Koch  <wk@g10code.com>
168
169         * Makefile.am: Removed W32LIBS as they are included in NETLIBS.
170         Removed PTH_LIBS.
171
172 2006-09-26  Werner Koch  <wk@g10code.com>
173
174         * curl-shim.c: Adjusted for changes in http.c.
175         (curl_easy_perform): Changed LINE from unsigned char* to char*.
176
177         * Makefile.am (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD)
178         [FAKE_CURL]: Need to link against common_libs and pth.
179
180         * curl-shim.h, curl-shim.c: Removed license exception as not
181         needed here.
182
183 2006-09-22  Werner Koch  <wk@g10code.com>
184
185         * gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c, curl-shim.c:
186         * curl-shim.h, ksutil.c, ksutil.h: Add special license exception
187         for OpenSSL.  This helps to avoid license conflicts if OpenLDAP or
188         cURL is linked against OpenSSL and we would thus indirectly link
189         to OpenSSL.  This is considered a bug fix and forgives all
190         possible violations, pertaining to this issue, possibly occured in
191         the past.
192         
193         * no-libgcrypt.c: Changed license to a simple all permissive one.
194
195         * Makefile.am (gpg2keys_ldap_LDADD): For license reasons do not
196         link against common_libs.
197         (gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD): Ditto.
198         * ksutil.c (ks_hextobyte, ks_toupper, ks_strcasecmp): New.
199         Identical to the ascii_foo versions from jnlib.
200         * gpgkeys_ldap.c: Include assert.h.
201         (main): Replace BUG by assert.
202         (build_attrs): Use ks_hextobyte and ks_strcasecmp.
203
204         * gpgkeys_finger.c (get_key): Resolved signed/unisgned char
205         mismatch.
206
207 2006-09-19  Werner Koch  <wk@g10code.com>
208         
209         * no-libgcrypt.c: New. Taken from ../tools.
210         * Makefile.am: Add no-libgcrypt to all sources.
211
212 2006-09-06  Marcus Brinkmann  <marcus@g10code.de>
213
214         * Makefile.am (AM_CFLAGS): Add $(GPG_ERROR_CFLAGS).
215
216 2006-08-16  Werner Koch  <wk@g10code.com>
217
218         * Makefile.am: Renamed all binaries to gpg2keys_*.
219         (gpg2keys_ldap_CPPFLAGS): Add AM_CPPFLAGS.
220
221 2006-08-15  Werner Koch  <wk@g10code.com>
222
223         * Makefile.am: Adjusted to the gnupg2 framework.
224
225 2006-08-14  Werner Koch  <wk@g10code.com>
226
227         * curl-shil.c, curl-shim.h: Changed to make use of the new http.c
228         API.
229
230         * curl-shim.c (curl_easy_perform): Add missing http_close to the
231         POST case.
232
233 2006-07-24  David Shaw  <dshaw@jabberwocky.com>  (wk)
234
235         * curl-shim.c (curl_easy_perform): Minor cleanup of proxy code.
236
237         * gpgkeys_hkp.c (send_key)
238         * gpgkeys_ldap.c (send_key, send_key_keyserver): Fix string
239         matching problem when the ascii armored form of the key happens to
240         match "KEY" at the beginning of the line.
241
242 2006-04-26  David Shaw  <dshaw@jabberwocky.com>
243
244         * gpgkeys_http.c, gpgkeys_oldhkp.c: Removed.
245
246         * Makefile.am: Don't build gpgkeys_http or gpgkeys_(old)hkp any
247         longer as this is done via curl or fake-curl.
248
249         * ksutil.h, ksutil.c, gpgkeys_hkp.c, gpgkeys_curl.c: Minor
250         #include tweaks as FAKE_CURL is no longer meaningful.
251
252 2006-04-10  David Shaw  <dshaw@jabberwocky.com>
253
254         * gpgkeys_ldap.c (ldap_quote, get_name, search_key): LDAP-quote
255         directly into place rather than mallocing temporary buffers.
256
257         * gpgkeys_ldap.c (get_name): Build strings with strcat rather than
258         using sprintf which is harder to read and modify.
259
260         * ksutil.h, ksutil.c (classify_ks_search): Add
261         KS_SEARCH_KEYID_SHORT and KS_SEARCH_KEYID_LONG to search for a key
262         ID.
263
264         * gpgkeys_ldap.c (search_key): Use it here to flip from pgpUserID
265         searches to pgpKeyID or pgpCertID.
266
267 2006-03-27  David Shaw  <dshaw@jabberwocky.com>
268
269         * gpgkeys_ldap.c: #define LDAP_DEPRECATED for newer OpenLDAPs so
270         they use the regular old API that is compatible with other LDAP
271         libraries.
272
273 2006-03-03  David Shaw  <dshaw@jabberwocky.com>
274
275         * gpgkeys_ldap.c (main): Fix build problem with non-OpenLDAP LDAP
276         libraries that have TLS.
277
278 2006-02-23  David Shaw  <dshaw@jabberwocky.com>
279
280         * ksutil.c (init_ks_options): Default include-revoked and
281         include-subkeys to on, as gpg isn't doing this any longer.
282
283 2006-02-22  David Shaw  <dshaw@jabberwocky.com>
284
285         * gpgkeys_hkp.c (get_name): A GETNAME query turns exact=on to cut
286         down on odd matches.
287
288 2006-02-21  David Shaw  <dshaw@jabberwocky.com>
289
290         * gpgkeys_ldap.c (make_one_attr, build_attrs, send_key): Don't
291         allow duplicate attributes as OpenLDAP is now enforcing this.
292
293         * gpgkeys_ldap.c (main): Add binddn and bindpw so users can pass
294         credentials to a remote LDAP server.
295
296         * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
297         curl_easy_perform): Mingw has 'stderr' as a macro?
298
299         * curl-shim.h, curl-shim.c (curl_easy_init, curl_easy_setopt,
300         curl_easy_perform): Add CURLOPT_VERBOSE and CURLOPT_STDERR for
301         easier debugging.
302
303 2006-01-16  David Shaw  <dshaw@jabberwocky.com>
304
305         * gpgkeys_hkp.c (send_key): Do not escape the '=' in the HTTP POST
306         when uploading a key.
307
308 2005-12-23  David Shaw  <dshaw@jabberwocky.com>
309
310         * ksutil.h, ksutil.c (parse_ks_options): New keyserver command
311         "getname".
312
313         * gpgkeys_hkp.c (main, get_name), gpgkeys_ldap.c (main, get_name):
314         Use it here to do direct name (rather than key ID) fetches.
315
316 2005-12-19  David Shaw  <dshaw@jabberwocky.com>
317
318         * ksutil.h, ksutil.c (curl_armor_writer, curl_writer,
319         curl_writer_finalize): New functionality to handle binary format
320         keys by armoring them for input to GPG.
321
322         * gpgkeys_curl.c (get_key), gpgkeys_hkp.c (get_key): Call it here.
323
324 2005-12-07  David Shaw  <dshaw@jabberwocky.com>
325
326         * gpgkeys_finger.c (get_key), gpgkeys_curl.c (get_key): Better
327         language for the key-not-found error.
328
329         * ksutil.c (curl_err_to_gpg_err): Add CURLE_OK and
330         CURLE_COULDNT_CONNECT.
331
332         * gpgkeys_curl.c (get_key): Give key-not-found error if no data is
333         found (or file itself is not found) during a fetch.
334
335 2005-12-06  David Shaw  <dshaw@jabberwocky.com>
336
337         * curl-shim.c (curl_easy_perform): Fix build warning (code before
338         declaration).
339
340 2005-11-02  David Shaw  <dshaw@jabberwocky.com>
341
342         * gpgkeys_hkp.c (search_key): Fix warning with typecast (though
343         curl should really have defined that char * as const).
344
345 2005-08-25  David Shaw  <dshaw@jabberwocky.com>
346
347         * ksutil.h, ksutil.c (parse_ks_options): Remove exact-name and
348         exact-email.
349         (classify_ks_search): Mimic the gpg search modes instead with *,
350         =, <, and @.
351
352         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Call
353         them here.  Suggested by Jason Harris.
354
355 2005-08-18  David Shaw  <dshaw@jabberwocky.com>
356
357         * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
358         exact-name.  The last of exact-name and exact-email overrides the
359         earlier.
360
361         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
362         here to do a name-only search.
363
364         * gpgkeys_ldap.c (ldap_quote): \-quote a string for LDAP.
365
366         * gpgkeys_ldap.c (search_key): Use it here to escape reserved
367         characters in searches.
368
369 2005-08-17  David Shaw  <dshaw@jabberwocky.com>
370
371         * ksutil.h, ksutil.c (parse_ks_options): New keyserver-option
372         exact-email.
373
374         * gpgkeys_ldap.c (search_key), gpgkeys_hkp.c (search_key): Use it
375         here to do an email-only search.
376
377 2005-08-08  David Shaw  <dshaw@jabberwocky.com>
378
379         * Makefile.am: Include LDAP_CPPFLAGS when building LDAP.
380
381 2005-08-03  David Shaw  <dshaw@jabberwocky.com>
382
383         * gpgkeys_hkp.c (main), gpgkeys_curl.c (main), curl-shim.h: Show
384         version of curl (or curl-shim) when debug is set.
385
386 2005-07-20  David Shaw  <dshaw@jabberwocky.com>
387
388         * gpgkeys_curl.c (get_key, main): Don't try and be smart about
389         what protocols we handle.  Directly pass them to curl or fake-curl
390         and see if an error comes back.
391
392         * curl-shim.h, curl-shim.c (handle_error), ksutil.c
393         (curl_err_to_gpg_err): Add support for CURLE_UNSUPPORTED_PROTOCOL
394         in fake curl.
395
396         * Makefile.am: Don't need -DFAKE_CURL any longer since it's in
397         config.h.
398
399 2005-06-23  David Shaw  <dshaw@jabberwocky.com>
400
401         * gpgkeys_mailto.in, gpgkeys_test.in: Use @VERSION@ so version
402         string stays up to date.
403
404         * gpgkeys_http.c: Don't need to define HTTP_PROXY_ENV here since
405         it's in ksutil.h.
406
407         * gpgkeys_curl.c (get_key, main), gpgkeys_hkp.c (main): Pass AUTH
408         values to curl or curl-shim.
409
410         * curl-shim.c (curl_easy_perform), gpgkeys_curl.c (main),
411         gpgkeys_hkp.c (main): Use curl-style proxy semantics.
412
413         * curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform):
414         Add CURLOPT_USERPWD option for HTTP auth.
415
416         * gpgkeys_http.c (get_key), gpgkeys_oldhkp (send_key, get_key,
417         search_key): No longer need to pass a proxyauth.
418
419         * gpgkeys_http.c (get_key): Pass auth outside of the URL.
420
421 2005-06-21  David Shaw  <dshaw@jabberwocky.com>
422
423         * gpgkeys_http.c (get_key), gpgkeys_oldhkp.c (send_key, get_key,
424         search_key): Fix http_open/http_open_document calls to pass NULL
425         for auth and proxyauth since these programs pass them in the URL.
426
427 2005-06-20  David Shaw  <dshaw@jabberwocky.com>
428
429         * gpgkeys_hkp.c (append_path, send_key, get_key, search_key,
430         main), gpgkeys_oldhkp.c (main): Properly handle double slashes in
431         paths.
432
433 2005-06-05  David Shaw  <dshaw@jabberwocky.com>
434
435         * ksutil.c (init_ks_options, parse_ks_options): Provide a default
436         "/" path unless overridden by the config.  Allow config to specify
437         items multiple times and take the last specified item.
438
439 2005-06-04  David Shaw  <dshaw@jabberwocky.com>
440
441         * gpgkeys_hkp.c, gpgkeys_oldhkp.c: Add support for HKP servers
442         that aren't at the root path.  Suggested by Jack Bates.
443
444 2005-06-01  David Shaw  <dshaw@jabberwocky.com>
445
446         * ksutil.c [HAVE_DOSISH_SYSTEM]: Fix warnings on mingw32.  Noted
447         by Joe Vender.
448
449 2005-05-04  David Shaw  <dshaw@jabberwocky.com>
450
451         * ksutil.h, ksutil.c: #ifdef so we can build without libcurl or
452         fake-curl.
453
454 2005-05-03  David Shaw  <dshaw@jabberwocky.com>
455
456         * gpgkeys_http.c: Need GET defined.
457
458 2005-05-01  David Shaw  <dshaw@jabberwocky.com>
459
460         * gpgkeys_hkp.c, gpgkeys_oldhkp.c, ksutil.h: Some minor cleanup
461         and comments as to the size of MAX_LINE and MAX_URL.
462
463 2005-04-16  David Shaw  <dshaw@jabberwocky.com>
464
465         * gpgkeys_hkp.c: New hkp handler that uses curl or curl-shim.
466
467         * Makefile.am: Build new gpgkeys_hkp.
468
469         * curl-shim.c (curl_easy_perform): Cleanup.
470
471         * ksutil.h, ksutil.c (curl_writer), gpgkeys_curl.c (get_key): Pass
472         a context to curl_writer so we can support multiple fetches in a
473         single session.
474
475         * curl-shim.h, curl-shim.c (handle_error, curl_easy_setopt,
476         curl_easy_perform): Add POST functionality to the curl shim.
477
478         * curl-shim.h, curl-shim.c (curl_escape, curl_free): Emulate
479         curl_escape and curl_free.
480
481         * gpgkeys_curl.c (main): If the http-proxy option is given without
482         any arguments, try to get the proxy from the environment.
483
484         * ksutil.h, ksutil.c (curl_err_to_gpg_err, curl_writer): Copy from
485         gpgkeys_curl.c.
486
487         * gpgkeys_oldhkp.c: Copy from gpgkeys_hkp.c.
488
489 2005-03-22  David Shaw  <dshaw@jabberwocky.com>
490
491         * gpgkeys_ldap.c, ksutil.h, ksutil.c (print_nocr): Moved from
492         gpgkeys_ldap.c.  Print a string, but strip out any CRs.
493
494         * gpgkeys_finger.c (get_key), gpgkeys_hkp.c (get_key),
495         gpgkeys_http.c (get_key): Use it here when outputting key material
496         to canonicalize line endings.
497
498 2005-03-19  David Shaw  <dshaw@jabberwocky.com>
499
500         * gpgkeys_ldap.c (main): Fix three wrong calls to fail_all().
501         Noted by Stefan Bellon.
502
503 2005-03-17  David Shaw  <dshaw@jabberwocky.com>
504
505         * ksutil.c (parse_ks_options): Handle verbose=nnn.
506
507         * Makefile.am: Calculate GNUPG_LIBEXECDIR directly.  Do not
508         redefine $libexecdir.
509
510         * gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_ldap.c: Start using
511         parse_ks_options and remove a lot of common code.
512
513         * ksutil.h, ksutil.c (parse_ks_options): Parse OPAQUE, and default
514         debug with no arguments to 1.
515
516 2005-03-16  David Shaw  <dshaw@jabberwocky.com>
517
518         * gpgkeys_ldap.c: Include lber.h if configure determines we need
519         it.
520
521         * ksutil.h, ksutil.c (ks_action_to_string): New.
522         (free_ks_options): Only free if options exist.
523
524         * ksutil.h, ksutil.c (init_ks_options, free_ks_options,
525         parse_ks_options): Pull a lot of duplicated code into a single
526         options parser for all keyserver helpers.
527
528 2005-02-11  David Shaw  <dshaw@jabberwocky.com>
529
530         * curl-shim.c (curl_easy_perform): Fix compile warning.
531
532         * curl-shim.h, gpgkeys_curl.c (main), gpgkeys_ldap.c (main): Add
533         ca-cert-file option, to pass in the SSL cert.
534
535         * curl-shim.h, curl-shim.c: New.  This is code to fake the curl
536         API in terms of the current HTTP iobuf API.
537
538         * gpgkeys_curl.c [FAKE_CURL], Makefile.am: If FAKE_CURL is set,
539         link with the iobuf code rather than libcurl.
540
541 2005-02-05  David Shaw  <dshaw@jabberwocky.com>
542
543         * gpgkeys_finger.c (main), gpgkeys_hkp.c (main): Fix --version
544         output.
545
546         * gpgkeys_curl.c (main): Make sure the curl handle is cleaned up
547         on failure.
548
549 2005-02-01  David Shaw  <dshaw@jabberwocky.com>
550
551         * gpgkeys_hkp.c (get_key), gpgkeys_http.c (get_key): Fix missing
552         http_close() calls.  Noted by Phil Pennock.
553
554         * ksutil.h: Up the default timeout to two minutes.
555
556 2005-01-24  David Shaw  <dshaw@jabberwocky.com>
557
558         * gpgkeys_ldap.c (print_nocr): New.
559         (get_key): Call it here to canonicalize line endings.
560
561         * gpgkeys_curl.c (writer): Discard everything outside the BEGIN
562         and END lines when retrieving keys.  Canonicalize line endings.
563         (main): Accept FTPS.
564
565 2005-01-21  David Shaw  <dshaw@jabberwocky.com>
566
567         * gpgkeys_ldap.c (main): Add "check-cert" option to disable SSL
568         certificate checking (which is on by default).
569
570         * gpgkeys_curl.c (main): Add "debug" option to match the LDAP
571         helper.  Add "check-cert" option to disable SSL certificate
572         checking (which is on by default).
573
574 2005-01-18  David Shaw  <dshaw@jabberwocky.com>
575
576         * gpgkeys_curl.c: Fix typo.
577
578 2005-01-18  Werner Koch  <wk@g10code.com>
579
580         * gpgkeys_curl.c: s/MAX_PATH/URLMAX_PATH/g to avoid a clash with
581         the W32 defined macro.  Removed unneeded initialization of static
582         variables.
583         * gpgkeys_http.c: Ditto.
584         * ksutil.h: s/MAX_PATH/URLMAX_PATH/.
585
586 2005-01-17  David Shaw  <dshaw@jabberwocky.com>
587
588         * gpgkeys_curl.c (main): Only allow specified protocols to use the
589         curl handler.
590
591         * Makefile.am: Use LIBCURL_CPPFLAGS instead of LIBCURL_INCLUDES.
592
593 2005-01-13  David Shaw  <dshaw@jabberwocky.com>
594
595         * ksutil.h, gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c,
596         gpgkeys_finger.c, gpgkeys_http.c: Part 2 of the cleanup.  Move all
597         the various defines to ksutil.h.
598
599         * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
600         Part 1 of a minor cleanup to use #defines instead of hard-coded
601         sizes.
602
603         * gpgkeys_finger.c (connect_server): Use INADDR_NONE instead of
604         SOCKET_ERROR.  Noted by Timo.
605
606 2005-01-09  David Shaw  <dshaw@jabberwocky.com>
607
608         * gpgkeys_curl.c (get_key): Newer versions of libcurl don't define
609         TRUE.
610
611 2004-12-24  David Shaw  <dshaw@jabberwocky.com>
612
613         * gpgkeys_curl.c (main): Use new defines for opting out of certain
614         transfer protocols.  Allow setting HTTP proxy via "http-proxy=foo"
615         option (there is natural support in libcurl for the http_proxy
616         environment variable).
617
618         * Makefile.am: Remove the conditional since this is all handled in
619         autoconf now.
620
621 2004-12-22  David Shaw  <dshaw@jabberwocky.com>
622
623         * gpgkeys_curl.c (main): New "follow-redirects" option.  Takes an
624         optional numeric value for the maximum number of redirects to
625         allow.  Defaults to 5.
626
627         * gpgkeys_curl.c (main), gpgkeys_finger.c (main), gpgkeys_hkp.c
628         (main), gpgkeys_http.c (main), gpgkeys_ldap.c (main): Make sure
629         that a "timeout" option passed with no arguments is properly
630         handled.
631
632         * gpgkeys_curl.c (get_key, writer): New function to wrap around
633         fwrite to avoid DLL access problem on win32.
634
635         * gpgkeys_http.c (main, get_key): Properly pass authentication
636         info through to the http library.
637
638         * Makefile.am: Build gpgkeys_http or gpgkeys_curl as needed.
639
640         * gpgkeys_curl.c (main, get_key): Minor tweaks to work with either
641         FTP or HTTP.
642
643         * gpgkeys_ftp.c: renamed to gpgkeys_curl.c.
644
645         * gpgkeys_ftp.c (main, get_key): Use auth data as passed by gpg.
646         Use CURLOPT_FILE instead of CURLOPT_WRITEDATA (same option, but
647         backwards compatible).
648
649 2004-12-21  David Shaw  <dshaw@jabberwocky.com>
650
651         * gpgkeys_ftp.c: New.
652
653         * Makefile.am: Build it if requested.
654
655 2004-12-14  Werner Koch  <wk@g10code.com>
656
657         * Makefile.am (install-exec-hook, uninstall-hook): Removed.  For
658         Windows reasons we can't use the symlink trick.
659
660 2004-12-03  David Shaw  <dshaw@jabberwocky.com>
661
662         * Makefile.am: The harmless "ignored error" on gpgkeys_ldap
663         install on top of an existing install is bound to confuse people.
664         Use ln -s -f to force the overwrite.
665
666 2004-10-28  David Shaw  <dshaw@jabberwocky.com>
667
668         * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
669
670 2004-10-28  Werner Koch  <wk@g10code.com>
671
672         * Makefile.am (other_libs): New.  Also include LIBICONV.  Noted by
673         Tim Mooney.
674
675 2004-10-28  Werner Koch  <wk@g10code.com>
676
677         * Makefile.am (other_libs): 
678
679 2004-10-18  David Shaw  <dshaw@jabberwocky.com>
680
681         * gpgkeys_hkp.c (send_key, get_key, search_key): Use "hkp" instead
682         of "x-hkp" so it can be used as a SRV tag.
683
684 2004-10-16  David Shaw  <dshaw@jabberwocky.com>
685
686         * gpgkeys_finger.c [_WIN32] (connect_server): Fix typo.
687
688 2004-10-15  Werner Koch  <wk@g10code.com>
689
690         * gpgkeys_ldap.c (main, show_help): Kludge to implement standard
691         GNU options. Factored help printing out.
692         * gpgkeys_finger.c (main, show_help): Ditto.
693         * gpgkeys_hkp.c (main, show_help): Ditto.
694         * gpgkeys_http.c (main, show_help): Ditto.
695         * gpgkeys_test.in, gpgkeys_mailto.in: Implement --version and --help.
696
697         * Makefile.am: Add ksutil.h.
698
699 2004-10-14  David Shaw  <dshaw@jabberwocky.com>
700
701         * gpgkeys_finger.c (main): We do not support relay fingering
702         (i.e. "finger://relayhost/user@example.com"), but finger URLs are
703         occasionally miswritten that way.  Give an error in this case.
704
705 2004-10-14  Werner Koch  <wk@g10code.com>
706
707         * gpgkeys_finger.c (get_key): s/unsigned char/byte/ due
708         to a strange typedef for RISC OS.  Noted by Stefan.
709
710 2004-10-13  David Shaw  <dshaw@jabberwocky.com>
711
712         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main), gpgkeys_http.c
713         (main), gpgkeys_finger.c (main): Call timeout functions before
714         performing an action that could block for a long time.
715
716         * ksutil.h, ksutil.c: New.  Right now just contains timeout
717         functions.
718
719 2004-10-11  David Shaw  <dshaw@jabberwocky.com>
720
721         * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
722         Fix a few occurances of "filename" to `filename'.
723
724 2004-10-11  Werner Koch  <wk@g10code.com>
725
726         * gpgkeys_finger.c: New.
727
728 2004-08-27  Stefan Bellon  <sbellon@sbellon.de>
729
730         * gpgkeys_hkp.c (search_key): Fix the prior faulty fix by
731         introducing a cast but leaving skey unsigned.
732
733         * gpgkeys_hkp.c (search_key): Change type of variable skey from
734         unsigned char* to char* to fix type incompatibility.
735
736 2004-08-23  David Shaw  <dshaw@jabberwocky.com>
737
738         * gpgkeys_ldap.c (get_key, search_key), gpgkeys_hkp.c (get_key,
739         search_key), gpgkeys_http.c (get_key): Do not give informational
740         logs since this is now done inside gpg.
741
742         * gpgkeys_hkp.c (dehtmlize): Understand the quote character
743         (i.e. "&quot;") in HTML responses.
744         (search_key): Search key must be unsigned for url encoder to work
745         properly for 8-bit values.
746
747         * gpgkeys_ldap.c (get_key): Factor out informational display into
748         new function build_info().
749
750         * gpgkeys_ldap.c (build_attrs): Properly terminate user ID strings
751         that got shrunk due to encoding.
752
753 2004-08-22  David Shaw  <dshaw@jabberwocky.com>
754
755         * gpgkeys_ldap.c (find_basekeyspacedn): Use LDAP_SCOPE_BASE along
756         with a full DN rather than LDAP_SCOPE_ONELEVEL plus a filter to
757         find the pgpServerInfo object.  Some LDAP setups don't like the
758         search.
759         (main): Stop binding to the server since it seems no server really
760         requires it, and some require it not be there.
761
762 2004-07-29  David Shaw  <dshaw@jabberwocky.com>
763
764         * gpgkeys_ldap.c (main): Add "debug" option.  This is only really
765         useful with OpenLDAP, but it's practically vital to debug SSL and
766         TLS setups.  Add "basedn" option.  This allows users to override
767         the autodetection for base DN.  SSL overrides TLS, so TLS will not
768         be started on SSL connections (starting an already started car).
769
770 2004-07-28  David Shaw  <dshaw@jabberwocky.com>
771
772         * gpgkeys_ldap.c (build_attrs): Add "pgpKeySize" and "pgpSubKeyID"
773         attributes so we can do subkey searches.
774
775         * gpgkeys_ldap.c (main): Under certain error conditions, we might
776         try and unbind twice.  Don't.
777
778         * gpgkeys_ldap.c (join_two_modlists): New.
779         (send_key): Use new function so we can try a modify operation
780         first, and fail over to an add if that fails.  Add cannot cope
781         with the NULLs at the head of the modify request, so we jump into
782         the list in the middle.
783
784 2004-07-27  David Shaw  <dshaw@jabberwocky.com>
785
786         * gpgkeys_ldap.c (main): Don't try and error out before making a
787         ldaps connection to the NAI keyserver since we cannot tell if it
788         is a NAI keyserver until we connect.  Fail if we cannot find a
789         base keyspace DN.  Fix a false success message for TLS being
790         enabled.
791
792 2004-07-20  Werner Koch  <wk@gnupg.org>
793
794         * gpgkeys_ldap.c [_WIN32]: Include Windows specific header files.
795         Suggested by Brian Gladman.
796
797 2004-05-26  David Shaw  <dshaw@jabberwocky.com>
798
799         * gpgkeys_http.c: General polish and removal of leftover stuff
800         from gpgkeys_hkp.c.
801
802 2004-05-21  David Shaw  <dshaw@jabberwocky.com>
803
804         * gpgkeys_http.c (get_key): Cosmetic fix - make sure that URLs
805         with no path use a path of "/".
806
807         * gpgkeys_ldap.c (ldap2epochtime): We can always rely on timegm()
808         being available now, since it's a replacement function.
809
810 2004-05-20  David Shaw  <dshaw@jabberwocky.com>
811
812         * gpgkeys_http.c: New program to do a simple HTTP file fetch using
813         the keyserver interface.
814
815         * Makefile.am: Build it.
816
817 2004-02-28  David Shaw  <dshaw@jabberwocky.com>
818
819         * Makefile.am: Don't split LDADD across two lines since some make
820         programs can't handle blank lines after a \ continuation.  Noted
821         by Christoph Moench-Tegeder.
822
823 2004-02-25  David Shaw  <dshaw@jabberwocky.com>
824
825         * gpgkeys_ldap.c (send_key): List pgpCertID as one of the deleted
826         attributes.  This guarantees that if something goes wrong, we
827         won't be able to complete the transaction, thus leaving any key
828         already existing on the server intact.
829
830 2004-02-23  David Shaw  <dshaw@jabberwocky.com>
831
832         * gpgkeys_ldap.c (delete_one_attr): Removed.
833         (make_one_attr): Delete functionality added.  Optional deduping
834         functionality added (currently only used for pgpSignerID).
835         (build_attrs): Translate sig entries into pgpSignerID.  Properly
836         build the timestamp for pgpKeyCreateTime and pgpKeyExpireTime.
837
838 2004-02-22  David Shaw  <dshaw@jabberwocky.com>
839
840         * gpgkeys_ldap.c (delete_one_attr): New function to replace
841         attributes with NULL (a "delete" that works even for nonexistant
842         attributes).
843         (send_key): Use it here to remove attributes so a modify operation
844         starts with a clean playing field.  Bias sends to modify before
845         add, since (I suspect) people update their existing keys more
846         often than they make and send new keys to the server.
847
848 2004-02-21  David Shaw  <dshaw@jabberwocky.com>
849
850         * gpgkeys_ldap.c (epoch2ldaptime): New.  Converse of
851         ldap2epochtime.
852         (make_one_attr): New. Build a modification list in memory to send
853         to the LDAP server.
854         (build_attrs): New. Parse INFO lines sent over by gpg.
855         (free_mod_values): New.  Unwinds a modification list.
856         (send_key_keyserver): Renamed from old send_key().
857         (send_key): New function to send a key to a LDAP server.
858         (main): Use send_key() for real LDAP servers, send_key_keyserver()
859         otherwise.
860
861 2004-02-20  David Shaw  <dshaw@jabberwocky.com>
862
863         * gpgkeys_ldap.c: Replacement prototypes for setenv and unsetenv.
864         (search_key): Catch a SIZELIMIT_EXCEEDED error and show the user
865         whatever the server did give us.
866         (find_basekeyspacedn): There is no guarantee that namingContexts
867         will be readable.
868
869         * Makefile.am: Link gpgkeys_ldap with libutil.a to get the
870         replacement functions (and eventually translations, etc).
871
872 2004-02-19  David Shaw  <dshaw@jabberwocky.com>
873
874         * gpgkeys_ldap.c (ldap2epochtime): LDAP timestamps are UTC, so do
875         not correct for timezones.
876         (main): Find the basekeyspacedn before we try to start TLS, so we
877         can give a better error message when a user tries to use TLS with
878         a LDAP keyserver.
879
880         * Makefile.am: Add automake conditionals to symlink gpgkeys_ldaps
881         to gpgkeys_ldap when needed.
882
883         * gpgkeys_ldap.c (main): Add support for LDAPS and TLS
884         connections.  These are only useful and usable when talking to
885         real LDAP keyservers.  Add new "tls" option to tune TLS use from
886         off, to try quietly, to try loudly, or to require TLS.
887
888         * gpgkeys_ldap.c (find_basekeyspacedn): New function to figure out
889         what kind of LDAP server we're talking to (either real LDAP or the
890         LDAP keyserver), and return the baseKeySpaceDN to find keys under.
891         (main): Call it from here, and remove the old code that only
892         handled the LDAP keyserver.
893
894 2004-02-18  David Shaw  <dshaw@jabberwocky.com>
895
896         * gpgkeys_ldap.c (ldap_to_gpg_err): Make sure that
897         LDAP_OPT_ERROR_NUMBER is defined before we use it.
898
899         * gpgkeys_mailto.in: Fix VERSION number.
900
901 2004-01-13  Werner Koch  <wk@gnupg.org>
902
903         * gpgkeys_hkp.c (send_key): Add a content type.
904
905 2004-01-11  David Shaw  <dshaw@jabberwocky.com>
906
907         * gpgkeys_hkp.c (search_key): Catch a mangled input file (useful
908         if something other than GnuPG is calling the program).
909         (main): Avoid possible pre-string write.  Noted by Christian
910         Biere.
911
912         * gpgkeys_ldap.c (main): Avoid possible pre-string write.
913
914 2003-12-28  David Shaw  <dshaw@jabberwocky.com>
915
916         * gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code
917         that passes the proxy in from the outside.  If the command file
918         sends a proxy, use it.  If it sends "http-proxy" with no
919         arguments, use $http_proxy from the environment.  Suggested by
920         Christian Biere.
921
922 2003-12-28  Stefan Bellon  <sbellon@sbellon.de>
923
924         * gpgkeys_hkp.c, gpgkeys_ldap.c [__riscos__]: Removal of
925         unnecessary #ifdef __riscos__ sections.
926
927 2003-11-27  Werner Koch  <wk@gnupg.org>
928
929         * gpgkeys_hkp.c (get_key): Fixed invalid use of fprintf without
930         format string.
931
932 2003-10-25  Werner Koch  <wk@gnupg.org>
933
934         * Makefile.am (gpgkeys_hkp_LDADD): Replaced INTLLIBS by LIBINTL.
935
936 2003-07-10  David Shaw  <dshaw@jabberwocky.com>
937
938         * Makefile.am: Use W32LIBS where appropriate.
939
940 2003-05-30  David Shaw  <dshaw@jabberwocky.com>
941
942         * gpgkeys_hkp.c, gpgkeys_ldap.c: #include <getopt.h> if it is
943         available.  Also include extern references for optarg and optind
944         since there is no guarantee that any header file will include
945         them.  Standards?  We don't need no stinkin' standards.
946
947         * Makefile.am: Use @GETOPT@ to pull in libiberty on those
948         platforms that need it.
949
950 2003-04-08  David Shaw  <dshaw@jabberwocky.com>
951
952         * gpgkeys_hkp.c (dehtmlize, parse_hkp_index): Fix memory
953         corruption bug on some platforms.
954
955 2003-03-11  David Shaw  <dshaw@jabberwocky.com>
956
957         * gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in
958         the armored key.
959         (main): Accept "try-dns-srv" option.
960
961         * Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
962         capabilities.  Use @SRVLIBS@ to link in the resolver if we are
963         using DNS SRV.
964
965 2003-02-11  David Shaw  <dshaw@jabberwocky.com>
966
967         * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@
968         so it can be easily overridden at make time.
969
970 2003-01-29  David Shaw  <dshaw@jabberwocky.com>
971
972         * gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is
973         not a keyid, but rather a text string from the user ID.
974
975 2003-01-06  David Shaw  <dshaw@jabberwocky.com>
976
977         * gpgkeys_hkp.c (get_key): Use options=mr when getting a key so
978         keyserver doesn't attach the HTML header which we will just have
979         to discard.
980
981 2002-11-17  David Shaw  <dshaw@jabberwocky.com>
982
983         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver
984         protocol version.
985
986 2002-11-14  David Shaw  <dshaw@jabberwocky.com>
987
988         * gpgkeys_ldap.c (get_key): The deduping code requires
989         "pgpcertid", but that was not available when running without
990         verbose on.  Noted by Stefan.
991
992 2002-11-10  David Shaw  <dshaw@jabberwocky.com>
993
994         * gpgkeys_ldap.c (get_key): Fix typo in deduping code.
995
996 2002-11-05  David Shaw  <dshaw@jabberwocky.com>
997
998         * gpgkeys_ldap.c (key_in_keylist, add_key_to_keylist,
999         free_keylist, get_key, search_key): The LDAP keyserver doesn't
1000         remove duplicates, so remove them locally.  Do not include the key
1001         modification time in the search response.
1002
1003 2002-11-04  David Shaw  <dshaw@jabberwocky.com>
1004
1005         * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key): Properly
1006         handle an input file that does not include any key data at all.
1007
1008 2002-10-24  David Shaw  <dshaw@jabberwocky.com>
1009
1010         * gpgkeys_hkp.c (main), gpgkeys_ldap.c (main): Add -V flag to
1011         output protocol and program version.
1012
1013 2002-10-21  David Shaw  <dshaw@jabberwocky.com>
1014
1015         * Makefile.am: Anything linking with libutil.a needs INTLLIBS as
1016         well on platforms where INTLLIBS is set.
1017
1018 2002-10-14  David Shaw  <dshaw@jabberwocky.com>
1019
1020         * gpgkeys_hkp.c (write_quoted): Use %-encoding instead of
1021         \-encoding.
1022         (parse_hkp_index): Use new keyserver key listing format, and add
1023         support for disabled keys via include-disabled.
1024
1025         * gpgkeys_ldap.c (get_key): Don't print keysize unless it's >0.
1026         (printquoted): Use %-encoding instead of \-encoding.
1027         (search_key): Use new keyserver key listing format.
1028
1029 2002-10-08  David Shaw  <dshaw@jabberwocky.com>
1030
1031         * gpgkeys_ldap.c (search_key, main): Make sure LDAP values are
1032         freed in case of error.
1033
1034         * gpgkeys_ldap.c (fail_all): New function to unwind a keylist and
1035         error each item.
1036         (main): Call fail_all from here, as needed.  Also add a NO_MEMORY
1037         error in an appropriate place and fix error return code.
1038         (ldap_err_to_gpg_err): Add KEYSERVER_UNREACHABLE.
1039
1040         * gpgkeys_hkp.c (fail_all): New function to unwind a keylist and
1041         error each item.
1042         (main): Call fail_all from here.  Also add a NO_MEMORY error in an
1043         appropriate place.
1044         (get_key): Use new UNREACHABLE error for network errors.
1045
1046 2002-09-26  Werner Koch  <wk@gnupg.org>
1047
1048         * gpgkeys_ldap.c (send_key): Removed non-constant initializers.
1049
1050 2002-09-24  David Shaw  <dshaw@jabberwocky.com>
1051
1052         * gpgkeys_ldap.c (ldap_err_to_gpg_err, ldap_to_gpg_err, send_key,
1053         get_key, search_key, main): Some minor error reporting
1054         enhancements for use with GPA (show reasons for KEY FAILED).
1055
1056         * gpgkeys_hkp.c (send_key, get_key, search_key, main): Some minor
1057         error reporting enhancements for use with GPA (show reasons for
1058         KEY FAILED).
1059
1060 2002-09-20  Werner Koch  <wk@gnupg.org>
1061
1062         * gpgkeys_hkp.c (handle_old_hkp_index): s/input/inp/ to avoid
1063         shadowing warning.
1064
1065 2002-09-19  David Shaw  <dshaw@jabberwocky.com>
1066
1067         * gpgkeys_hkp.c (get_key, handle_old_hkp_index, search_key):
1068         Properly handle line truncation.
1069
1070 2002-09-16  David Shaw  <dshaw@jabberwocky.com>
1071
1072         * gpgkeys_mailto.in: Add quasi-RFC-2368 mailto:email@addr?from=
1073         syntax so people can set their own email address to respond to.
1074
1075         * gpgkeys_hkp.c (get_key): Properly respond with KEY FAILED (to
1076         gpg) and "key not found" (to user) on failure.
1077
1078 2002-09-13  David Shaw  <dshaw@jabberwocky.com>
1079
1080         * gpgkeys_hkp.c: (search_key, handle_old_hkp_index): Try and
1081         request a machine-readable key index.  If the server supports
1082         this, pass it through.  If the server does not support it, parse
1083         the "index" page.
1084
1085 2002-09-12  Stefan Bellon  <sbellon@sbellon.de>
1086
1087         * gpgkeys_hkp.c: Tidied up RISC OS initializations.
1088
1089 2002-09-12  David Shaw  <dshaw@jabberwocky.com>
1090
1091         * gpgkeys_hkp.c (main): Remove warning - this is no longer
1092         experimental code.
1093
1094 2002-09-09  Werner Koch  <wk@gnupg.org>
1095
1096         * gpgkeys_hkp.c (send_key, get_key, search_key): Check return
1097         value of malloc.
1098         (dehtmlize): Use ascii_tolower to protect against weird locales.
1099         Cast the argument for isspace for the sake of broken HP/UXes.
1100         (search_key): Check return value of realloc.
1101
1102 2002-09-09  David Shaw  <dshaw@jabberwocky.com>
1103
1104         * gpgkeys_ldap.c (get_key): Some compilers (RISC OS, HPUX c89)
1105         don't like using variables as array initializers.
1106
1107         * gpgkeys_hkp.c (send_key): Use CRLF in headers.
1108
1109 2002-08-28  David Shaw  <dshaw@jabberwocky.com>
1110
1111         * gpgkeys_hkp.c (parse_hkp_index): Use same types on all
1112         platforms.  This was probably leftover from earlier code where the
1113         typing mattered.
1114
1115         * gpgkeys_hkp.c: Overall cleanup from iobuf conversion.  Be
1116         consistent in m_alloc and malloc usage.  Remove include-disabled
1117         (meaningless on HKP).  RISC OS tweak.
1118
1119 2002-08-27  David Shaw  <dshaw@jabberwocky.com>
1120
1121         * gpgkeys_hkp.c, Makefile.am: Convert over to using iobufs.
1122
1123         * gpgkeys_hkp.c (http_get, http_post): Use CRLF for line endings.
1124
1125         * gpgkeys_hkp.c: Include util.h on RISC OS as per Stefan.  Include
1126         a replacement for hstrerror() for those platforms (such as RISC
1127         OS) that don't have it.
1128
1129 2002-08-26  David Shaw  <dshaw@jabberwocky.com>
1130
1131         * Makefile.am: May as well include gpgkeys_hkp.c in the
1132         distribution now.  It works well enough without proxies, and isn't
1133         built by default.  It would be good to get some test experience
1134         with it.
1135
1136         * gpgkeys_hkp.c (main): Don't warn about include-subkeys - it
1137         isn't unsupported, it's actually non-meaningful in the context of
1138         HKP (yet).
1139
1140         * gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Move HTML
1141         functionality into new "dehtmlize" function.  Remove HTML before
1142         trying to parse each line from the keyserver.  If the keyserver
1143         provides key type information in the listing, use it.  (Copy over
1144         from g10/hkp.c).
1145
1146 2002-08-19  David Shaw  <dshaw@jabberwocky.com>
1147
1148         * gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code
1149         from g10/hkp.c.
1150
1151         * gpgkeys_ldap.c (get_key): Fix cosmetic URL display problem
1152         (extra ":" at the end).
1153
1154 2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
1155
1156         * gpgkeys_ldap.c: Tidied up RISC OS initializations.
1157
1158 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
1159
1160         * gpgkeys_hkp.c: "Warning" -> "WARNING"
1161
1162 2002-07-24  David Shaw  <dshaw@jabberwocky.com>
1163
1164         * Makefile.am: Install keyserver helpers in @GNUPG_LIBEXECDIR@
1165
1166 2002-07-15  David Shaw  <dshaw@jabberwocky.com>
1167
1168         * gpgkeys_ldap.c (send_key, get_key, main): Consult the server
1169         version string to determine whether to use pgpKey or pgpKeyV2.
1170
1171 2002-07-09  David Shaw  <dshaw@jabberwocky.com>
1172
1173         * gpgkeys_mailto.in: Use new OPAQUE tag for non net-path URIs.
1174         Fail more elegantly if there is no email address to send to.  Show
1175         the GnuPG version in the message body.
1176
1177 2002-07-04  David Shaw  <dshaw@jabberwocky.com>
1178
1179         * gpgkeys_ldap.c (get_key), gpgkeys_hkp.c (get_key): Display
1180         keyserver URI as a URI, but only if verbose.
1181
1182 2002-07-01  David Shaw  <dshaw@jabberwocky.com>
1183
1184         * gpgkeys_hkp.c (parse_hkp_index): Error if the keyserver returns
1185         an unparseable HKP response.
1186
1187         * gpgkeys_hkp.c (main): Warn on honor-http-proxy,
1188         broken-http-proxy, and include-subkeys (not supported yet).
1189
1190         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (http_connect, main): Fix
1191         some shadowing warnings.
1192
1193 2002-06-11  David Shaw  <dshaw@jabberwocky.com>
1194
1195         * Makefile.am: Don't hard-code the LDAP libraries - get them from
1196         LDAPLIBS via configure.  Also, gpgkeys_hkp is a program, not a
1197         script.
1198
1199 2002-06-10  David Shaw  <dshaw@jabberwocky.com>
1200
1201         * gpgkeys_ldap.c (include_subkeys): Default "include-subkeys" to
1202         off, since GnuPG now defaults it to on.
1203
1204 2002-06-06  David Shaw  <dshaw@jabberwocky.com>
1205
1206         * gpgkeys_hkp.c (parse_hkp_index): Type tweaks.
1207
1208         * gpgkeys_hkp.c (main): Add experimental code warning.
1209
1210 2002-06-05  David Shaw  <dshaw@jabberwocky.com>
1211
1212         * Makefile.am, gpgkeys_hkp.c (new): Experimental HKP keyserver
1213         interface.
1214
1215 2002-05-08  David Shaw  <dshaw@jabberwocky.com>
1216
1217         * gpgkeys_ldap.c: Include <lber.h> if we absolutely must.  This
1218         helps when compiling against a very old OpenLDAP.
1219
1220 2002-04-29  David Shaw  <dshaw@jabberwocky.com>
1221
1222         * gpgkeys_mailto.in: Properly handle key requests in full
1223         fingerprint form.
1224
1225 2002-03-29  David Shaw  <dshaw@jabberwocky.com>
1226
1227         * gpgkeys_ldap.c (printquoted): Quote backslashes within keyserver
1228         search responses.
1229
1230 2002-02-25  David Shaw  <dshaw@jabberwocky.com>
1231
1232         * gpgkeys_ldap (get_key): LDAP keyservers do not support v3
1233         fingerprints, so error out if someone tries.  Actually, they don't
1234         support any fingerprints, but at least we can calculate a keyid
1235         from a v4 fingerprint.
1236
1237 2002-02-23  David Shaw  <dshaw@jabberwocky.com>
1238
1239         * gpgkeys_ldap: Clarify the notion of a partial failure.  This is
1240         possible if more than one key is being handled in a batch, and one
1241         fails while the other succeeds.  Note that a search that comes up
1242         with no results is not a failure - that is a valid response of "no
1243         answer".
1244
1245         * gpgkeys_ldap.c (get_key): Allow GnuPG to send us full v4
1246         fingerprints, long key ids, or short key ids while fetching.
1247         Since the LDAP server doesn't actually handle fingerprints, chop
1248         them down to long key ids for actual use.
1249
1250         * gpgkeys_ldap.c (main, get_key): When searching for a keyid,
1251         search for subkeys as well as primary keys.  This is mostly
1252         significant when automatically fetching the key based on the id in
1253         a header (i.e. "signature made by....").  "no-include-subkeys"
1254         disables.
1255
1256 2002-02-14  David Shaw  <dshaw@jabberwocky.com>
1257
1258         * gpgkeys_ldap.c: Fix compiler warning.
1259
1260         * gpgkeys_ldap.c: Be much more robust with mangled input files.
1261
1262 2001-12-28  David Shaw  <dshaw@jabberwocky.com>
1263
1264         * gpgkeys_mailto.in: Use the new OUTOFBAND indicator so gpg knows
1265         not to try and import anything.  Also turn on perl -w for
1266         warnings.
1267
1268         * gpgkeys_ldap.c (main): If we're using temp files (rather than
1269         stdin/stdout), make sure the file is closed when we're done.
1270
1271 2001-12-20  David Shaw  <dshaw@jabberwocky.com>
1272
1273         * Properly free the LDAP response when we're done with it.
1274
1275         * Now that we handle multiple keys, we must remove duplicates as
1276         the LDAP keyserver returns keys with multiple user IDs multiple
1277         times.
1278
1279         * Properly handle multiple keys with the same key ID (it's really
1280         rare, so fetch "0xDEADBEEF" to test this).
1281
1282 2001-12-17  David Shaw  <dshaw@jabberwocky.com>
1283
1284         * gpgkeys_ldap.c, gpgkeys_mailto.in: Fix GNU capitalization
1285         issues.  Prefix log messages with "gpgkeys" to clarify which
1286         program is generating them.
1287
1288 2001-12-14  David Shaw  <dshaw@jabberwocky.com>
1289
1290         * gpgkeys_ldap.c (search_key): Use unsigned int rather than uint
1291         for portability.
1292
1293 2001-12-04  David Shaw  <dshaw@jabberwocky.com>
1294
1295         * Initial version of gpgkeys_ldap (LDAP keyserver helper) and
1296         gpgkeys_mailto (email keyserver helper)
1297
1298
1299  Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
1300            2007 Free Software Foundation, Inc.
1301
1302  This file is free software; as a special exception the author gives
1303  unlimited permission to copy and/or distribute it, with or without
1304  modifications, as long as this notice is preserved.
1305
1306  This file is distributed in the hope that it will be useful, but
1307  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1308  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.