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