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