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