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