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. -- GnuPG-bug-id: 3416 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
bd85f9232a
commit
853d5b7677
8 changed files with 32 additions and 26 deletions
22
g10/getkey.c
22
g10/getkey.c
|
@ -610,9 +610,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;
|
||||
|
@ -1882,10 +1884,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)));
|
||||
|
||||
|
@ -3523,7 +3527,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");
|
||||
|
@ -4219,7 +4223,7 @@ have_secret_key_with_kid (ctrl_t ctrl, 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