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