Disable the "quick check" bytes for PK decryptions. This is in
[gnupg.git] / g10 / ChangeLog
index 154bb5f..c3cf99e 100644 (file)
@@ -1,3 +1,216 @@
+2005-02-09  David Shaw  <dshaw@jabberwocky.com>
+
+       * encr-data.c (decrypt_data): Use it here to turn off the "quick
+       check" bytes for PK decryptions.  This is in regards to the Mister
+       and Zuccherato attack on OpenPGP CFB mode.
+
+       * mainproc.c (proc_symkey_enc): Set a flag to indicate that a
+       particular session key came from a passphrase and not a PK.
+
+2005-02-06  David Shaw  <dshaw@jabberwocky.com>
+
+       * trustdb.h, trustdb.c (trustdb_check_or_update): New.  If the
+       trustdb is dirty and --interactive is set, do an --update-trustdb.
+       If not interactive, do a --check_trustdb unless
+       --no-auto-check-trustdb is set.
+
+       * import.c (import_keys_internal): Moved from here.
+
+       * keyserver.c (keyserver_refresh): Call it here after all
+       refreshing has happened so that we don't rebuild after each
+       preferred keyserver set of imports, but do one big rebuild at the
+       end.  This is Debian bug #293816, noted by Kurt Roeckx.
+
+2005-02-04  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (merge_selfsigs_subkey): Merged away definition from
+       the backsigs code.
+
+2005-01-31  David Shaw  <dshaw@jabberwocky.com>
+
+       * keygen.c (do_generate_keypair): Write the auth key to the card
+       before the encryption key.  This is a partial workaround for a PGP
+       bug (as of this writing, all versions including 8.1), that causes
+       it to try and encrypt to the most recent subkey regardless of
+       whether that subkey is actually an encryption type.  In this case,
+       the auth key is an RSA key so it succeeds.
+
+2005-01-27  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyid.c (keyid_from_sk, keyid_from_pk): Use 0xFFFFFFFFFFFFFFFF
+       instead of 0x0000000000000000 for the invalid key ID since
+       all-zeroes is reserved for the anonymous recipient.
+
+       * keyedit.c (change_passphrase), keygen.c (generate_subkeypair):
+       Fix a string ;)
+
+2005-01-27  Werner Koch  <wk@g10code.com>
+
+       * parse-packet.c (listfp): New.
+       (set_packet_list_mode): Intialize it to stdout or stderr depending
+       on a global option.  Made all printing in list mode use LISTFP.
+
+       * keygen.c (generate_subkeypair): Detect primary key on-card and
+       ask for the passphrase.  Return an error if the primary key is a
+       plain stub.
+
+       * keyedit.c (change_passphrase): Don't ever change any stub key.
+       Print a note if a key consists of only stub keys.  Reported by
+       Dany Nativel.  These are bugs #401 and #402.
+
+2005-01-26  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c (parse_ccid_descriptor): Need the CSM workaround
+       also for newer firmware versions.  Need to get a list of fixed
+       firmware versions and use that.
+
+2005-01-26  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (parse_keyserver_uri): Allow RFC-2732 IPv6 [literal
+       address] syntax in keyserver URLs.
+       (keyserver_typemap): Map ftps if we are supporting it.
+
+2005-01-25  Werner Koch  <wk@g10code.com>
+
+       * keygen.c (do_generate_keypair): Don't continue after an error;
+       fixed at two places. Why at all didn't I used a goto to cleanup,
+       tsss?
+
+       * app-openpgp.c (get_cached_data): New arg GET_IMMEDIATE to bypass
+       the cache.  Changed all callers.
+       (get_one_do): Bypass the cache if the value would have been read
+       directly for v1.1 cards.  It makes things a bit slower but only for
+       1.0 cards and there are not that many cards out in the wild.  This
+       is required to fix a caching bug when generating new keys; as a
+       side effect of the retrieval of the the C4 DO from the 6E DO the
+       chaced fingerprint will get updated to the old value and later
+       when signing the generated key the checking of the fingerprint
+       fails becuase it won't match the new one.  Thanks to Moritz for
+       analyzing this problem.
+       (verify_chv3): Removed the CHV status reread logic because we
+       won't cache the C4 DO anymore.
+
+2005-01-21  David Shaw  <dshaw@grover.jabberwocky.com>
+
+       * keyserver.c (free_keyserver_spec): Fix small leak.
+       (keyserver_typemap): Map https if we are supporting it.
+
+2005-01-20  Werner Koch  <wk@g10code.com>
+
+       * cardglue.c (open_card): Issue new CARDCTRL(4) status.
+
+       * gpgv.c (tty_fprintf): New stub.
+
+       * card-util.c (card_status): Create a secret key stub on the fly
+       and print more information about a card key.
+       * import.c (pub_to_sec_keyblock, auto_create_card_key_stub): New.
+       * getkey.c (get_seckeyblock_byfprint): New.
+       * keylist.c (print_card_key_info): New.
+
+       * g10.c (i18n_init) [W32]: Pass registry key to gettext
+       initialization.
+       * gpgv.c (i18n_init) [W32]: Ditto.
+
+2005-01-18  Werner Koch  <wk@g10code.com>
+
+       * misc.c (default_homedir): New.  Taken from gnupg 1.9.15.
+       * g10.c (main): Use it.
+       * gpgv.c (main): Ditto.
+
+       * keylist.c (public_key_list): Do a trustdb staleness check before
+       opening the keyring.
+       (secret_key_list): Ditto.
+
+2005-01-10  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (keyedit_menu): Move command strings outside the
+       function to get ready for the readline completion code.
+
+       * passphrase.c (readline, agent_send_option, agent_open,
+       agent_get_passphrase, passphrase_clear_cache): Rename readline()
+       to readaline() to keep readline library namespace clear.
+
+2005-01-06  David Shaw  <dshaw@jabberwocky.com>
+
+       * filter.h, armor.c (armor_filter): Use the eol string from the
+       armor filter context instead of hardcoding '\n' or '\r\n'.  If no
+       eol string is provided, default to '\n' or '\r\n' as appropriate.
+       (is_armor_header): Trim tabs in armor header lines as well.
+
+       * keyserver.c (keyserver_spawn): Use it here to force '\n' line
+       endings since the keyserver output file gets a LF->CRLF expansion
+       on win32.
+
+2005-01-05  David Shaw  <dshaw@jabberwocky.com>
+
+       * g10.c (main): Typo.
+
+       * armor.c (is_armor_header): Allow CR and LF (not just actual
+       spaces) in an armor header line (-----BEGIN etc).  This is needed
+       due to CRLF issues on win32.  As before, --openpgp makes it
+       strict.
+
+2005-01-03  David Shaw  <dshaw@jabberwocky.com>
+
+       * Makefile.am: Use @LIBUSB@ instead of @LIBUSB_LIBS@
+
+       * import.c (delete_inv_parts): Comments on import-unusable-sigs.
+
+2005-01-01  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, import.c (parse_import_options, delete_inv_parts):
+       Add import-unusable-sigs flag to enable importing unusable
+       (currently: expired) sigs.
+
+       * options.h, export.c (parse_export_options, do_export_stream):
+       Add export-unusable-sigs flag to enable exporting unusable
+       (currently: expired) sigs.
+
+2004-12-29  David Shaw  <dshaw@jabberwocky.com>
+
+       * packet.h, getkey.c (merge_selfsigs_main, sig_to_revoke_info),
+       keyid.c (revokestr_from_pk), keyedit.c (show_key_with_all_names):
+       Show who revoked a key (either the same key or a designated
+       revoker) and when.
+
+2004-12-28  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c (find_endpoint): New.
+       (scan_or_find_devices): Add new args to return endpoint info and
+       interface number.
+       (ccid_open_reader, ccid_shutdown_reader): Take care of these new
+       args.
+       (bulk_in, bulk_out): Use the correct endpoints.
+       (ccid_transceive_apdu_level): New.
+       (ccid_transceive): Divert to above.
+       (parse_ccid_descriptor): Allow APDU level exchange mode.
+       (do_close_reader): Pass the interface number to usb_release_interface.
+
+2004-12-24  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_typemap): Only map HTTP and FTP if
+       libcurl has specifically been selected to handle them.
+
+2004-12-22  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, keyserver.c (parse_keyserver_uri): Properly parse
+       auth data from URLs and pass to keyserver helpers.
+
+       * keyserver.c (keyserver_typemap): New.  Map certain keyserver
+       types to a common type (e.g. ldaps -> ldap).  If we are building
+       with curl, map both http and ftp to curl.
+
+       * build-packet.c (build_sig_subpkt): Only allow one preferred
+       keyserver subpacket at a time.
+
+2004-12-21  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (menu_set_keyserver_url): Make sure we only operate on
+       the chosen selfsig so we don't accidentally promote an older
+       selfsig to chosen.  Discovered by Simon Josefsson and 'Todd'.
+
+       * keygen.c (ask_expire_interval): Fix typo.
+
 2004-12-20  David Shaw  <dshaw@jabberwocky.com>
 
        * keylist.c (list_keyblock_print): Secret key listings should
@@ -10988,7 +11201,7 @@ Thu Feb 12 22:24:42 1998  Werner Koch  (wk@frodo)
 
 
  Copyright 1998, 1999, 2000, 2001, 2002, 2003,
-          2004 Free Software Foundation, Inc.
+          2004, 2005 Free Software Foundation, Inc.
 
  This file is free software; as a special exception the author gives
  unlimited permission to copy and/or distribute it, with or without