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