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