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