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