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