diff options
author | NIIBE Yutaka <[email protected]> | 2015-12-24 05:19:53 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2015-12-24 05:19:53 +0000 |
commit | 79b51bb8727bd3485229ac8ff5987558156d5d83 (patch) | |
tree | 4ff9623fdcaa0da34a24323689bbd5819750a687 /agent/cvt-openpgp.c | |
parent | g10: Use --force when importing key for bkuptocard. (diff) | |
download | gnupg-79b51bb8727bd3485229ac8ff5987558156d5d83.tar.gz gnupg-79b51bb8727bd3485229ac8ff5987558156d5d83.zip |
agent: IMPORT_KEY with --force option fix.
* agent/cvt-openpgp.c (convert_from_openpgp_main): Add an option not
to check existing key.
(convert_from_openpgp): Ditto.
(convert_from_openpgp_native): Call convert_from_openpgp_main with
dontcare_exist=0.
* agent/command.c (cmd_import_key): Call with dontcare_exist=force.
Diffstat (limited to 'agent/cvt-openpgp.c')
-rw-r--r-- | agent/cvt-openpgp.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/agent/cvt-openpgp.c b/agent/cvt-openpgp.c index 0b9ecf083..8df6b8eb7 100644 --- a/agent/cvt-openpgp.c +++ b/agent/cvt-openpgp.c @@ -685,7 +685,7 @@ try_do_unprotect_cb (struct pin_entry_info_s *pi) silently decrypt the key; CACHE_NONCE and R_PASSPHRASE must both be NULL in this mode. */ static gpg_error_t -convert_from_openpgp_main (ctrl_t ctrl, gcry_sexp_t s_pgp, +convert_from_openpgp_main (ctrl_t ctrl, gcry_sexp_t s_pgp, int dontcare_exist, unsigned char *grip, const char *prompt, const char *cache_nonce, const char *passphrase, unsigned char **r_key, char **r_passphrase) @@ -894,7 +894,7 @@ convert_from_openpgp_main (ctrl_t ctrl, gcry_sexp_t s_pgp, if (err) goto leave; - if (!from_native && !agent_key_available (grip)) + if (!dontcare_exist && !from_native && !agent_key_available (grip)) { err = gpg_error (GPG_ERR_EEXIST); goto leave; @@ -1028,12 +1028,12 @@ convert_from_openpgp_main (ctrl_t ctrl, gcry_sexp_t s_pgp, the key. The keygrip will be stored at the 20 byte buffer pointed to by GRIP. On error NULL is stored at all return arguments. */ gpg_error_t -convert_from_openpgp (ctrl_t ctrl, gcry_sexp_t s_pgp, +convert_from_openpgp (ctrl_t ctrl, gcry_sexp_t s_pgp, int dontcare_exist, unsigned char *grip, const char *prompt, const char *cache_nonce, unsigned char **r_key, char **r_passphrase) { - return convert_from_openpgp_main (ctrl, s_pgp, grip, prompt, + return convert_from_openpgp_main (ctrl, s_pgp, dontcare_exist, grip, prompt, cache_nonce, NULL, r_key, r_passphrase); } @@ -1052,7 +1052,7 @@ convert_from_openpgp_native (ctrl_t ctrl, if (!passphrase) return gpg_error (GPG_ERR_INTERNAL); - err = convert_from_openpgp_main (ctrl, s_pgp, grip, NULL, + err = convert_from_openpgp_main (ctrl, s_pgp, 0, grip, NULL, NULL, passphrase, r_key, NULL); |