diff options
author | NIIBE Yutaka <[email protected]> | 2017-01-16 01:33:08 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2017-01-16 01:33:08 +0000 |
commit | 0801f49b0dc7102943f0e9fa51061f50f5708ca6 (patch) | |
tree | f80e1e756a5099b781cd684570a0e3099b9e2d98 /agent/divert-scd.c | |
parent | scd: Add --demand option for SERIALNO. (diff) | |
download | gnupg-0801f49b0dc7102943f0e9fa51061f50f5708ca6.tar.gz gnupg-0801f49b0dc7102943f0e9fa51061f50f5708ca6.zip |
agent: Ask specific SERIALNO for pksign/pkdecrypt.
* agent/call-scd.c (agent_card_serialno): Add DEMAND argument.
* agent/command-ssh.c (card_key_available): Follow the change.
* agent/learncard.c (agent_handle_learn): Likewise.
* agent/divert-scd.c (ask_for_card): Use DEMAND argument.
Signed-off-by: NIIBE Yutaka <[email protected]>
Diffstat (limited to 'agent/divert-scd.c')
-rw-r--r-- | agent/divert-scd.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/agent/divert-scd.c b/agent/divert-scd.c index 7b070081a..7331f5823 100644 --- a/agent/divert-scd.c +++ b/agent/divert-scd.c @@ -58,7 +58,7 @@ ask_for_card (ctrl_t ctrl, const unsigned char *shadow_info, char **r_kid) for (;;) { - rc = agent_card_serialno (ctrl, &serialno); + rc = agent_card_serialno (ctrl, &serialno, want_sn); if (!rc) { log_debug ("detected card with S/N %s\n", serialno); @@ -72,11 +72,17 @@ ask_for_card (ctrl_t ctrl, const unsigned char *shadow_info, char **r_kid) return 0; /* yes, we have the correct card */ } } + else if (gpg_err_code (rc) == GPG_ERR_ENODEV) + { + log_debug ("no device present\n"); + rc = 0; + no_card = 1; + } else if (gpg_err_code (rc) == GPG_ERR_CARD_NOT_PRESENT) { log_debug ("no card present\n"); rc = 0; - no_card = 1; + no_card = 2; } else { |