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