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