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