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