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