Add new option --with-keygrip
[gnupg.git] / g10 / ChangeLog
index e1837bb..a4873fe 100644 (file)
@@ -1,5 +1,427 @@
+2010-10-08  Werner Koch  <wk@g10code.com>
+
+       * gpg.c: Add option --with-keygrip.
+       * options.h (struct opt): Add WITH_KEYGRIP.
+       * keylist.c (list_keyblock_print, list_keyblock_colon): Implement
+       new option.
+
+2010-10-06  Werner Koch  <wk@g10code.com>
+
+       * import.c (transfer_secret_keys): Ignore missing key parameters.
+       Provide dummy IV.  Ignore stub keys.
+
+2010-10-01  Werner Koch  <wk@g10code.com>
+
+       * export.c (do_export_stream): Rewrite to take the secret keys
+       from the agent.
+       (canon_pubkey_algo, transfer_format_to_openpgp): New.
+
+2010-09-29  Werner Koch  <wk@g10code.com>
+
+       * keygen.c (key_from_sexp): Fix memory leak in the error case.
+
+       * call-agent.c (agent_export_key): New.
+
+2010-09-29  Werner Koch  <wk@g10code.com>
+
+       * build-packet.c (build_packet): Fix up the pkttype.
+
+       * keyid.c (keystr_with_sub): Make SUB_KID optional.
+       (keystr_from_pk_with_sub): Ditto.
+
+       * call-agent.c (agent_scd_pksign): Add missing space.
+
+       * mainproc.c (struct mainproc_context): Add field CTRL.
+       (proc_packets): Add arg CTRL.  Change all callers.
+       (proc_signature_packets, proc_signature_packets_by_fd)
+       (proc_encryption_packets): Add arg CTRL.  Change all callers.
+       * compress.c (handle_compressed): Ditto.
+       * getkey.c (get_pubkey_byname): Ditto.
+       * keyserver.c (keyserver_spawn, keyserver_work): Ditto.
+       (show_prompt, keyserver_export, keyserver_import)
+       (keyserver_import_fprint, keyserver_import_keyid)
+       (keyserver_refresh, keyserver_search, keyserver_fetch)
+       (keyserver_import_name, keyserver_search_prompt)
+       (keyserver_import_pka, keyserver_import_cert): Ditto.
+       callers.
+       * verify.c (verify_signatures, verify_files): Ditto.
+       * sign.c (sign_file): Ditto.
+       * encrypt.c (encrypt_crypt, encrypt_crypt_files): Ditto.
+       * pkclist.c (find_and_check_key, build_pk_list): Ditto.
+       * keylist.c (locate_one, public_key_list, secret_key_list): Ditto.
+       * card-util.c (fetch_url, card_edit): Ditto.
+       * import.c (check_prefs, import_one, revocation_present): Ditto.
+       * keyedit.c (menu_addrevoker, keyedit_menu): Ditto.
+       * decrypt-data.c (decrypt_data): Ditto.
+       * decrypt.c (decrypt_message, decrypt_messages)
+       (decrypt_message_fd): Ditto.
+       * gpgv.c (main): Add CTRL structure.
+
+2010-09-28  Werner Koch  <wk@g10code.com>
+
+       * options.h (struct opt): Remove SIMPLE_SK_CHECKSUM.
+
+       * export.c (parse_export_options): Remove option
+       export-resert-subkey-passwd.
+       (do_export_stream, do_export, export_pubkeys)
+       (export_pubkeys_stream, export_seckeys, export_secsubkeys): Add
+       arg CTRL.  Change all callers.
+
+       * call-agent.c (hash_algo_option): New.
+       (agent_scd_pksign): Use it.
+
+2010-09-17  Werner Koch  <wk@g10code.com>
+
+       * call-agent.c (agent_probe_any_secret_key): New.
+
+2010-09-28  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.skel: Make the example for force-v3-sigs match
+       reality (it has defaulted to off since 2007-10-25).
+
+2010-09-06  Werner Koch  <wk@g10code.com>
+
+       * card-util.c (card_status): Remove stub creation for GnuPG >= 2.
+       (card_store_subkey): Temporary disable this code.
+
+       * keyedit.c (show_key_with_all_names): Merge secret and public key
+       parts.
+       (show_basic_key_info): Ditto.
+       * delkey.c (do_delete_key): Ditto.
+       * export.c (subkey_in_list_p, exact_subkey_match_p): Ditto.
+       (new_subkey_list_item): Ditto.
+       * keyid.c (keystr_from_sk, keystr_from_sk_with_sub)
+       (keyid_from_sk, nbits_from_sk, datestr_from_sk)
+       (expirestr_from_sk, colon_datestr_from_sk, fingerprint_from_sk)
+       (serialno_and_fpr_from_sk, do_fingerprint_md_sk): Remove.
+       * import.c (print_import_ok): Remove arg SK.
+       (import_secret_one): Adjust for seckey_info format.
+       (transfer_secret_keys): Ditto.  Use gpg_format_keydesc.
+       (sec_to_pub_keyblock): Simplify.
+       (pub_to_sec_keyblock): Remove.
+       (auto_create_card_key_stub): Remove - not anymore needed.
+       (update_sec_keyblock_with_cardinfo): Remove.
+       (import_secret_one): Use arg option instead of the global option.
+       * free-packet.c (copy_public_key): Adjust for seckey_info format.
+       (copy_public_parts_to_secret_key, copy_secret_key)
+       (cmp_secret_keys, cmp_public_secret_key): Remove.
+       * passphrase.c (gpg_format_keydesc): Add arg MODE and change all
+       callers.
+       * keyring.c (keyring_search): Remove special case for secret keys.
+       * mainproc.c (struct mainproc_context): Remove unused field
+       LAST_SECKEY.
+       * parse-packet.c (parse_key): Rewrite to cope with new seckey_info
+       format.
+       * build-packet.c (do_public_key, do_secret_key): Merge code into ...
+       (do_key): .. new.  Cope with seckey_info format.
+
+2010-09-03  Werner Koch  <wk@g10code.com>
+
+       * packet.h (struct seckey_info): New.
+       (PKT_public_key): Increase size of PKEY to allow storing of secret
+       keys.  Add field SECKEY_INFO.
+       (PKT_secret_key): Remove.
+       * free-packet.c (release_public_key_parts): Take care of change.
+       (release_secret_key_parts, free_secret_key): Remove.
+
+2010-09-02  Werner Koch  <wk@g10code.com>
+
+       * import.c (transfer_secret_keys, import_secret_one): Enable stats.
+       (import_secret_one): Enable secret key merging.
+
+2010-09-01  Werner Koch  <wk@g10code.com>
+
+       * sign.c (do_sign, write_signature_packets, complete_sig): Add arg
+       CACHE_NONCE.
+       (make_keysig_packet): Ditto.
+       * keygen.c (make_backsig, write_direct_sig, write_selfsigs)
+       (write_keybinding): Add arg CACHE_NONCE.
+       (do_generate_keypair): Use cache_nonce to avoid a pinentry for the
+       self-signatures.
+
+       * passphrase.c (gpg_format_keydesc): Remove now superfluous
+       algo_name fallback.
+
+       * keygen.c (gen_elg, gen_dsa, gen_rsa, do_create, common_gen): Add
+       arg CACHE_NONCE_ADDR.
+       (generate_subkeypair): Pass NULL for CACHE_NONCE_ADDR.
+       (do_generate_keypair): Add cache nonce handling.
+
+       * import.c (transfer_secret_keys): Support a cache nonce.
+       * call-agent.c (cache_nonce_status_cb): New.
+       (agent_genkey, agent_import_key): Add arg CACHE_NONCE_ADDR.
+       (agent_pksign): Ditto.
+
+2010-08-30  Werner Koch  <wk@g10code.com>
+
+       * keyid.c (KEYID_STR_SIZE): New
+       (keystr): Use snprintf and new macro.
+       (keystr_with_sub): New.
+       (keystr_from_sk_with_sub): New.
+       (keystr_from_pk_with_sub): New.
+
+2010-08-27  Werner Koch  <wk@g10code.com>
+
+       * gpg.c (main): Change scope of CTRL to the entire function.
+
+       * import.c (import_secret_one, import, import_keys_internal)
+       (import_keys, import_keys_stream): Add arg CTRL.
+       * call-agent.c (agent_keywrap_key): New.
+       (agent_import_key, inq_import_key_parms): New.
+
+2010-08-26  Werner Koch  <wk@g10code.com>
+
+       * misc.c (openpgp_pk_algo_name): New.
+       (openpgp_md_algo_name): New.
+
+2010-08-24  Werner Koch  <wk@g10code.com>
+
+       * options.h (IMPORT_SK2PK): Remove.
+       * import.c (parse_import_options): Turn convert-sk-to-pk into a
+       dummy option.
+       (sec_to_pub_keyblock): Use modern functions.
+
+2010-08-16  Werner Koch  <wk@g10code.com>
+
+       * gpg.c (list_config, gpgconf_list): Use es_printf.
+       (print_hex, print_hashline, print_algo_numbers)
+       (print_algo_names): Use es_printf.
+
+2010-07-20  Werner Koch  <wk@g10code.com>
+
+       * mainproc.c (print_pkenc_list): Write a STATUS_ERROR.  Fixes
+       bug#1255.
+
+2010-06-17  Werner Koch  <wk@g10code.com>
+
+       * gpg.c (main): Use CAST5 as default s2k algo.  The macro
+       USE_CAST5 was only used with GnuPG 1.x.
+
+2010-06-07  Werner Koch  <wk@g10code.com>
+
+       * cpr.c: Use estream for status output.
+
+2010-05-12  Werner Koch  <wk@g10code.com>
+
+       * armor.c (radix64_read): Extended 2006-04-28 fix to fix bug#1179.
+
+       * plaintext.c (handle_plaintext): Check return code of fflush.
+       Fixes bug#1207.
+
+2010-05-07  Werner Koch  <wk@g10code.com>
+
+       * import.c (fix_bad_direct_key_sigs): New.
+       (import_one): Call it.
+       (chk_self_sigs): Re-indent, slighly re-arrange code, use test
+       macros for the sig class.  Check direct key signatures.  Fixes
+       bug#1223.
+
+2010-04-27  Werner Koch  <wk@g10code.com>
+
+       * passphrase.c (gpg_format_keydesc): New.
+       * pubkey-enc.c (get_it): Use it.
+       * sign.c (do_sign): Use it.
+
+2010-04-26  Werner Koch  <wk@g10code.com>
+
+       * keygen.c (keygen_set_std_prefs): Explicitly include Z0 in the
+       default preferences if no compression algorithms are available.
+       Remove a possible trailing space in the dummy_string.
+
+2010-04-23  Werner Koch  <wk@g10code.com>
+
+       * pubkey-enc.c (get_it): Use the agent for decryption.
+       * call-agent.c (agent_pkdecrypt, inq_ciphertext_cb): New.
+
+2010-04-22  Werner Koch  <wk@g10code.com>
+
+       * photoid.c (show_photos): Remove arg SK.
+
+       * pubkey-enc.c (get_session_key, get_it): Change to use the public
+       key object.
+       (get_it):  Remove card related stuff.  Now automagically handled
+       by the agent.
+
+       * skclist.c (build_sk_list): Remove UNLOCK arg.
+
+       * keylist.c (print_fingerprint): Remove arg SK.
+       * mainproc.c (list_node): Disable listing of secret key packets.
+
+       * keyring.c (struct keyring_name, struct keyring_handle): Remove
+       field SECRET.
+       (keyring_register_filename, keyring_new, orename_tmp_file)
+       (do_copy): Remove arg SECRET.
+       * keydb.c (struct resource_item): Remove field SECRET.
+       (keydb_add_resource): Remove arg SECRET.
+       (keydb_new): Remove code fro secret keyrings.
+
+       * gpg.c (main): Ignore --secret-keyring.  Remove all secret
+       keyring related code.
+
+2010-04-21  Werner Koch  <wk@g10code.com>
+
+       * pkclist.c (default_recipient): Change to use public keys.
+
+       * keydb.c (keydb_new): Remove arg SECRET.  Change all callers.
+
+       * getkey.c (get_seckey): Change to take a public key.
+       (have_secret_key): Rename to have_any_secret_key and make use of
+       the agent.
+       (key_byname): Rmemove unused arg SK.
+       (get_seckey_byname2): Remove and move code to
+       (get_seckey_byname): .. here.  Remove INLOCK arg.
+       (get_seckey_bynames): Remove.
+       (get_seckey_next): Remove.
+       (get_seckey_end): Remove.  Use get_pubkey_end instead.
+       (get_seckey_byfprint, get_seckeyblock_byfprint): Change to use
+       public keys.
+       (seckey_available): Rename to ..
+       (have_secret_key_with_kid): .. this and change to employ the
+       agent.  Change all callers.
+       (sk_from_block): Remove.
+
+       * call-agent.c (agent_probe_secret_key): New.
+       (agent_havekey): Remove.
+       * gpgv.c (agent_probe_secret_key): New.
+
+       * keyedit.c (keyedit_menu)
+       (sign_uids, menu_adduid, menu_deluid, menu_delkey)
+       (menu_addrevoker, menu_expire, menu_backsign)
+       (menu_set_primary_uid, menu_set_preferences)
+       (menu_set_keyserver_url, menu_set_notation, menu_revsig)
+       (menu_revuid, menu_revkey, menu_revsubkey): Remove all code to
+       manage the secret keyring.
+
+2010-04-20  Werner Koch  <wk@g10code.com>
+
+       * keylist.c (list_keyblock_colon): Print the keygrip.
+
+       * sign.c (do_sign): Call the agent to create the signature.
+       (mpi_from_sexp): New.
+       * keyid.c (keygrip_from_pk, hexkeygrip_from_pk): New.
+       * call-agent.c (agent_pksign): New.
+
+       * pkglue.c (pk_sign): Remove.
+
+       * keygen.c (generate_keypair): Do not ask for a passphrase.
+
+2010-04-15  Werner Koch  <wk@g10code.com>
+
+       * keygen.c (gen_dsa, gen_elg, gen_rsa): Remove args SEC_ROOT, DEK,
+       S2K and RET_SK.  Change to use the gpg-agent based key generation.
+       Factor common code out to ...
+       (common_gen): New.
+       (do_create): Remove args SEC_ROOT, DEK, S2K and RET_SK.
+       (do_generate_keypair, write_selfsigs, write_direct_sig)
+       (write_keybinding, make_backsig): Adjust for above changes.
+       (generate_subkeypair): Remove arg SEC_KEYBLOCK.
+       (genhelp_protect, genhelp_factors): Remove.
+       (get_parameter_dek, get_parameter_s2k): Remove.
+
+       * call-agent.c (start_agent): Add dummy arg CTRL.
+       (agent_havekey, keyinfo_status_cb, agent_get_keyinfo)
+       (agent_genkey): New.
+
+       * seckey-cert.c (check_secret_key): Remove
+       (is_secret_key_protected): Take a public key as arg.
+       (protect_secret_key): Remove.
+
+       * seskey.c (encode_md_value): Remove SK arg.
+
+2010-04-14  Werner Koch  <wk@g10code.com>
+
+       * cpr.c (myread) [W32CE]: Do not use raise.
+
+       * misc.c (check_compress_algo): Rewrite to handle the new HAVE_ZIP.
+       * compress.c (push_compress_filter2): Ditto.
+       (init_compress, do_compress, init_uncompress, do_uncompress)
+       (compress_filter) [!HAVE_ZIP]: Do not build.
+       * main.h (DEFAULT_COMPRESS_ALGO): Depend on HAVE_ZIP.
+       * keygen.c (keygen_set_std_prefs): Use check_compress_algo also
+       for ZIP and ZLIB.
+
+       * Makefile.am (install-exec-hook) [W32CE]: New.
+       (bin_PROGRAMS) [W32CE]: Do not build gpgv2.
+       (gpg2_LDADD): Add extra_syslibs.
+
+2010-04-06  Werner Koch  <wk@g10code.com>
+
+       * openfile.c (mkdir): Remove.
+       (try_make_homedir): Use gnupg_mkdir.
+
+2010-04-01  Werner Koch  <wk@g10code.com>
+
+       Use gpg_err_set_errno to set ERRNO.
+
+2010-03-26  Werner Koch  <wk@g10code.com>
+
+       * signal.c (pause_on_sigusr): Remove.  It was used in ancient gpg
+       version with shared memory IPC.  Last caller removed on 2006-04-18.
+
+2010-03-24  Werner Koch  <wk@g10code.com>
+
+       * openfile.c (CMP_FILENAME): Depend on HAVE_DOSISH_SYSTEM instead
+       of HAVE_DRIVE_LETTERS.
+
+2010-03-15  Werner Koch  <wk@g10code.com>
+
+       * card-util.c: Replace stdio by estream.
+       * keylist.c: Ditto.
+
+2010-03-12  Werner Koch  <wk@g10code.com>
+
+       * plaintext.c (setup_plaintext_name): Do not encode pipe like
+       filenames.  This helps with bug#1201.
+
+       * seckey-cert.c (do_check): Return GPG_ERR_CANCELED.
+       * keyedit.c (change_passphrase): Add arg R_ERR.
+       (keyedit_passwd): Return the correct error or emit a success
+       status message.
+
+2010-03-11  Werner Koch  <wk@g10code.com>
+
+       * misc.c (mpi_print): Change to take a estream_t arg.
+
+       * parse-packet.c (listfp): Change to an estream_t.  Change all
+       users to use estream functions.
+
+       * kbnode.c (dump_kbnode): Change to use log functions.
+       * pkclist.c (do_show_revocation_reason): Ditto
+
+       * armor.c (parse_header_line): Replace print_string by
+       es_print_sanitized.
+       (fake_packet): Ditto.
+       * keyedit.c (print_and_check_one_sig_colon): Ditto.
+       (show_key_with_all_names_colon): Ditto.
+       (ask_revoke_sig): Ditto.
+       * keylist.c (list_keyblock_colon): Ditto.
+       * mainproc.c (print_userid, list_node): Ditto.
+       * trustdb.c (dump_key_array): Ditto.
+       * gpg.c (list_config): ditto.
+
+       * gpg.c: Include "asshelp.h".
+       (main): Remove assuan_set_assuan_log_prefix.  Add
+       assuan_set_log_cb.
+       * server.c (gpg_server): Remove assuan_set_log_stream.
+
+2010-03-10  Werner Koch  <wk@g10code.com>
+
+       * Makefile.am (needed_libs): Remove libjnlib.a.
+
+       * main.h: Remove "estream.h".
+
 2010-03-08  Werner Koch  <wk@g10code.com>
 
+       * main.h: Include "estream.h"
+       * openfile.c (open_outfile): Replace dup/iobuf_fdopen by
+       iobuf_fdopen_nc.
+       * mainproc.c (proc_signature_packets_by_fd): Return error on
+       memory failure.
+       * plaintext.c (hash_datafile_by_fd): Ditto.
+       * verify.c (gpg_verify): Use iobuf_fdopen_nc.  Change OUT_FP to an
+       estream_t.
+       * server.c (cmd_verify): Do not dup the fds.
+
        Use macros for iobuf_ioctl commands.
 
 2010-02-17  Werner Koch  <wk@g10code.com>
        * revoke.c (gen_desig_revoke): Ditto.
        * skclist.c (release_sk_list): Ditto.
        * keyedit.c (sign_uids): Ditto.
-       * misc.c (get_signature_count): Ditto. 
+       * misc.c (get_signature_count): Ditto.
        * main.h (struct expand_args): s/sk/pksk/.  Change all users.
 
        * keyedit.c (keyedit_passwd): Finish implementation.