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