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