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