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