* g10.c (main): Default {export|import}-unusable-sigs to off until the
[gnupg.git] / g10 / ChangeLog
index aed7b32..87608c3 100644 (file)
@@ -1,5 +1,624 @@
+2005-05-26  David Shaw  <dshaw@jabberwocky.com>
+
+       * g10.c (main): Default {export|import}-unusable-sigs to off until
+       the "clean" UI can be finished.
+
+2005-05-24  Werner Koch  <wk@g10code.com>
+
+       * passphrase.c (ask_passphrase): Unescape the description string.
+       * cardglue.c (unescape_status_string): Removed.  Changed all
+       caller to use ...
+       * misc.c (unescape_percent_string): New.
+
+       * g10.c (add_notation_data): Check number of at-signs.
+
+2005-05-23  Werner Koch  <wk@g10code.com>
+
+       * app-openpgp.c, app-common.h: Again updated from gnupg 1.9 CVS.
+
+       * cardglue.c (open_card): Check USE_AGENT.
+       (agent_scd_checkpin): Implemented Assuan part.
+       (agent_scd_change_pin): Ditto.
+
+       * g10.c (main): Option --debug-ccid-driver may now be given
+       several times increase the debug level.
+
+       * ccid-driver.c (parse_ccid_descriptor): Mark SCR335 FW version
+       5.14 as good.
+       (do_close_reader): Never do a reset. The caller should instead
+       make sure that the reader has been closed properly.  The new retry
+       code in ccid_slot_status will make sure that the readersatrts up
+       fine even if the last process didn't closed the USB connection
+       properly.
+       (ccid_get_atr): For certain readers try switching to ISO mode.
+       Thanks to Ludovic Rousseau for this hint and the magic numbers.
+       (print_command_failed): New.
+       (bulk_in): Use it here. Add new arg NO_DEBUG.
+       (ccid_slot_status): Disabled debugging.
+
+2005-05-21  Werner Koch  <wk@g10code.com>
+
+       * cardglue.c (send_status_info): Make CTRL optional.
+       (agent_scd_writekey, inq_writekey_parms): New.
+       (agent_openpgp_storekey): Removed.
+       * cardglue.h: Add a few more error code mappings.
+       * keygen.c (copy_mpi): Removed.
+       (save_unprotected_key_to_card): Changed to use agent_scd_writekey.
+       * app-common.h, app-openpgp.c, tlv.c, tlv.h: Updated from newer
+       version in gnupg 1.9 CVS.
+
+2005-05-20  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c (ccid_transceive): Arghhh.  The seqno is another
+       bit in the R-block than in the I block, this was wrong at one
+       place. Fixes bug #419 and hopefully several others.
+
+2005-05-19  Werner Koch  <wk@g10code.com>
+
+       * app-common.h, app-openpgp.c, tlv.c, tlv.h: Updated from newer
+       version in gnupg 1.9 CVS.
+
+2005-05-18  Werner Koch  <wk@g10code.com>
+
+       * passphrase.c (agent_open): Made global and add arg TRY.
+       (agent_close): Made global.
+
+       * app-common.h (app_t): Add a field to store the Assuan context.
+
+2005-05-13  David Shaw  <dshaw@jabberwocky.com>
+
+       * build-packet.c (do_comment): Removed.
+       (build_packet): Ignore comment packets.
+
+       * export.c (do_export_stream): Don't export comment packets any
+       longer.
+
+       * options.h, g10.c (main): Remove --sk-comments and
+       --no-sk-comments options, and replace with no-op.
+
+2005-05-11  David Shaw  <dshaw@jabberwocky.com>
+
+       * keygen.c (write_selfsigs): Rename from write_selfsig.  Write the
+       same selfsig into both the pk and sk, so that someone importing
+       their sk (which will get an autoconvert to the pk) won't end up
+       with two selfsigs.
+       (do_generate_keypair): Call it from here.
+
+       * parse-packet.c (can_handle_critical_notation): New.  Check for
+       particular notation tags that we will accept when critical.
+       Currently, that's only preferred-email-encoding@pgp.com, since we
+       know how to handle it (pass it through to a mail program).
+       (can_handle_critical): Call it from here.
+       (parse_one_sig_subpkt): Sanity check that notations are
+       well-formed in that the internal lengths add up to the size of the
+       subpacket.
+
+2005-05-07  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c (do_close_reader): Don't do a reset before close.
+       Some folks reported that it makes the SCR335 hang less often.
+       Look at the source on how to re-enable it.
+
+2005-05-06  David Shaw  <dshaw@jabberwocky.com>
+
+       * main.h, keygen.c (parse_expire_string, ask_expire_interval),
+       sign.c (sign_file, clearsign_file, sign_symencrypt_file), g10.c
+       (main), keyedit.c (sign_uids): Use seconds rather than days
+       internally to calculate expiration.  We no longer need the
+       day-based code as we don't generate v3 keys.
+
+       * sign.c (sign_file, clearsign_file, sign_symencrypt_file): Use
+       the default sig expire value when signing in batchmode.
+
+2005-05-05  David Shaw  <dshaw@jabberwocky.com>
+
+       * Makefile.am, packet.h, main.h, comment.c: Remove comment.c.  We
+       don't use any of these functions any longer.
+
+       * keygen.c (start_tree): New function to "prime" a KBNODE list.
+       (do_generate_keypair): Use it here rather than creating and
+       deleting a comment packet.
+
+       * keygen.c (gen_elg, gen_dsa): Do not put public factors in secret
+       key as a comment.
+
+       * options.h, encode.c (encode_simple, encode_crypt), keygen.c
+       (do_create): Remove disabled comment packet code.
+
+       * keygen.c (keygen_set_std_prefs): Add SHA256 and BZip2 to default
+       preferences.
+
+       * options.h, g10.c (main): Add new --default-sig-expire and
+       --default-cert-expire options.  Suggested by Florian Weimer.
+
+       * main.h, keygen.c (parse_expire_string, ask_expire_interval): Use
+       defaults passed in, or "0" to control what default expiration is.
+
+       * keyedit.c (sign_uids), sign.c (sign_file, clearsign_file,
+       sign_symencrypt_file): Call them here, so that default expiration
+       is used when --ask-xxxxx-expire is off.
+
+2005-05-03  Werner Koch  <wk@g10code.com>
+
+       * passphrase.c (agent_get_passphrase): Add new arg CACHEID.
+       Changed all callers.
+       (ask_passphrase): Add new arg CACHEID and use it in agent mode.
+       Changed all callers.
+       (passphrase_clear_cache): New arg CACHEID.  Changed all callers.
+       * cardglue.c (format_cacheid): New.
+       (pin_cb): Compute a cache ID.
+       (agent_scd_pksign, agent_scd_pkdecrypt): Use it.
+       (agent_clear_pin_cache): New.
+       * card-util.c (change_pin): Clear the PIN cache.
+       (check_pin_for_key_operation): Ditto.
+
+2005-04-24  David Shaw  <dshaw@jabberwocky.com>
+
+       * trustdb.h, trustdb.c (mark_usable_uid_certs): Add flags for the
+       no-pubkey and chosen revocation cases.
+       (clean_uid): New function to clean a user ID of unusable (as
+       defined by mark_usable_uid_certs) certs.
+
+       * keyedit.c (keyedit_menu, menu_clean_uids): Call it here for new
+       "clean" command that removes unusable sigs from a key.
+
+       * trustdb.h, keyedit.c (keyedit_menu, menu_select_uid_namehash):
+       Allow specifying user ID via the namehash from --with-colons
+       --fixed-list-mode --list-keys.  Suggested by Peter Palfrader.
+
+2005-04-21  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (sign_uids, keyedit_menu): When the user requests to
+       sign a key without specifying which user IDs to sign, and declines
+       to sign all user IDs, walk through the set of user IDs and prompt
+       for which to sign.
+
+       * mainproc.c (symkey_decrypt_seskey): There is no need to have an
+       extra check for a bad passphrase and/or unknown cipher algorithm
+       here.  We'll fail quite happily later, and usually with a better
+       error message to boot.
+
+2005-04-20  Werner Koch  <wk@g10code.com>
+
+       * sign.c (sign_file, sign_symencrypt_file): Allow for hash
+       debugging.
+
+2005-04-16  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_spawn): Free some memory.
+
+       * sign.c (hash_for): Comments.
+
+2005-04-11  Werner Koch  <wk@g10code.com>
+
+       * g10.c (main, add_notation_data, add_policy_url)
+       (add_keyserver_url): Use isascii() to protect the isfoo macros and
+       to replace direct tests.  Possible problems noted by Christian
+       Biere.
+       * keyserver.c (parse_keyserver_uri): Ditto.
+
+2005-04-07  Werner Koch  <wk@g10code.com>
+
+       * g10.c (main): Declare --pipemode deprecated.
+       * misc.c (deprecated_command): New.
+
+       * ccid-driver.c (ccid_slot_status): Fixed debug messages.
+
+       * card-util.c (card_edit): Add command "verify".  Enhanced admin
+       command to allow optional arguments "on", "off" and "verify".
+       (card_status): Print private DOs in colon mode.
+       * app-openpgp.c (do_check_pin): Add hack to allow verification of
+       CHV3.
+
+2005-04-01  Werner Koch  <wk@g10code.com>
+
+       * keygen.c (keygen_set_std_prefs): Explain the chosen order of
+       AES key sizes. 
+
+2005-04-01  David Shaw  <dshaw@jabberwocky.com>
+
+       * mainproc.c (proc_plaintext): Properly handle SIG+LITERAL
+       (old-style PGP) signatures that use hashes other than SHA-1,
+       RIPEMD160, or MD5.
+
+2005-03-31  David Shaw  <dshaw@jabberwocky.com>
+
+       * exec.h, exec.c (set_exec_path): Remove some dead code and change
+       all callers.  We no longer need to append to $PATH.
+
+2005-03-31  Werner Koch  <wk@g10code.com>
+
+       * passphrase.c (agent_open): Dropped support for W32 - is was
+       never actually used.  Removed support for the old non-assuan
+       protocol; there has never been a matured implementation and
+       gpg-agent is now arround for quite some time.  Rewritten to make
+       use of the Assuan code from ../util.
+       (gpga_protocol_codes): Removed.
+       (readn): Removed.
+       (agent_close): Simplified for use with Assuan.
+       (agent_get_passphrase, passphrase_clear_cache): Removed support
+       for old protocol.  Use only with ENABLE_CARD_SUPPORT defined.
+       (agent_send_all_options): Take assuan context instead of a file
+       descriptor.
+       (agent_send_option): Likewise. Use assuan_transact.
+       * passphrase.c (writen, readaline): Removed.
+
+       * g10.c (main): Print a warning if --use-agent has been used but
+       it has not been build with support for it.
+
+       * keydb.c (keydb_add_resource): Clarify meaning of flags.  Add new
+       flag 4.  Use log_info for errors registering the default secret key.
+       * g10.c (main): Flag the default keyrings.
+
+2005-03-30  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_spawn): Don't mess about with the $PATH.
+       Rather, call keyserver helpers with the full path.  This fixes
+       some PATH-inspired DLL problems on W32.  Noted by Carlo Luciano
+       Bianco.
+
+2005-03-30  Werner Koch  <wk@g10code.com>
+
+       * cardglue.c (pin_cb): Print a warning if the info string hack is
+       not there.  This may happen due to typos in the translation.
+
+2005-03-22  Werner Koch  <wk@g10code.com>
+
+       * misc.c (w32_shgetfolderpath) [W32]: Changed declaration of
+       function ptr.  Noted by Tim Costello. 
+       * apdu.c [W32]: Changed declaration of dlopened function pointers.
+
+2005-03-21  David Shaw  <dshaw@jabberwocky.com>
+
+       * gpgv.c: Stubs for tty_enable_completion() &
+       tty_disable_completion().
+
+       * openfile.c (ask_outfile_name): Enable readline completion when
+       prompting for an output filename.
+
+       * plaintext.c (ask_for_detached_datafile): Enable readline
+       completion when prompting for a detached sig datafile.
+
+2005-03-21  Werner Koch  <wk@g10code.com>
+
+       * keyedit.c (command_generator, keyedit_completion): Changed
+       indentation.
+       * card-util.c (command_generator, card_edit_completion): Ditto.
+
+2005-03-19  David Shaw  <dshaw@jabberwocky.com>
+
+       * card-util.c (command_generator, card_edit_completion)
+       [GNUPG_MAJOR_VERSION==1 && HAVE_LIBREADLINE]: New functions to
+       enable command completion in the --card-edit menu.
+       (card_edit): Call them here.
+
+2005-03-18  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (command_generator, keyedit_completion)
+       [HAVE_LIBREADLINE]: New functions to enable command completion in
+       the --edit-key menu.
+       (keyedit_menu): Call them here.
+
+2005-03-17  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (get_seckey_byname2): If no explicit default key is
+       set, don't pick a disabled default.  Noted by David Crick.
+
+       * Makefile.am: Calculate GNUPG_LIBEXECDIR directly.  Do not
+       redefine $libexecdir.
+
+       * options.h, keyserver.c (parse_keyserver_options)
+       (keyserver_spawn): Don't treat 'verbose' and 'include-disabled' as
+       special.  Just pass them through silently to the keyserver helper.
+
+2005-03-16  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c (parse_ccid_descriptor): Make SCM workaround
+       reader type specific.
+       (scan_or_find_devices): Do not check the interface subclass in the
+       SPR532 kludge, as this depends on the firmware version.
+       (ccid_get_atr): Get the Slot status first.  This solves the
+       problem with readers hanging on recent Linux 2.6.x.
+       (bulk_in): Add argument TIMEOUT and changed all callers to pass an
+       appropriate one.  Change the standard timeout from 10 to 5 seconds.
+       (ccid_slot_status): Add a retry code with an initial short timeout.
+       (do_close_reader): Do an usb_reset before closing the reader.
+
+2005-03-14  Werner Koch  <wk@g10code.com>
+
+       * card-util.c (card_status): Use isotimestamp and not the
+       localized asctimestamp to match the timezone used in the key
+       information.
+
+       * cardglue.c (pin_cb): Disable debug output.
+
+2005-03-11  Werner Koch  <wk@g10code.com>
+
+       * keygen.c (gen_card_key_with_backup): Write status line with the
+       backup filename.
+
+       * status.h, status.h (STATUS_BACKUP_KEY_CREATED): New.
+
+2005-03-10  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (parse_keyserver_options): Accept honor-http-proxy
+       as an alias for http-proxy.
+
+       * delkey.c (do_delete_key, delete_keys): Fix problem with --expert
+       preventing --delete-secret-and-public-keys from deleting secret
+       keys.
+
+2005-03-10  Werner Koch  <wk@g10code.com>
+
+       * keyedit.c (keyedit_menu) [W32]: Run the trustdb stale check
+       earlier.
+
+2005-03-07  Werner Koch  <wk@g10code.com>
+
+       * cardglue.c (agent_scd_pkdecrypt, agent_scd_pksign) 
+       (agent_scd_genkey, agent_scd_setattr, agent_scd_change_pin) 
+       (agent_scd_checkpin, agent_openpgp_storekey): Make sure to send a
+       SC_OP_FAILURE after card operations which might change data.
+       * card-util.c (change_pin): Send a SC_OP_SUCCESS after a PIN has
+       been changed.
+       (change_name): Removed a debug output.
+       * status.h, status.c: New codes BAD_PASSPHRASE_PIN, SC_OP_FAILURE
+       and SC_OP_SUCCESS.
+
+2005-02-24  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (keyedit_menu): Only print the key signing hint when
+       signing from a place where it is useful (i.e. --edit-key and not
+       --sign-key).
+
+2005-02-16  Werner Koch  <wk@g10code.com>
+
+       * card-util.c (fetch_url): Fetch the key from the default
+       keyserver if no URL is available.
+
+2005-02-15  Werner Koch  <wk@g10code.com>
+
+       * passphrase.c (agent_get_passphrase): Don't call free_public_key
+       if PK is NULL.
+       (passphrase_clear_cache): Ditto. Removed debug output.
+       (passphrase_to_dek): Ditto.
+
+2005-02-13  Werner Koch  <wk@g10code.com>
+
+       * keyedit.c (cmds): Limit code to 80 columns. Add command
+       BKUPTOCARD.
+
+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-08  Werner Koch  <wk@g10code.com>
+
+       * misc.c (w32_shgetfolderpath): New.
+       (default_homedir): Use it to avoid problems under Windows95.
+
+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
+       always show everything (expired UIDs, revoked subkeys, etc, etc).
+
+       * keyedit.c (keyedit_menu): Add additional help for the "sign"
+       flags.
+
 2004-12-20  Werner Koch  <wk@g10code.com>
 
+       * keygen.c (ask_expire_interval): For better translations chnage 2
+       strings.
+
        * seckey-cert.c (do_check): Handle case when checksum was okay but
        passphrase still wrong.  Roman Pavlik found such a case.
 
@@ -10977,7 +11596,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