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