* gpg.c (print_mds), armor.c (armor_filter, parse_hash_header): Add
[gnupg.git] / g10 / ChangeLog
index c5992a0..50bbefc 100644 (file)
@@ -1,3 +1,703 @@
+2006-04-19  David Shaw  <dshaw@jabberwocky.com>
+
+       * gpg.c (print_mds), armor.c (armor_filter, parse_hash_header):
+       Add SHA-224.
+
+       * sign.c (write_plaintext_packet), encode.c (encode_simple):
+       Factor common literal packet setup code from here, to...
+
+       * main.h, plaintext.c (setup_plaintext_name): Here. New. Make sure
+       the literal packet filename field is UTF-8 encoded.
+
+       * options.h, gpg.c (main): Make sure --set-filename is UTF-8
+       encoded and note when filenames are already UTF-8.
+
+2006-04-18  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (menu_backsign): Give some more verbose errors when we
+       have no need to backsign.
+
+2006-04-11  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.skel, photoid.c (get_default_photo_command): Find an
+       image viewer at runtime.  Seems FC5 doesn't have xloadimage.
+
+2006-04-08  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (parse_auto_key_locate): Fix dupe-removal code.
+
+       * keyedit.c (menu_backsign): Allow backsigning even if the secret
+       subkey doesn't have a binding signature.
+
+       * armor.c (radix64_read): Don't report EOF when reading only a pad
+       (=) character.  The EOF actually starts after the pad.
+
+       * gpg.c (main): Make --export, --send-keys, --recv-keys,
+       --refresh-keys, and --fetch-keys follow their arguments from left
+       to right.  Suggested by Peter Palfrader.
+
+2006-04-08  Werner Koch  <wk@g10code.com>
+
+       * mainproc.c (list_node): Print ring trust value only if not empty
+       and --with-colons has been given.
+
+2006-04-05  Werner Koch  <wk@g10code.com>
+
+       * getkey.c (user_id_not_found_utf8): New.
+       (get_primary_uid, get_user_id): Use it.  Fixes Debian bug #205028
+       in the right way.
+
+2006-04-03  Werner Koch  <wk@g10code.com>
+
+       * import.c (check_prefs_warning): Merged strings for better
+       translation.
+
+       * gpg.c (main) [__GLIBC__]: Default to libpcsclite.so.1.
+
+       * status.h, status.c (STATUS_BEGIN_SIGNING): New.  Suggested by
+       Daiki Ueno.
+       * textfilter.c (copy_clearsig_text): Issue new status code.
+       * sign.c (sign_file, sign_symencrypt_file): Ditto.
+
+2006-03-31  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (get_pubkey_byname): Fix missing auto_key_retrieve
+       unlock.  Fix strings to not start with a capital letter as per
+       convention.
+
+2006-03-30  David Shaw  <dshaw@jabberwocky.com>
+
+       * main.h, seskey.c (encode_md_value): Modify to allow a q size
+       greater than 160 bits as per DSA2.  This will allow us to verify
+       and issue DSA2 signatures for some backwards compatibility once we
+       start generating DSA2 keys.     
+       * sign.c (do_sign), sig-check.c (do_check): Change all callers.
+
+       * sign.c (do_sign): Enforce the 160-bit check for new signatures
+       here since encode_md_value can handle non-160-bit digests now.
+       This will need to come out once the standard for DSA2 is firmed
+       up.
+
+2006-03-28  Werner Koch  <wk@g10code.com>
+
+       * openfile.c (overwrite_filep): Fix small cpr issue.  Noted by
+       Daiki Ueno.
+
+2006-03-22  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (parse_auto_key_locate): Silently strip out duplicates
+       rather than causing an error.
+
+2006-03-22  Werner Koch  <wk@g10code.com>
+
+       * sig-check.c (signature_check2): Changed warning URL to include faq.
+       * misc.c (idea_cipher_warn): Ditto.
+
+2006-03-22  David Shaw  <dshaw@jabberwocky.com>
+
+       * mainproc.c (get_pka_address): Fix bug introduced as part of
+       sig_to_notation conversion.  Noted by Peter Palfradrer.
+
+2006-03-21  Werner Koch  <wk@g10code.com>
+
+       * cardglue.c (agent_scd_pksign): Allow the use of ripemd-160 along
+       with scdaemon.
+
+2006-03-16  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_import_cert): Handle the IPGP CERT type
+       for both the fingerprint alone, and fingerprint+URL cases.
+
+       * getkey.c (get_pubkey_byname): Minor cleanup.
+
+2006-03-13  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver-internal.h, keyserver.c (keyserver_import_pka): Use
+       the same API as the other auto-key-locate fetchers.
+
+       * getkey.c (get_pubkey_byname): Use the fingerprint of the key
+       that we actually fetched.  This helps prevent problems where the
+       key that we fetched doesn't have the same name that we used to
+       fetch it.  In the case of CERT and PKA, this is an actual security
+       requirement as the URL might point to a key put in by an attacker.
+       By forcing the use of the fingerprint, we won't use the attacker's
+       key here.
+
+       * keyserver-internal.h, keyserver.c (keyserver_spawn,
+       keyserver_work, keyserver_import_cert, keyserver_import_name,
+       keyserver_import_ldap): Pass fingerprint info through.
+
+       * main.h, import.c (import_one): Optionally return the fingerprint
+       of the key being imported.
+       (import_keys_internal, import_keys_stream, import): Change all
+       callers.
+
+2006-03-12  David Shaw  <dshaw@jabberwocky.com>
+
+       * sig-check.c (signature_check2): Print the backsig warning when
+       there is no backsig present.  Give a URL for more information.
+
+       * keyedit.c (menu_backsign): Small tweak to work properly with
+       keys originally generated with older GnuPGs that included comments
+       in the secret keys.
+
+2006-03-10  Werner Koch  <wk@g10code.com>
+
+       * card-util.c (get_manufacturer): Added Vendor 3
+
+2006-03-09  David Shaw  <dshaw@jabberwocky.com>
+
+       * build-packet.c (string_to_notation): Add ability to indicate a
+       notation to be deleted with a '-' prefix.
+
+       * keyedit.c (menu_set_notation): Use it here to allow deleting a
+       notation marked with '-'.  This works with either "-notation" or
+       "-notation=value".
+
+2006-03-08  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (menu_set_notation): New function to set notations on
+       self-signatures.
+       (keyedit_menu): Call it here.
+       (tty_print_notations): Helper.
+       (show_prefs): Show notations in "showpref".
+
+       * mainproc.c (get_pka_address)
+       * keylist.c (show_notation): Remove
+       duplicate code by using notation functions.
+
+       * packet.h, build-packet.c (sig_to_notation)
+       * keygen.c (keygen_add_notations): Provide printable text for
+       non-human-readable notation values.
+       
+       * packet.h, build-packet.c (sig_to_notation)
+       * keygen.c (keygen_add_notations): Tweak to handle non-human-readable
+       notation values.
+
+       * options.h, sign.c (mk_notation_policy_etc)
+       * gpg.c (add_notation_data): Use it here for the various notation
+       commands.
+
+       * packet.h, main.h, keygen.c (keygen_add_notations)
+       * build-packet.c (string_to_notation, sig_to_notation)
+       (free_notation): New "one stop shopping" functions to handle
+       notations and start removing some code duplication.
+
+2006-03-08  Werner Koch  <wk@g10code.com>
+
+       * mainproc.c (do_check_sig): Use log_error for standalone revocations.
+
+2006-03-07  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, mainproc.c (check_sig_and_print), gpg.c (main):
+       pka-lookups, not pka-lookup.
+
+       * options.h, gpg.c (main), keyedit.c [cmds], sig-check.c
+       (signature_check2): Rename "backsign" to "cross-certify" as a more
+       accurate name.
+
+       * options.h, gpg.c (main, parse_trust_model), pkclist.c
+       (check_signatures_trust), mainproc.c (check_sig_and_print,
+       pka_uri_from_sig), trustdb.c (init_trustdb): Some tweaks to PKA so
+       that it is a verify-option now.
+
+2006-03-07  Werner Koch  <wk@g10code.com>
+
+       * mainproc.c (proc_signature_packets): Return any_sig_seen to caller.
+       (check_sig_and_print): Option to partly allow the old behaviour.
+       * gpg.c: New option --allow-multisig-verification.
+
+2006-03-06  David Shaw  <dshaw@jabberwocky.com>
+
+       * sign.c (make_keysig_packet): Don't use MD5 for a RSA_S key as
+       that is not a PGP 2.x algorithm.
+
+       * mainproc.c (proc_compressed): "Uncompressed" is not a valid
+       compression algorithm.
+
+2006-03-06  Werner Koch  <wk@g10code.com>
+
+       * mainproc.c (check_sig_and_print): Made the composition test more
+       tight.  This is due to another bug report by Tavis Ormandy.
+       (add_onepass_sig): Simplified.
+
+2006-03-05  Werner Koch  <wk@g10code.com>
+
+       * plaintext.c (handle_plaintext): Replace assert by explict error
+       conflict message.  Reported by Tavis Ormandy.
+
+2006-03-02  Werner Koch  <wk@g10code.com>
+
+       * cardglue.c (check_card_serialno): Don't ask in batch mode.
+
+2006-03-01  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (parse_auto_key_locate): Error if the user selects
+       "cert" or "pka" when those features are disabled.
+
+       * misc.c (has_invalid_email_chars): Fix some C syntax that broke
+       the compilers on SGI IRIX MIPS and Compaq/DEC OSF/1 Alpha.  Noted
+       by Nelson H. F. Beebe.
+
+2006-02-27  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.skel: Document auto-key-locate and give a pointer to
+       Simon Josefsson's page for CERT.
+
+2006-02-24  David Shaw  <dshaw@jabberwocky.com>
+
+       * keydb.h, getkey.c (release_akl), gpg.c (main): Add
+       --no-auto-key-locate.
+
+       * options.h, gpg.c (main): Keep track of each keyserver registered
+       so we can match on them later.
+
+       * keyserver-internal.h, keyserver.c (cmp_keyserver_spec,
+       keyserver_match), gpgv.c: New.  Find a keyserver that matches ours
+       and return its spec.
+
+       * getkey.c (get_pubkey_byname): Use it here to get the
+       per-keyserver options from an earlier keyserver.
+
+2006-02-23  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (parse_keyserver_options): Only change max_cert if
+       it is used.
+
+       * options.c, gpg.c (main), keyserver.c (keyserver_spawn): No
+       special treatment of include-revoked, include-subkeys, and
+       try-dns-srv.  These are keyserver features, and GPG shouldn't get
+       involved here.
+
+       * keyserver.c (parse_keyserver_uri, add_canonical_option): Always
+       append options to the list, as ordering may be significant to the
+       user.
+
+       * gpg.c (add_notation_data): Fix reversed logic for isascii check
+       when adding notations.  Noted by Christian Biere.
+
+       * options.h, keyserver.c (add_canonical_option): New.
+       (parse_keyserver_options): Moved from here.
+       (parse_keyserver_uri): Use it here so each keyserver can have some
+       private options in addition to the main keyserver-options
+       (e.g. per-keyserver auth).
+
+2006-02-22  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, keyserver-internal.h, keyserver.c
+       (keyserver_import_name), getkey.c (free_akl,
+       parse_auto_key_locate, get_pubkey_byname): The obvious next step:
+       allow arbitrary keyservers in the auto-key-locate list.
+
+       * options.h, keyserver.c (parse_keyserver_options): Remove
+       auto-cert-retrieve as it is no longer meaningful.  Add
+       max-cert-size to allow users to pick a max key size retrieved via
+       CERT.
+
+       * options.h, gpg.c (main), mainproc.c (check_sig_and_print),
+       keyserver.c (keyserver_opts): Rename auto-pka-retrieve to
+       honor-pka-record to be consistent with honor-keyserver-url.
+
+       * options.h, keydb.h, g10.c (main), getkey.c
+       (parse_auto_key_locate): Parse a list of key access methods.
+       (get_pubkey_byname): Walk the list here to try and retrieve keys
+       we don't have locally.
+
+2006-02-21  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (get_pubkey_byname): Fix minor security problem with
+       PKA when importing at -r time.  The URL in the PKA record may
+       point to a key put in by an attacker.  Fix is to use the
+       fingerprint from the PKA record as the recipient.  This ensures
+       that the PKA record is followed.
+
+       * keyserver-internal.h, keyserver.c (keyserver_import_pka): Return
+       the fingerprint we requested.
+
+       * gpgv.c: Stub keyserver_import_ldap.
+
+       * keyserver-internal.h, keyserver.c (keyserver_import_ldap):
+       Import using the PGP Universal trick of asking
+       ldap://keys.(maildomain) for the key.
+
+2006-02-20  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (parse_keyserver_uri): Include the scheme in the uri
+       even when we've assumed "hkp" when there was no scheme.
+
+2006-02-20  Werner Koch  <wk@g10code.com>
+
+       * apdu.c (open_pcsc_reader): As a precaution set LIST to NULL
+       after free.
+
+2006-02-14  Werner Koch  <wk@gnupg.org>
+
+       * verify.c (verify_signatures): Print warning also for NO_DATA.
+
+       * mainproc.c (struct mainproc_context): New field any_sig_seen.
+       (add_signature): Set it.
+       (proc_signature_packets): Test and return NO_DATA.
+
+2006-02-09  Werner Koch  <wk@g10code.com>
+
+       * gpg.c (main) <oLockNever>: Disable random locking.
+
+2006-02-06  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c, ccid-driver.h: Updated from GnuPG 1.9.  Changes:
+       * ccid-driver.h (CCID_DRIVER_ERR_NO_KEYPAD): New.
+       * ccid-driver.c (send_escape_cmd): New args RESULT, RESULTLEN and
+       RESULTMAX.  Changed all callers.
+       (ccid_transceive_escape): New.
+       * ccid-driver.c (special_transport): New
+       (ccid_open_reader, do_close_reader, ccid_shutdown_reader)
+       (bulk_out, bulk_in): Add support for CardMan 4040 reader.
+       * ccid-driver.c (scan_or_find_devices): Factored most code out to
+       (scan_or_find_usb_device): .. new.
+       (make_reader_id): Fixed vendor mask.
+
+2006-01-24  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (parse_keyserver_uri): If there is a path present,
+       set the direct_uri flag so the right keyserver helper is run.
+
+2006-01-22  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_spawn): Include the EXEEXT so we can find
+       keyserver helpers on systems that use extensions.
+
+       * misc.c (path_access) [HAVE_DRIVE_LETTERS]: Do the right thing
+       with drive letter systems.
+
+2006-01-17  David Shaw  <dshaw@jabberwocky.com>
+
+       * keydb.h, passphrase.c (next_to_last_passphrase): New.  "Touch" a
+       passphrase as if it was used (move from next_pw to last_pw).
+
+       * pubkey-enc.c (get_session_key): Use it here to handle the case
+       where a passphrase happens to be correct for a secret key, but yet
+       that key isn't the anonymous recipient (i.e. the secret key could
+       be decrypted, but not the session key).  This also handles the
+       case where a secret key is located on a card and a secret key with
+       no passphrase.  Note this does not fix bug 594 (anonymous
+       recipients on smartcard do not work) - it just prevents the
+       anonymous search from stopping when the card is encountered.
+
+2006-01-07  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_refresh): Fix problem when more than one
+       key in a refresh batch has a preferred keyserver set.  Noted by
+       Nicolas Rachinsky.
+
+2006-01-01  David Shaw  <dshaw@jabberwocky.com>
+
+       * mainproc.c (check_sig_and_print), keyserver.c
+       (keyserver_import_pka), card-util.c (fetch_url): Always require a
+       scheme:// for keyserver URLs except when used as part of the
+       --keyserver command for backwards compatibility.
+
+       * sign.c (write_signature_packets): Lost a digest_algo line.
+
+       * sign.c (hash_for): Add code to detect if the sk lives on a smart
+       card.  If it does, only allow 160-bit hashes, a la DSA.  This
+       involves passing the *sk in, so change all callers.  This is
+       correct for today, given the current 160-bit q in DSA, and the
+       current SHA-1/RIPEMD160 support in the openpgp card.  It will
+       almost certainly need changing down the road.
+
+       * app-openpgp.c (do_sign): Give user error if hash algorithm is
+       not supported by the card.
+
+2005-12-23  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_import_pka): New.  Moved from
+       getkey.c:get_pubkey_byname which was getting crowded.
+
+       * keyserver.c (keyserver_import_cert): Import a key found in DNS
+       via CERT records.  Can handle both the PGP (actual key) and IPGP
+       (URL) CERT types.
+
+       * getkey.c (get_pubkey_byname): Call them both here.
+
+       * options.h, keyserver.c (parse_keyserver_options): Add
+       "auto-cert-retrieve" option with optional max size argument.
+
+       * gpgv.c: Stubs.
+
+       * keyserver-internal.h, keyserver.c (keyserver_spawn,
+       keyserver_work, keygerver_getname): New keyserver_getname function
+       to fetch keys by name.
+
+       * getkey.c (get_pubkey_byname): Call it here to enable locating
+       keys by full mailbox from a keyserver a la PKA.  Try PKA first,
+       though, as it is likely to be faster.
+
+2005-12-20  Werner Koch  <wk@g10code.com>
+
+       * gpg.c: New option --allow-pka-lookup.
+       (parse_trust_model): Add "+pka" variants.
+       (main): Make KEYSERVER_AUTO_PKA_RETRIEVE teh default.
+       * options.h (opt): New fields PKA_TRUST_INCREASE and
+       ALLOW_PKA_LOOKUP.
+       * status.h (STATUS_PKA_TRUST_BAD, STATUS_PKA_TRUST_GOOD): New.
+       * pkclist.c (check_signatures_trust): Increase trust due to valid
+       PKA only if that new option has been set.  Issue new status lines.
+       * trustdb.c (init_trustdb): Print info if this option is active.
+       * getkey.c (get_pubkey_byname): Honor allow-pka-lookup.
+       * mainproc.c (pka_uri_from_sig): Ditto.
+       
+       * trustdb.c (validate_keys): Print no "ultimately trusted keys
+       found" only in non-quiet mode.
+
+2005-12-19  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (merge_selfsigs_main): All primary keys can certify.
+
+2005-12-18  David Shaw  <dshaw@jabberwocky.com>
+
+       * gpg.c (main): Restore convert-sk-to-pk as programs rely on it.
+
+       * keyid.c (usagestr_from_pk): Remove special PUBKEY_USAGE_CERT
+       flag.  It's no longer needed.
+
+2005-12-14  David Shaw  <dshaw@jabberwocky.com>
+
+       * gpg.c (main): Don't default to import-options convert-sk-to-pk.
+       It causes confusing warning messages when importing a PGP-exported
+       key that contains a secret key without selfsigs followed by the
+       public key.
+
+2005-12-08  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_fetch): Switch on fast-import before we
+       --fetch-keys so we don't rebuild the trustdb after each fetch.
+
+2005-12-08  Werner Koch  <wk@g10code.com>
+
+       * gpg.c (main): Check for DBCS lead byte when converting the
+       homedir.  By Kazuyoshi Kakihara. Fixes PR561.
+
+       * keyserver.c (keyserver_fetch): Made strings translatable.
+
+2005-12-08  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, keyserver.c (curl_cant_handle, keyserver_spawn,
+       keyserver_fetch): Set a flag to indicate that we're doing a direct
+       URI fetch so we can differentiate between a keyserver operation
+       and a URI fetch for protocols like LDAP that can do either.
+
+2005-12-07  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyserver.c (keyserver_spawn): Don't print "searching for key
+       00000000" when fetching a URI.
+
+       * keyserver-internal.h, keyserver.c (keyserver_fetch): New.  Fetch
+       an arbitrary URI using the keyserver helpers.
+
+       * gpg.c (main): Call it from here for --fetch-keys.
+
+2005-12-07  Werner Koch  <wk@g10code.com>
+
+       * pkclist.c (do_we_trust): Add NOTREACHED comment.
+
+2005-11-20  David Shaw  <dshaw@jabberwocky.com>
+
+       * main.h, keylist.c (print_revokers): New.  Print the "rvk"
+       designated revoker record.  Moved from
+       keyedit.c:show_key_with_all_names_colon.
+
+       * keylist.c (list_keyblock_colon): Use it here ...
+
+       * keyedit.c (show_key_with_all_names_colon): ... and here.
+
+2005-11-19  David Shaw  <dshaw@jabberwocky.com>
+
+       * free-packet.c (copy_secret_key): Copy secret key into secure
+       memory since we may unprotect it.
+
+       * main.h, g10.c (main), revoke.c (gen_desig_revoke): Add local
+       user support so users can use -u with --desig-revoke.  This
+       bypasses the interactive walk over the revocation keys.
+
+2005-11-17  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (keyedit_menu, menu_clean): Simplify clean options to
+       just "clean", and add "minimize".
+
+       * import.c (parse_import_options): Make help text match the export
+       versions of the options.
+
+       * options.h, export.c (parse_export_options, do_export_stream):
+       Reduce clean options to two: clean and minimize.
+
+       * trustdb.h, trustdb.c (clean_one_uid): New function that joins
+       uid and sig cleaning into one for a simple API outside trustdb.
+
+2005-11-13  David Shaw  <dshaw@jabberwocky.com>
+
+       * armor.c (parse_header_line): A fussy bit of 2440: header lines
+       are delimited with a colon-space pair.  Therefore a line such as
+       "Comment: " (with a trailing space) is actually legal, albeit not
+       particularly useful.
+
+2005-11-11  David Shaw  <dshaw@jabberwocky.com>
+
+       * trustdb.h, trustdb.c (clean_key): New function to handle key
+       cleaning from one convenient place.
+
+       * options.h, import.c (parse_import_options,
+       clean_sigs_from_all_uids, import_one): Reduce clean options to
+       two: clean and minimize.
+
+       * parse-packet.c (setup_user_id): Remove.
+       (parse_user_id, parse_attribute): Just use xmalloc_clear instead.
+
+       * trustdb.c (clean_uid_from_key, clean_uids_from_key):
+       Significantly simpler implementation.
+
+2005-11-10  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (keyedit_menu, menu_clean_sigs_from_uids): Add
+       "minimize" command.
+
+       * packet.h, keyedit.c (menu_clean_uids_from_key), trustdb.c
+       (clean_uids_from_key): Fix display bug where sigs cleaned for
+       other reasons caused a uid to appear as if it had been compacted.
+
+       * packet.h: Move some flags to a bitfield.  Change all callers.
+
+       * options.h, import.c (parse_import_options,
+       clean_sigs_from_all_uids, import_one): Add import-minimal option.
+       Similar to export-minimal, except it works on the way in.
+
+       * trustdb.h, trustdb.c (clean_sigs_from_uid): Add flag to remove
+       all non-selfsigs from key during cleaning.  Change all callers.
+
+       * export.c (do_export_stream): Use it here for export-minimal so
+       we don't need additional minimize code in the export path.
+
+2005-11-06  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.skel: Add a section for --encrypt-to.  This is Debian
+       bug 336211 by Javier Fernández-Sanguino Peña.
+
+2005-11-05  David Shaw  <dshaw@jabberwocky.com>
+
+       * Makefile.am: Include @LIBUSB_CPPFLAGS@ in our CPPFLAGS.
+       Strictly speaking this should be only in gpg_CPPFLAGS, but then we
+       have to compile everything twice for gpg and gpgv.
+
+       * apdu.c (open_pcsc_reader): Fix double free.
+
+       * gpg.c (main) [__APPLE__]: Default the PCSC driver to the OS X
+       location.  Suggested by Patty A. Hardy.
+
+2005-11-02  David Shaw  <dshaw@jabberwocky.com>
+
+       * trustdb.c (clean_sigs_from_uid): Include sigs from unavailable
+       keys in the sigs that are cleaned.  Suggested by Dirk Traulsen and
+       many others.
+
+2005-11-01  David Shaw  <dshaw@jabberwocky.com>
+
+       * import.c (import_one): Do collapse_uids() before we do any
+       cleaning so keyserver mangled keys with doubled user IDs can be
+       properly cleaned - possibly sigs on the different user IDs cancel
+       each other out.
+
+       * import.c (parse_import_options), export.c
+       (parse_export_options): List "xxx-clean" before the longer options
+       so we don't end up with a partial match on the longer options.
+
+       * trustdb.c (clean_uids_from_key): Return proper number of cleaned
+       user IDs.  Don't count user IDs as cleaned unless we actually
+       delete something.
+
+2005-10-27  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (menu_addrevoker), getkey.c (finish_lookup): Fix
+       problem with adding a cert-only designated revoker.  Code was
+       looking for a key with sign ability, and not cert ability.  Noted
+       by Timo Schulz.
+
+2005-10-27  Werner Koch  <wk@g10code.com>
+
+       * gpg.c [__CYGWIN__]: Set default driver to winscard.dll.
+
+       * apdu.c, apdu.h: Updated from gnupg 1.9.  Changes are:
+       * apdu.c [__CYGWIN__]: Make cygwin environment similar to _WIN32.
+       Suggested by John P. Clizbe.
+       * apdu.h (SW_HOST_NO_KEYPAD): New.
+       * apdu.c (host_sw_string): Support new code. 
+       (reader_table_s): New field CHECK_KEYPAD.
+       (new_reader_slot, open_ct_reader, open_pcsc_reader) 
+       (open_ccid_reader, open_rapdu_reader): Initialize it.
+       (check_ccid_keypad): New.
+       (apdu_check_keypad): New.
+       (apdu_send_le): Factored all code out to ...
+       (send_le): .. new.  Takes an additional arg; changed all callers
+       of the orginal function to use this one with a NULL for the new
+       arg.
+       (apdu_send_simple_kp): New.
+       (ct_send_apdu, pcsc_send_apdu, my_rapdu_send_apdu) 
+       (send_apdu_ccid): New arg PININFO.
+       (send_apdu_ccid): Use the new arg.
+
+2005-10-26  David Shaw  <dshaw@jabberwocky.com>
+
+       * keygen.c (proc_parameter_file): Default key and subkey usage
+       flags to algo capabilities if parameter file doesn't specify them.
+       Noted by Timo Schulz.
+
+2005-10-18  Werner Koch  <wk@g10code.com>
+
+       * cardglue.c (pin_cb): Fixed prompt for repeated PIN.  Return
+       G10ERR_CANCELED and not just -1.
+       (status_sc_op_failure): New.  Use it where we issue that status.
+       (pin_cb): Append serial number to the need-pin status message.
+       (agent_scd_change_pin): Add arg SERIALNO.  Changed all callers.
+       (agent_scd_writekey): Ditto.
+       (agent_scd_setattr): Ditto.
+       (agent_scd_genkey): Ditto.
+       (agent_scd_checkpin): Pass serialno to the pin_cb.
+
+       * keygen.c (parse_expire_string): Allow setting the expire
+       interval using a "seconds=<n>" syntax.  This is useful for
+       debugging.
+
+2005-10-17  Werner Koch  <wk@g10code.com>
+
+       * export.c (do_export_stream): Factored some code out to ...
+       (skip_subkey_p): .. new.
+       (subkey_in_list_p, release_subkey_list): New.
+       (new_subkey_list_item): New. 
+       (do_export_stream): Export exactly specified subkeys into one
+       keyblock.
+
+2005-10-13  David Shaw  <dshaw@jabberwocky.com>
+
+       * keyedit.c (keyedit_menu, menu_backsign): New "backsign" command
+       to add 0x19 backsigs to old keys that don't have them.
+
+       * misc.c (parse_options): Fix build warning.
+
+       * main.h, keygen.c (make_backsig): Make public.
+
+2005-10-12  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, getkey.c (merge_selfsigs_subkey), gpg.c (main),
+       sig-check.c (signature_check2): Add --require-backsigs and
+       --no-require-backsigs.  Currently defaults to
+       --no-require-backsigs.
+
+2005-10-11  David Shaw  <dshaw@jabberwocky.com>
+
+       * getkey.c (merge_selfsigs_subkey), sig-check.c
+       (signature_check2), keygen.c (make_backsig): Did some backsig
+       interop testing with the PGP folks.  All is well, so I'm turning
+       generation of backsigs on for new keys.  Checking for backsigs on
+       verification is still off.
+
 2005-10-05  Werner Koch  <wk@g10code.com>
 
        * g10.c: Renamed to ..
        --passphrase command line option.  Only useful in very special
        circumstances.
 
->>>>>>> .r3884
 2005-08-05  Werner Koch  <wk@g10code.com>
 
        * gpgv.c (keyserver_import_fprint): New stub.
@@ -12038,7 +12737,7 @@ Thu Feb 12 22:24:42 1998  Werner Koch  (wk@frodo)
 
 
  Copyright 1998, 1999, 2000, 2001, 2002, 2003,
-          2004, 2005 Free Software Foundation, Inc.
+          2004, 2005, 2006 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