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