* gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c: Fix a
[gnupg.git] / keyserver / ChangeLog
1 2004-10-11  David Shaw  <dshaw@jabberwocky.com>
2
3         * gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_http.c, gpgkeys_ldap.c:
4         Fix a few occurances of "filename" to `filename'.
5
6 2004-10-11  Werner Koch  <wk@g10code.com>
7
8         * gpgkeys_finger.c: New.
9
10 2004-08-27  Stefan Bellon  <sbellon@sbellon.de>
11
12         * gpgkeys_hkp.c (search_key): Fix the prior faulty fix by
13         introducing a cast but leaving skey unsigned.
14
15         * gpgkeys_hkp.c (search_key): Change type of variable skey from
16         unsigned char* to char* to fix type incompatibility.
17
18 2004-08-23  David Shaw  <dshaw@jabberwocky.com>
19
20         * gpgkeys_ldap.c (get_key, search_key), gpgkeys_hkp.c (get_key,
21         search_key), gpgkeys_http.c (get_key): Do not give informational
22         logs since this is now done inside gpg.
23
24         * gpgkeys_hkp.c (dehtmlize): Understand the quote character
25         (i.e. "&quot;") in HTML responses.
26         (search_key): Search key must be unsigned for url encoder to work
27         properly for 8-bit values.
28
29         * gpgkeys_ldap.c (get_key): Factor out informational display into
30         new function build_info().
31
32         * gpgkeys_ldap.c (build_attrs): Properly terminate user ID strings
33         that got shrunk due to encoding.
34
35 2004-08-22  David Shaw  <dshaw@jabberwocky.com>
36
37         * gpgkeys_ldap.c (find_basekeyspacedn): Use LDAP_SCOPE_BASE along
38         with a full DN rather than LDAP_SCOPE_ONELEVEL plus a filter to
39         find the pgpServerInfo object.  Some LDAP setups don't like the
40         search.
41         (main): Stop binding to the server since it seems no server really
42         requires it, and some require it not be there.
43
44 2004-07-29  David Shaw  <dshaw@jabberwocky.com>
45
46         * gpgkeys_ldap.c (main): Add "debug" option.  This is only really
47         useful with OpenLDAP, but it's practically vital to debug SSL and
48         TLS setups.  Add "basedn" option.  This allows users to override
49         the autodetection for base DN.  SSL overrides TLS, so TLS will not
50         be started on SSL connections (starting an already started car).
51
52 2004-07-28  David Shaw  <dshaw@jabberwocky.com>
53
54         * gpgkeys_ldap.c (build_attrs): Add "pgpKeySize" and "pgpSubKeyID"
55         attributes so we can do subkey searches.
56
57         * gpgkeys_ldap.c (main): Under certain error conditions, we might
58         try and unbind twice.  Don't.
59
60         * gpgkeys_ldap.c (join_two_modlists): New.
61         (send_key): Use new function so we can try a modify operation
62         first, and fail over to an add if that fails.  Add cannot cope
63         with the NULLs at the head of the modify request, so we jump into
64         the list in the middle.
65
66 2004-07-27  David Shaw  <dshaw@jabberwocky.com>
67
68         * gpgkeys_ldap.c (main): Don't try and error out before making a
69         ldaps connection to the NAI keyserver since we cannot tell if it
70         is a NAI keyserver until we connect.  Fail if we cannot find a
71         base keyspace DN.  Fix a false success message for TLS being
72         enabled.
73
74 2004-07-20  Werner Koch  <wk@gnupg.org>
75
76         * gpgkeys_ldap.c [_WIN32]: Include Windows specific header files.
77         Suggested by Brian Gladman.
78
79 2004-05-26  David Shaw  <dshaw@jabberwocky.com>
80
81         * gpgkeys_http.c: General polish and removal of leftover stuff
82         from gpgkeys_hkp.c.
83
84 2004-05-21  David Shaw  <dshaw@jabberwocky.com>
85
86         * gpgkeys_http.c (get_key): Cosmetic fix - make sure that URLs
87         with no path use a path of "/".
88
89         * gpgkeys_ldap.c (ldap2epochtime): We can always rely on timegm()
90         being available now, since it's a replacement function.
91
92 2004-05-20  David Shaw  <dshaw@jabberwocky.com>
93
94         * gpgkeys_http.c: New program to do a simple HTTP file fetch using
95         the keyserver interface.
96
97         * Makefile.am: Build it.
98
99 2004-02-28  David Shaw  <dshaw@jabberwocky.com>
100
101         * Makefile.am: Don't split LDADD across two lines since some make
102         programs can't handle blank lines after a \ continuation.  Noted
103         by Christoph Moench-Tegeder.
104
105 2004-02-25  David Shaw  <dshaw@jabberwocky.com>
106
107         * gpgkeys_ldap.c (send_key): List pgpCertID as one of the deleted
108         attributes.  This guarantees that if something goes wrong, we
109         won't be able to complete the transaction, thus leaving any key
110         already existing on the server intact.
111
112 2004-02-23  David Shaw  <dshaw@jabberwocky.com>
113
114         * gpgkeys_ldap.c (delete_one_attr): Removed.
115         (make_one_attr): Delete functionality added.  Optional deduping
116         functionality added (currently only used for pgpSignerID).
117         (build_attrs): Translate sig entries into pgpSignerID.  Properly
118         build the timestamp for pgpKeyCreateTime and pgpKeyExpireTime.
119
120 2004-02-22  David Shaw  <dshaw@jabberwocky.com>
121
122         * gpgkeys_ldap.c (delete_one_attr): New function to replace
123         attributes with NULL (a "delete" that works even for nonexistant
124         attributes).
125         (send_key): Use it here to remove attributes so a modify operation
126         starts with a clean playing field.  Bias sends to modify before
127         add, since (I suspect) people update their existing keys more
128         often than they make and send new keys to the server.
129
130 2004-02-21  David Shaw  <dshaw@jabberwocky.com>
131
132         * gpgkeys_ldap.c (epoch2ldaptime): New.  Converse of
133         ldap2epochtime.
134         (make_one_attr): New. Build a modification list in memory to send
135         to the LDAP server.
136         (build_attrs): New. Parse INFO lines sent over by gpg.
137         (free_mod_values): New.  Unwinds a modification list.
138         (send_key_keyserver): Renamed from old send_key().
139         (send_key): New function to send a key to a LDAP server.
140         (main): Use send_key() for real LDAP servers, send_key_keyserver()
141         otherwise.
142
143 2004-02-20  David Shaw  <dshaw@jabberwocky.com>
144
145         * gpgkeys_ldap.c: Replacement prototypes for setenv and unsetenv.
146         (search_key): Catch a SIZELIMIT_EXCEEDED error and show the user
147         whatever the server did give us.
148         (find_basekeyspacedn): There is no guarantee that namingContexts
149         will be readable.
150
151         * Makefile.am: Link gpgkeys_ldap with libutil.a to get the
152         replacement functions (and eventually translations, etc).
153
154 2004-02-19  David Shaw  <dshaw@jabberwocky.com>
155
156         * gpgkeys_ldap.c (ldap2epochtime): LDAP timestamps are UTC, so do
157         not correct for timezones.
158         (main): Find the basekeyspacedn before we try to start TLS, so we
159         can give a better error message when a user tries to use TLS with
160         a LDAP keyserver.
161
162         * Makefile.am: Add automake conditionals to symlink gpgkeys_ldaps
163         to gpgkeys_ldap when needed.
164
165         * gpgkeys_ldap.c (main): Add support for LDAPS and TLS
166         connections.  These are only useful and usable when talking to
167         real LDAP keyservers.  Add new "tls" option to tune TLS use from
168         off, to try quietly, to try loudly, or to require TLS.
169
170         * gpgkeys_ldap.c (find_basekeyspacedn): New function to figure out
171         what kind of LDAP server we're talking to (either real LDAP or the
172         LDAP keyserver), and return the baseKeySpaceDN to find keys under.
173         (main): Call it from here, and remove the old code that only
174         handled the LDAP keyserver.
175
176 2004-02-18  David Shaw  <dshaw@jabberwocky.com>
177
178         * gpgkeys_ldap.c (ldap_to_gpg_err): Make sure that
179         LDAP_OPT_ERROR_NUMBER is defined before we use it.
180
181         * gpgkeys_mailto.in: Fix VERSION number.
182
183 2004-01-13  Werner Koch  <wk@gnupg.org>
184
185         * gpgkeys_hkp.c (send_key): Add a content type.
186
187 2004-01-11  David Shaw  <dshaw@jabberwocky.com>
188
189         * gpgkeys_hkp.c (search_key): Catch a mangled input file (useful
190         if something other than GnuPG is calling the program).
191         (main): Avoid possible pre-string write.  Noted by Christian
192         Biere.
193
194         * gpgkeys_ldap.c (main): Avoid possible pre-string write.
195
196 2003-12-28  David Shaw  <dshaw@jabberwocky.com>
197
198         * gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code
199         that passes the proxy in from the outside.  If the command file
200         sends a proxy, use it.  If it sends "http-proxy" with no
201         arguments, use $http_proxy from the environment.  Suggested by
202         Christian Biere.
203
204 2003-12-28  Stefan Bellon  <sbellon@sbellon.de>
205
206         * gpgkeys_hkp.c, gpgkeys_ldap.c [__riscos__]: Removal of
207         unnecessary #ifdef __riscos__ sections.
208
209 2003-11-27  Werner Koch  <wk@gnupg.org>
210
211         * gpgkeys_hkp.c (get_key): Fixed invalid use of fprintf without
212         format string.
213
214 2003-10-25  Werner Koch  <wk@gnupg.org>
215
216         * Makefile.am (gpgkeys_hkp_LDADD): Replaced INTLLIBS by LIBINTL.
217
218 2003-07-10  David Shaw  <dshaw@jabberwocky.com>
219
220         * Makefile.am: Use W32LIBS where appropriate.
221
222 2003-05-30  David Shaw  <dshaw@jabberwocky.com>
223
224         * gpgkeys_hkp.c, gpgkeys_ldap.c: #include <getopt.h> if it is
225         available.  Also include extern references for optarg and optind
226         since there is no guarantee that any header file will include
227         them.  Standards?  We don't need no stinkin' standards.
228
229         * Makefile.am: Use @GETOPT@ to pull in libiberty on those
230         platforms that need it.
231
232 2003-04-08  David Shaw  <dshaw@jabberwocky.com>
233
234         * gpgkeys_hkp.c (dehtmlize, parse_hkp_index): Fix memory
235         corruption bug on some platforms.
236
237 2003-03-11  David Shaw  <dshaw@jabberwocky.com>
238
239         * gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in
240         the armored key.
241         (main): Accept "try-dns-srv" option.
242
243         * Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
244         capabilities.  Use @SRVLIBS@ to link in the resolver if we are
245         using DNS SRV.
246
247 2003-02-11  David Shaw  <dshaw@jabberwocky.com>
248
249         * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@
250         so it can be easily overridden at make time.
251
252 2003-01-29  David Shaw  <dshaw@jabberwocky.com>
253
254         * gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is
255         not a keyid, but rather a text string from the user ID.
256
257 2003-01-06  David Shaw  <dshaw@jabberwocky.com>
258
259         * gpgkeys_hkp.c (get_key): Use options=mr when getting a key so
260         keyserver doesn't attach the HTML header which we will just have
261         to discard.
262
263 2002-11-17  David Shaw  <dshaw@jabberwocky.com>
264
265         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver
266         protocol version.
267
268 2002-11-14  David Shaw  <dshaw@jabberwocky.com>
269
270         * gpgkeys_ldap.c (get_key): The deduping code requires
271         "pgpcertid", but that was not available when running without
272         verbose on.  Noted by Stefan.
273
274 2002-11-10  David Shaw  <dshaw@jabberwocky.com>
275
276         * gpgkeys_ldap.c (get_key): Fix typo in deduping code.
277
278 2002-11-05  David Shaw  <dshaw@jabberwocky.com>
279
280         * gpgkeys_ldap.c (key_in_keylist, add_key_to_keylist,
281         free_keylist, get_key, search_key): The LDAP keyserver doesn't
282         remove duplicates, so remove them locally.  Do not include the key
283         modification time in the search response.
284
285 2002-11-04  David Shaw  <dshaw@jabberwocky.com>
286
287         * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key): Properly
288         handle an input file that does not include any key data at all.
289
290 2002-10-24  David Shaw  <dshaw@jabberwocky.com>
291
292         * gpgkeys_hkp.c (main), gpgkeys_ldap.c (main): Add -V flag to
293         output protocol and program version.
294
295 2002-10-21  David Shaw  <dshaw@jabberwocky.com>
296
297         * Makefile.am: Anything linking with libutil.a needs INTLLIBS as
298         well on platforms where INTLLIBS is set.
299
300 2002-10-14  David Shaw  <dshaw@jabberwocky.com>
301
302         * gpgkeys_hkp.c (write_quoted): Use %-encoding instead of
303         \-encoding.
304         (parse_hkp_index): Use new keyserver key listing format, and add
305         support for disabled keys via include-disabled.
306
307         * gpgkeys_ldap.c (get_key): Don't print keysize unless it's >0.
308         (printquoted): Use %-encoding instead of \-encoding.
309         (search_key): Use new keyserver key listing format.
310
311 2002-10-08  David Shaw  <dshaw@jabberwocky.com>
312
313         * gpgkeys_ldap.c (search_key, main): Make sure LDAP values are
314         freed in case of error.
315
316         * gpgkeys_ldap.c (fail_all): New function to unwind a keylist and
317         error each item.
318         (main): Call fail_all from here, as needed.  Also add a NO_MEMORY
319         error in an appropriate place and fix error return code.
320         (ldap_err_to_gpg_err): Add KEYSERVER_UNREACHABLE.
321
322         * gpgkeys_hkp.c (fail_all): New function to unwind a keylist and
323         error each item.
324         (main): Call fail_all from here.  Also add a NO_MEMORY error in an
325         appropriate place.
326         (get_key): Use new UNREACHABLE error for network errors.
327
328 2002-09-26  Werner Koch  <wk@gnupg.org>
329
330         * gpgkeys_ldap.c (send_key): Removed non-constant initializers.
331
332 2002-09-24  David Shaw  <dshaw@jabberwocky.com>
333
334         * gpgkeys_ldap.c (ldap_err_to_gpg_err, ldap_to_gpg_err, send_key,
335         get_key, search_key, main): Some minor error reporting
336         enhancements for use with GPA (show reasons for KEY FAILED).
337
338         * gpgkeys_hkp.c (send_key, get_key, search_key, main): Some minor
339         error reporting enhancements for use with GPA (show reasons for
340         KEY FAILED).
341
342 2002-09-20  Werner Koch  <wk@gnupg.org>
343
344         * gpgkeys_hkp.c (handle_old_hkp_index): s/input/inp/ to avoid
345         shadowing warning.
346
347 2002-09-19  David Shaw  <dshaw@jabberwocky.com>
348
349         * gpgkeys_hkp.c (get_key, handle_old_hkp_index, search_key):
350         Properly handle line truncation.
351
352 2002-09-16  David Shaw  <dshaw@jabberwocky.com>
353
354         * gpgkeys_mailto.in: Add quasi-RFC-2368 mailto:email@addr?from=
355         syntax so people can set their own email address to respond to.
356
357         * gpgkeys_hkp.c (get_key): Properly respond with KEY FAILED (to
358         gpg) and "key not found" (to user) on failure.
359
360 2002-09-13  David Shaw  <dshaw@jabberwocky.com>
361
362         * gpgkeys_hkp.c: (search_key, handle_old_hkp_index): Try and
363         request a machine-readable key index.  If the server supports
364         this, pass it through.  If the server does not support it, parse
365         the "index" page.
366
367 2002-09-12  Stefan Bellon  <sbellon@sbellon.de>
368
369         * gpgkeys_hkp.c: Tidied up RISC OS initializations.
370
371 2002-09-12  David Shaw  <dshaw@jabberwocky.com>
372
373         * gpgkeys_hkp.c (main): Remove warning - this is no longer
374         experimental code.
375
376 2002-09-09  Werner Koch  <wk@gnupg.org>
377
378         * gpgkeys_hkp.c (send_key, get_key, search_key): Check return
379         value of malloc.
380         (dehtmlize): Use ascii_tolower to protect against weird locales.
381         Cast the argument for isspace for the sake of broken HP/UXes.
382         (search_key): Check return value of realloc.
383
384 2002-09-09  David Shaw  <dshaw@jabberwocky.com>
385
386         * gpgkeys_ldap.c (get_key): Some compilers (RISC OS, HPUX c89)
387         don't like using variables as array initializers.
388
389         * gpgkeys_hkp.c (send_key): Use CRLF in headers.
390
391 2002-08-28  David Shaw  <dshaw@jabberwocky.com>
392
393         * gpgkeys_hkp.c (parse_hkp_index): Use same types on all
394         platforms.  This was probably leftover from earlier code where the
395         typing mattered.
396
397         * gpgkeys_hkp.c: Overall cleanup from iobuf conversion.  Be
398         consistent in m_alloc and malloc usage.  Remove include-disabled
399         (meaningless on HKP).  RISC OS tweak.
400
401 2002-08-27  David Shaw  <dshaw@jabberwocky.com>
402
403         * gpgkeys_hkp.c, Makefile.am: Convert over to using iobufs.
404
405         * gpgkeys_hkp.c (http_get, http_post): Use CRLF for line endings.
406
407         * gpgkeys_hkp.c: Include util.h on RISC OS as per Stefan.  Include
408         a replacement for hstrerror() for those platforms (such as RISC
409         OS) that don't have it.
410
411 2002-08-26  David Shaw  <dshaw@jabberwocky.com>
412
413         * Makefile.am: May as well include gpgkeys_hkp.c in the
414         distribution now.  It works well enough without proxies, and isn't
415         built by default.  It would be good to get some test experience
416         with it.
417
418         * gpgkeys_hkp.c (main): Don't warn about include-subkeys - it
419         isn't unsupported, it's actually non-meaningful in the context of
420         HKP (yet).
421
422         * gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Move HTML
423         functionality into new "dehtmlize" function.  Remove HTML before
424         trying to parse each line from the keyserver.  If the keyserver
425         provides key type information in the listing, use it.  (Copy over
426         from g10/hkp.c).
427
428 2002-08-19  David Shaw  <dshaw@jabberwocky.com>
429
430         * gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code
431         from g10/hkp.c.
432
433         * gpgkeys_ldap.c (get_key): Fix cosmetic URL display problem
434         (extra ":" at the end).
435
436 2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
437
438         * gpgkeys_ldap.c: Tidied up RISC OS initializations.
439
440 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
441
442         * gpgkeys_hkp.c: "Warning" -> "WARNING"
443
444 2002-07-24  David Shaw  <dshaw@jabberwocky.com>
445
446         * Makefile.am: Install keyserver helpers in @GNUPG_LIBEXECDIR@
447
448 2002-07-15  David Shaw  <dshaw@jabberwocky.com>
449
450         * gpgkeys_ldap.c (send_key, get_key, main): Consult the server
451         version string to determine whether to use pgpKey or pgpKeyV2.
452
453 2002-07-09  David Shaw  <dshaw@jabberwocky.com>
454
455         * gpgkeys_mailto.in: Use new OPAQUE tag for non net-path URIs.
456         Fail more elegantly if there is no email address to send to.  Show
457         the GnuPG version in the message body.
458
459 2002-07-04  David Shaw  <dshaw@jabberwocky.com>
460
461         * gpgkeys_ldap.c (get_key), gpgkeys_hkp.c (get_key): Display
462         keyserver URI as a URI, but only if verbose.
463
464 2002-07-01  David Shaw  <dshaw@jabberwocky.com>
465
466         * gpgkeys_hkp.c (parse_hkp_index): Error if the keyserver returns
467         an unparseable HKP response.
468
469         * gpgkeys_hkp.c (main): Warn on honor-http-proxy,
470         broken-http-proxy, and include-subkeys (not supported yet).
471
472         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (http_connect, main): Fix
473         some shadowing warnings.
474
475 2002-06-11  David Shaw  <dshaw@jabberwocky.com>
476
477         * Makefile.am: Don't hard-code the LDAP libraries - get them from
478         LDAPLIBS via configure.  Also, gpgkeys_hkp is a program, not a
479         script.
480
481 2002-06-10  David Shaw  <dshaw@jabberwocky.com>
482
483         * gpgkeys_ldap.c (include_subkeys): Default "include-subkeys" to
484         off, since GnuPG now defaults it to on.
485
486 2002-06-06  David Shaw  <dshaw@jabberwocky.com>
487
488         * gpgkeys_hkp.c (parse_hkp_index): Type tweaks.
489
490         * gpgkeys_hkp.c (main): Add experimental code warning.
491
492 2002-06-05  David Shaw  <dshaw@jabberwocky.com>
493
494         * Makefile.am, gpgkeys_hkp.c (new): Experimental HKP keyserver
495         interface.
496
497 2002-05-08  David Shaw  <dshaw@jabberwocky.com>
498
499         * gpgkeys_ldap.c: Include <lber.h> if we absolutely must.  This
500         helps when compiling against a very old OpenLDAP.
501
502 2002-04-29  David Shaw  <dshaw@jabberwocky.com>
503
504         * gpgkeys_mailto.in: Properly handle key requests in full
505         fingerprint form.
506
507 2002-03-29  David Shaw  <dshaw@jabberwocky.com>
508
509         * gpgkeys_ldap.c (printquoted): Quote backslashes within keyserver
510         search responses.
511
512 2002-02-25  David Shaw  <dshaw@jabberwocky.com>
513
514         * gpgkeys_ldap (get_key): LDAP keyservers do not support v3
515         fingerprints, so error out if someone tries.  Actually, they don't
516         support any fingerprints, but at least we can calculate a keyid
517         from a v4 fingerprint.
518
519 2002-02-23  David Shaw  <dshaw@jabberwocky.com>
520
521         * gpgkeys_ldap: Clarify the notion of a partial failure.  This is
522         possible if more than one key is being handled in a batch, and one
523         fails while the other succeeds.  Note that a search that comes up
524         with no results is not a failure - that is a valid response of "no
525         answer".
526
527         * gpgkeys_ldap.c (get_key): Allow GnuPG to send us full v4
528         fingerprints, long key ids, or short key ids while fetching.
529         Since the LDAP server doesn't actually handle fingerprints, chop
530         them down to long key ids for actual use.
531
532         * gpgkeys_ldap.c (main, get_key): When searching for a keyid,
533         search for subkeys as well as primary keys.  This is mostly
534         significant when automatically fetching the key based on the id in
535         a header (i.e. "signature made by....").  "no-include-subkeys"
536         disables.
537
538 2002-02-14  David Shaw  <dshaw@jabberwocky.com>
539
540         * gpgkeys_ldap.c: Fix compiler warning.
541
542         * gpgkeys_ldap.c: Be much more robust with mangled input files.
543
544 2001-12-28  David Shaw  <dshaw@jabberwocky.com>
545
546         * gpgkeys_mailto.in: Use the new OUTOFBAND indicator so gpg knows
547         not to try and import anything.  Also turn on perl -w for
548         warnings.
549
550         * gpgkeys_ldap.c (main): If we're using temp files (rather than
551         stdin/stdout), make sure the file is closed when we're done.
552
553 2001-12-20  David Shaw  <dshaw@jabberwocky.com>
554
555         * Properly free the LDAP response when we're done with it.
556
557         * Now that we handle multiple keys, we must remove duplicates as
558         the LDAP keyserver returns keys with multiple user IDs multiple
559         times.
560
561         * Properly handle multiple keys with the same key ID (it's really
562         rare, so fetch "0xDEADBEEF" to test this).
563
564 2001-12-17  David Shaw  <dshaw@jabberwocky.com>
565
566         * gpgkeys_ldap.c, gpgkeys_mailto.in: Fix GNU capitalization
567         issues.  Prefix log messages with "gpgkeys" to clarify which
568         program is generating them.
569
570 2001-12-14  David Shaw  <dshaw@jabberwocky.com>
571
572         * gpgkeys_ldap.c (search_key): Use unsigned int rather than uint
573         for portability.
574
575 2001-12-04  David Shaw  <dshaw@jabberwocky.com>
576
577         * Initial version of gpgkeys_ldap (LDAP keyserver helper) and
578         gpgkeys_mailto (email keyserver helper)
579
580
581  Copyright 1998, 1999, 2000, 2001, 2002, 2003,
582            2004 Free Software Foundation, Inc.
583
584  This file is free software; as a special exception the author gives
585  unlimited permission to copy and/or distribute it, with or without
586  modifications, as long as this notice is preserved.
587
588  This file is distributed in the hope that it will be useful, but
589  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
590  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.