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