aboutsummaryrefslogtreecommitdiffstats
path: root/g10/getkey.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2024-01-02 09:13:16 +0000
committerWerner Koch <[email protected]>2024-01-02 09:19:57 +0000
commit4c04143d81370d1a1e6006fada1057461b3d3184 (patch)
tree63c9639541df470dac8a3fcee96cde441b7050eb /g10/getkey.c
parentgpg: Don't call keybox_compress when KEYDB_RESOURCE_FLAG_READONLY. (diff)
downloadgnupg-4c04143d81370d1a1e6006fada1057461b3d3184.tar.gz
gnupg-4c04143d81370d1a1e6006fada1057461b3d3184.zip
gpg: Choose key from inserted card over a non-inserted card
* g10/call-agent.c (agent_probe_secret_key): Do not return an error but 0. * g10/getkey.c (finish_lookup): Improve the selection of secret keys. -- GnuPG-bug-id: 6831
Diffstat (limited to 'g10/getkey.c')
-rw-r--r--g10/getkey.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/g10/getkey.c b/g10/getkey.c
index 21ffd5cfa..d54edcd7f 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -3772,6 +3772,13 @@ finish_lookup (kbnode_t keyblock, unsigned int req_usage, int want_exact,
continue;
}
+ if (secret_key_avail < last_secret_key_avail)
+ {
+ if (DBG_LOOKUP)
+ log_debug ("\tskipping secret key with lower avail\n");
+ continue;
+ }
+
if (secret_key_avail > last_secret_key_avail)
{
/* Use this key. */