mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
gpg: Prepare enhancement of agent_probe_secret_key.
* g10/call-agent.c (agent_probe_secret_key): Change semantics of
return value.
* g10/call-agent.h (agent_probe_secret_key): Change comment.
* g10/delkey.c (do_delete_key): Follow the change.
* g10/getkey.c (get_seckey, parse_def_secret_key): Likewise.
(finish_lookup, have_secret_key_with_kid): Likewise.
* g10/gpgv.c (agent_probe_secret_key): Likewise.
* g10/keyedit.c (keyedit_menu, quick_find_keyblock): Likewise.
(show_key_with_all_names_colon): Likewise.
* g10/revoke.c (gen_desig_revoke, gen_revoke): Likewise
* g10/test-stubs.c (agent_probe_secret_key): Likewise.
--
Cherry picked from 2.4 branch of:
853d5b7677
GnuPG-bug-id: 3416
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
cdd6747e1e
commit
4817825511
8 changed files with 32 additions and 26 deletions
22
g10/getkey.c
22
g10/getkey.c
|
@ -767,9 +767,11 @@ get_seckey (ctrl_t ctrl, PKT_public_key *pk, u32 *keyid)
|
|||
|
||||
if (!err)
|
||||
{
|
||||
err = agent_probe_secret_key (/*ctrl*/NULL, pk);
|
||||
if (err)
|
||||
release_public_key_parts (pk);
|
||||
if (!agent_probe_secret_key (/*ctrl*/NULL, pk))
|
||||
{
|
||||
release_public_key_parts (pk);
|
||||
err = gpg_error (GPG_ERR_NO_SECKEY);
|
||||
}
|
||||
}
|
||||
|
||||
return err;
|
||||
|
@ -2157,10 +2159,12 @@ parse_def_secret_key (ctrl_t ctrl)
|
|||
continue;
|
||||
}
|
||||
|
||||
err = agent_probe_secret_key (ctrl, pk);
|
||||
if (! err)
|
||||
/* This is a valid key. */
|
||||
break;
|
||||
if (agent_probe_secret_key (ctrl, pk))
|
||||
{
|
||||
/* This is a valid key. */
|
||||
err = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
while ((node = find_next_kbnode (node, PKT_PUBLIC_SUBKEY)));
|
||||
|
||||
|
@ -3816,7 +3820,7 @@ finish_lookup (kbnode_t keyblock, unsigned int req_usage, int want_exact,
|
|||
continue;
|
||||
}
|
||||
|
||||
if (want_secret && agent_probe_secret_key (NULL, pk))
|
||||
if (want_secret && !agent_probe_secret_key (NULL, pk))
|
||||
{
|
||||
if (DBG_LOOKUP)
|
||||
log_debug ("\tno secret key\n");
|
||||
|
@ -4565,7 +4569,7 @@ have_secret_key_with_kid (u32 *keyid)
|
|||
log_assert (node->pkt->pkttype == PKT_PUBLIC_KEY
|
||||
|| node->pkt->pkttype == PKT_PUBLIC_SUBKEY);
|
||||
|
||||
if (!agent_probe_secret_key (NULL, node->pkt->pkt.public_key))
|
||||
if (agent_probe_secret_key (NULL, node->pkt->pkt.public_key))
|
||||
result = 1; /* Secret key available. */
|
||||
else
|
||||
result = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue