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