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