(send_key): Add a content type.
[gnupg.git] / keyserver / ChangeLog
1 2004-01-13  Werner Koch  <wk@gnupg.org>
2
3         * gpgkeys_hkp.c (send_key): Add a content type.
4
5 2004-01-11  David Shaw  <dshaw@jabberwocky.com>
6
7         * gpgkeys_hkp.c (search_key): Catch a mangled input file (useful
8         if something other than GnuPG is calling the program).
9         (main): Avoid possible pre-string write.  Noted by Christian
10         Biere.
11
12         * gpgkeys_ldap.c (main): Avoid possible pre-string write.
13
14 2003-12-28  David Shaw  <dshaw@jabberwocky.com>
15
16         * gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code
17         that passes the proxy in from the outside.  If the command file
18         sends a proxy, use it.  If it sends "http-proxy" with no
19         arguments, use $http_proxy from the environment.
20
21 2003-12-28  Stefan Bellon  <sbellon@sbellon.de>
22
23         * gpgkeys_hkp.c, gpgkeys_ldap.c [__riscos__]: Removal of
24         unnecessary #ifdef __riscos__ sections.
25
26 2003-11-27  Werner Koch  <wk@gnupg.org>
27
28         * gpgkeys_hkp.c (get_key): Fixed invalid use of fprintf without
29         format string.
30
31 2003-10-25  Werner Koch  <wk@gnupg.org>
32
33         * Makefile.am (gpgkeys_hkp_LDADD): Replaced INTLLIBS by LIBINTL.
34
35 2003-07-10  David Shaw  <dshaw@jabberwocky.com>
36
37         * Makefile.am: Use W32LIBS where appropriate.
38
39 2003-05-30  David Shaw  <dshaw@jabberwocky.com>
40
41         * gpgkeys_hkp.c, gpgkeys_ldap.c: #include <getopt.h> if it is
42         available.  Also include extern references for optarg and optind
43         since there is no guarantee that any header file will include
44         them.  Standards?  We don't need no stinkin' standards
45
46         * Makefile.am: Use @GETOPT@ to pull in libiberty on those
47         platforms that need it.
48
49 2003-04-08  David Shaw  <dshaw@jabberwocky.com>
50
51         * gpgkeys_hkp.c (dehtmlize, parse_hkp_index): Fix memory
52         corruption bug on some platforms.
53
54 2003-03-11  David Shaw  <dshaw@jabberwocky.com>
55
56         * gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in
57         the armored key.
58         (main): Accept "try-dns-srv" option.
59
60         * Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
61         capabilities.  Use @SRVLIBS@ to link in the resolver if we are
62         using DNS SRV.
63
64 2003-02-11  David Shaw  <dshaw@jabberwocky.com>
65
66         * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@
67         so it can be easily overridden at make time.
68
69 2003-01-29  David Shaw  <dshaw@jabberwocky.com>
70
71         * gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is
72         not a keyid, but rather a text string from the user ID.
73
74 2003-01-06  David Shaw  <dshaw@jabberwocky.com>
75
76         * gpgkeys_hkp.c (get_key): Use options=mr when getting a key so
77         keyserver doesn't attach the HTML header which we will just have
78         to discard.
79
80 2002-11-17  David Shaw  <dshaw@jabberwocky.com>
81
82         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver
83         protocol version.
84
85 2002-11-14  David Shaw  <dshaw@jabberwocky.com>
86
87         * gpgkeys_ldap.c (get_key): The deduping code requires
88         "pgpcertid", but that was not available when running without
89         verbose on.  Noted by Stefan.
90
91 2002-11-10  David Shaw  <dshaw@jabberwocky.com>
92
93         * gpgkeys_ldap.c (get_key): Fix typo in deduping code.
94
95 2002-11-05  David Shaw  <dshaw@jabberwocky.com>
96
97         * gpgkeys_ldap.c (key_in_keylist, add_key_to_keylist,
98         free_keylist, get_key, search_key): The LDAP keyserver doesn't
99         remove duplicates, so remove them locally.  Do not include the key
100         modification time in the search response.
101
102 2002-11-04  David Shaw  <dshaw@jabberwocky.com>
103
104         * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key): Properly
105         handle an input file that does not include any key data at all.
106
107 2002-10-24  David Shaw  <dshaw@jabberwocky.com>
108
109         * gpgkeys_hkp.c (main), gpgkeys_ldap.c (main): Add -V flag to
110         output protocol and program version.
111
112 2002-10-21  David Shaw  <dshaw@jabberwocky.com>
113
114         * Makefile.am: Anything linking with libutil.a needs INTLLIBS as
115         well on platforms where INTLLIBS is set.
116
117 2002-10-14  David Shaw  <dshaw@jabberwocky.com>
118
119         * gpgkeys_hkp.c (write_quoted): Use %-encoding instead of
120         \-encoding.
121         (parse_hkp_index): Use new keyserver key listing format, and add
122         support for disabled keys via include-disabled.
123
124         * gpgkeys_ldap.c (get_key): Don't print keysize unless it's >0.
125         (printquoted): Use %-encoding instead of \-encoding.
126         (search_key): Use new keyserver key listing format.
127
128 2002-10-08  David Shaw  <dshaw@jabberwocky.com>
129
130         * gpgkeys_ldap.c (search_key, main): Make sure LDAP values are
131         freed in case of error.
132
133         * gpgkeys_ldap.c (fail_all): New function to unwind a keylist and
134         error each item.
135         (main): Call fail_all from here, as needed.  Also add a NO_MEMORY
136         error in an appropriate place and fix error return code.
137         (ldap_err_to_gpg_err): Add KEYSERVER_UNREACHABLE.
138
139         * gpgkeys_hkp.c (fail_all): New function to unwind a keylist and
140         error each item.
141         (main): Call fail_all from here.  Also add a NO_MEMORY error in an
142         appropriate place.
143         (get_key): Use new UNREACHABLE error for network errors.
144
145 2002-09-26  Werner Koch  <wk@gnupg.org>
146
147         * gpgkeys_ldap.c (send_key): Removed non-constant initializers.
148
149 2002-09-24  David Shaw  <dshaw@jabberwocky.com>
150
151         * gpgkeys_ldap.c (ldap_err_to_gpg_err, ldap_to_gpg_err, send_key,
152         get_key, search_key, main): Some minor error reporting
153         enhancements for use with GPA (show reasons for KEY FAILED).
154
155         * gpgkeys_hkp.c (send_key, get_key, search_key, main): Some minor
156         error reporting enhancements for use with GPA (show reasons for
157         KEY FAILED).
158
159 2002-09-20  Werner Koch  <wk@gnupg.org>
160
161         * gpgkeys_hkp.c (handle_old_hkp_index): s/input/inp/ to avoid
162         shadowing warning.
163
164 2002-09-19  David Shaw  <dshaw@jabberwocky.com>
165
166         * gpgkeys_hkp.c (get_key, handle_old_hkp_index, search_key):
167         Properly handle line truncation.
168
169 2002-09-16  David Shaw  <dshaw@jabberwocky.com>
170
171         * gpgkeys_mailto.in: Add quasi-RFC-2368 mailto:email@addr?from=
172         syntax so people can set their own email address to respond to.
173
174         * gpgkeys_hkp.c (get_key): Properly respond with KEY FAILED (to
175         gpg) and "key not found" (to user) on failure.
176         
177 2002-09-13  David Shaw  <dshaw@jabberwocky.com>
178
179         * gpgkeys_hkp.c: (search_key, handle_old_hkp_index): Try and
180         request a machine-readable key index.  If the server supports
181         this, pass it through.  If the server does not support it, parse
182         the "index" page.
183
184 2002-09-12  Stefan Bellon  <sbellon@sbellon.de>
185
186         * gpgkeys_hkp.c: Tidied up RISC OS initializations.
187
188 2002-09-12  David Shaw  <dshaw@jabberwocky.com>
189
190         * gpgkeys_hkp.c (main): Remove warning - this is no longer
191         experimental code.
192
193 2002-09-09  Werner Koch  <wk@gnupg.org>
194
195         * gpgkeys_hkp.c (send_key, get_key, search_key): Check return
196         value of malloc.
197         (dehtmlize): Use ascii_tolower to protect against weird locales.
198         Cast the argument for isspace for the sake of broken HP/UXes.
199         (search_key): Check return value of realloc.
200
201 2002-09-09  David Shaw  <dshaw@jabberwocky.com>
202
203         * gpgkeys_ldap.c (get_key): Some compilers (RISC OS, HPUX c89)
204         don't like using variables as array initializers.
205
206         * gpgkeys_hkp.c (send_key): Use CRLF in headers.
207
208 2002-08-28  David Shaw  <dshaw@jabberwocky.com>
209
210         * gpgkeys_hkp.c (parse_hkp_index): Use same types on all
211         platforms.  This was probably leftover from earlier code where the
212         typing mattered.
213
214         * gpgkeys_hkp.c: Overall cleanup from iobuf conversion.  Be
215         consistent in m_alloc and malloc usage.  Remove include-disabled
216         (meaningless on HKP).  RISC OS tweak.
217
218 2002-08-27  David Shaw  <dshaw@jabberwocky.com>
219
220         * gpgkeys_hkp.c, Makefile.am: Convert over to using iobufs.
221
222         * gpgkeys_hkp.c (http_get, http_post): Use CRLF for line endings.
223
224         * gpgkeys_hkp.c: Include util.h on RISC OS as per Stefan.  Include
225         a replacement for hstrerror() for those platforms (such as RISC
226         OS) that don't have it.
227
228 2002-08-26  David Shaw  <dshaw@jabberwocky.com>
229
230         * Makefile.am: May as well include gpgkeys_hkp.c in the
231         distribution now.  It works well enough without proxies, and isn't
232         built by default.  It would be good to get some test experience
233         with it.
234
235         * gpgkeys_hkp.c (main): Don't warn about include-subkeys - it
236         isn't unsupported, it's actually non-meaningful in the context of
237         HKP (yet).
238         
239         * gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Move HTML
240         functionality into new "dehtmlize" function.  Remove HTML before
241         trying to parse each line from the keyserver.  If the keyserver
242         provides key type information in the listing, use it.  (Copy over
243         from g10/hkp.c).
244
245 2002-08-19  David Shaw  <dshaw@jabberwocky.com>
246
247         * gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code
248         from g10/hkp.c.
249
250         * gpgkeys_ldap.c (get_key): Fix cosmetic URL display problem
251         (extra ":" at the end).
252
253 2002-08-03  Stefan Bellon  <sbellon@sbellon.de>
254
255         * gpgkeys_ldap.c: Tidied up RISC OS initializations.
256
257 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
258
259         * gpgkeys_hkp.c: "Warning" -> "WARNING"
260
261 2002-07-24  David Shaw  <dshaw@jabberwocky.com>
262
263         * Makefile.am: Install keyserver helpers in @GNUPG_LIBEXECDIR@
264
265 2002-07-15  David Shaw  <dshaw@jabberwocky.com>
266
267         * gpgkeys_ldap.c (send_key, get_key, main): Consult the server
268         version string to determine whether to use pgpKey or pgpKeyV2.
269
270 2002-07-09  David Shaw  <dshaw@jabberwocky.com>
271
272         * gpgkeys_mailto.in: Use new OPAQUE tag for non net-path URIs.
273         Fail more elegantly if there is no email address to send to.  Show
274         the GnuPG version in the message body.
275
276 2002-07-04  David Shaw  <dshaw@jabberwocky.com>
277
278         * gpgkeys_ldap.c (get_key), gpgkeys_hkp.c (get_key): Display
279         keyserver URI as a URI, but only if verbose.
280
281 2002-07-01  David Shaw  <dshaw@jabberwocky.com>
282
283         * gpgkeys_hkp.c (parse_hkp_index): Error if the keyserver returns
284         an unparseable HKP response.
285
286         * gpgkeys_hkp.c (main): Warn on honor-http-proxy,
287         broken-http-proxy, and include-subkeys (not supported yet).
288
289         * gpgkeys_ldap.c (main), gpgkeys_hkp.c (http_connect, main): Fix
290         some shadowing warnings.
291
292 2002-06-11  David Shaw  <dshaw@jabberwocky.com>
293
294         * Makefile.am: Don't hard-code the LDAP libraries - get them from
295         LDAPLIBS via configure.  Also, gpgkeys_hkp is a program, not a
296         script.
297
298 2002-06-10  David Shaw  <dshaw@jabberwocky.com>
299
300         * gpgkeys_ldap.c (include_subkeys): Default "include-subkeys" to
301         off, since GnuPG now defaults it to on.
302
303 2002-06-06  David Shaw  <dshaw@jabberwocky.com>
304
305         * gpgkeys_hkp.c (parse_hkp_index): Type tweaks.
306
307         * gpgkeys_hkp.c (main): Add experimental code warning.
308
309 2002-06-05  David Shaw  <dshaw@jabberwocky.com>
310
311         * Makefile.am, gpgkeys_hkp.c (new): Experimental HKP keyserver
312         interface.
313
314 2002-05-08  David Shaw  <dshaw@jabberwocky.com>
315
316         * gpgkeys_ldap.c: Include <lber.h> if we absolutely must.  This
317         helps when compiling against a very old OpenLDAP.
318
319 2002-04-29  David Shaw  <dshaw@jabberwocky.com>
320
321         * gpgkeys_mailto.in: Properly handle key requests in full
322         fingerprint form.
323
324 2002-03-29  David Shaw  <dshaw@jabberwocky.com>
325
326         * gpgkeys_ldap.c (printquoted): Quote backslashes within keyserver
327         search responses.
328
329 2002-02-25  David Shaw  <dshaw@jabberwocky.com>
330
331         * gpgkeys_ldap (get_key): LDAP keyservers do not support v3
332         fingerprints, so error out if someone tries.  Actually, they don't
333         support any fingerprints, but at least we can calculate a keyid
334         from a v4 fingerprint.
335
336 2002-02-23  David Shaw  <dshaw@jabberwocky.com>
337
338         * gpgkeys_ldap: Clarify the notion of a partial failure.  This is
339         possible if more than one key is being handled in a batch, and one
340         fails while the other succeeds.  Note that a search that comes up
341         with no results is not a failure - that is a valid response of "no
342         answer".
343
344         * gpgkeys_ldap.c (get_key): Allow GnuPG to send us full v4
345         fingerprints, long key ids, or short key ids while fetching.
346         Since the LDAP server doesn't actually handle fingerprints, chop
347         them down to long key ids for actual use.
348
349         * gpgkeys_ldap.c (main, get_key): When searching for a keyid,
350         search for subkeys as well as primary keys.  This is mostly
351         significant when automatically fetching the key based on the id in
352         a header (i.e. "signature made by....").  "no-include-subkeys"
353         disables.
354
355 2002-02-14  David Shaw  <dshaw@jabberwocky.com>
356
357         * gpgkeys_ldap.c: Fix compiler warning.
358
359         * gpgkeys_ldap.c: Be much more robust with mangled input files.
360
361 2001-12-28  David Shaw  <dshaw@jabberwocky.com>
362
363         * gpgkeys_mailto.in: Use the new OUTOFBAND indicator so gpg knows
364         not to try and import anything.  Also turn on perl -w for
365         warnings.
366
367         * gpgkeys_ldap.c (main): If we're using temp files (rather than
368         stdin/stdout), make sure the file is closed when we're done.
369
370 2001-12-20  David Shaw  <dshaw@jabberwocky.com>
371
372         * Properly free the LDAP response when we're done with it.
373
374         * Now that we handle multiple keys, we must remove duplicates as
375         the LDAP keyserver returns keys with multiple user IDs multiple
376         times.
377
378         * Properly handle multiple keys with the same key ID (it's really
379         rare, so fetch "0xDEADBEEF" to test this).
380
381 2001-12-17  David Shaw  <dshaw@jabberwocky.com>
382
383         * gpgkeys_ldap.c, gpgkeys_mailto.in: Fix GNU capitalization
384         issues.  Prefix log messages with "gpgkeys" to clarify which
385         program is generating them.
386
387 2001-12-14  David Shaw  <dshaw@jabberwocky.com>
388
389         * gpgkeys_ldap.c (search_key): Use unsigned int rather than uint
390         for portability.
391
392 2001-12-04  David Shaw  <dshaw@jabberwocky.com>
393
394         * Initial version of gpgkeys_ldap (LDAP keyserver helper) and
395         gpgkeys_mailto (email keyserver helper)
396
397         
398  Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
399
400  This file is free software; as a special exception the author gives
401  unlimited permission to copy and/or distribute it, with or without
402  modifications, as long as this notice is preserved.
403
404  This file is distributed in the hope that it will be useful, but
405  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
406  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
407