From 872137b5921dd297e7d2c1def6e3868b7595feb5 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Mon, 24 Jul 2017 17:18:42 +0200 Subject: g10: Make sure to emit NEED_PASSPHRASE on --import of secret key. * call-agent.h (agent_import_key): Add keyid parameters. * call-agent.c (agent_import_key): Set keyid parameters. * import.c (transfer_secret_keys): Pass keyid parameters. Signed-off-by: Marcus Brinkmann GnuPG-bug-id: 2667 --- g10/call-agent.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'g10/call-agent.c') diff --git a/g10/call-agent.c b/g10/call-agent.c index b17c2e65f..1ce6641af 100644 --- a/g10/call-agent.c +++ b/g10/call-agent.c @@ -2096,7 +2096,8 @@ inq_import_key_parms (void *opaque, const char *line) /* Call the agent to import a key into the agent. */ gpg_error_t agent_import_key (ctrl_t ctrl, const char *desc, char **cache_nonce_addr, - const void *key, size_t keylen, int unattended, int force) + const void *key, size_t keylen, int unattended, int force, + u32 *keyid, u32 *mainkeyid, int pubkey_algo) { gpg_error_t err; struct import_key_parm_s parm; @@ -2106,6 +2107,9 @@ agent_import_key (ctrl_t ctrl, const char *desc, char **cache_nonce_addr, memset (&dfltparm, 0, sizeof dfltparm); dfltparm.ctrl = ctrl; + dfltparm.keyinfo.keyid = keyid; + dfltparm.keyinfo.mainkeyid = mainkeyid; + dfltparm.keyinfo.pubkey_algo = pubkey_algo; err = start_agent (ctrl, 0); if (err) -- cgit v1.2.3