aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2019-02-21 06:16:11 +0000
committerNIIBE Yutaka <[email protected]>2019-02-21 06:16:11 +0000
commitbd15aa34ab8ad10adbb7540a8845b4a2600437b6 (patch)
treedfa874c6fc80f25b8849f003ca03d46b4afa1c50
parenttests: Add "disable-scdaemon" in gpg-agent.conf. (diff)
downloadgnupg-bd15aa34ab8ad10adbb7540a8845b4a2600437b6.tar.gz
gnupg-bd15aa34ab8ad10adbb7540a8845b4a2600437b6.zip
scd: Handle ack button timeout as GPG_ERR_TIMEOUT.
* scd/apdu.h (SW_ACK_TIMEOUT): New. * scd/iso7816.c (map_sw): Return GPG_ERR_TIMEOUT for SW_ACK_TIMEOUT. Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r--scd/apdu.h1
-rw-r--r--scd/iso7816.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/scd/apdu.h b/scd/apdu.h
index 1392aab71..89df45cb8 100644
--- a/scd/apdu.h
+++ b/scd/apdu.h
@@ -31,6 +31,7 @@ enum {
SW_EOF_REACHED = 0x6282,
SW_TERM_STATE = 0x6285, /* Selected file is in termination state. */
SW_EEPROM_FAILURE = 0x6581,
+ SW_ACK_TIMEOUT = 0x6600, /* OpenPGPcard: Ack timeout. */
SW_WRONG_LENGTH = 0x6700,
SW_SM_NOT_SUP = 0x6882, /* Secure Messaging is not supported. */
SW_CC_NOT_SUP = 0x6884, /* Command Chaining is not supported. */
diff --git a/scd/iso7816.c b/scd/iso7816.c
index 758de5b48..a9cd73014 100644
--- a/scd/iso7816.c
+++ b/scd/iso7816.c
@@ -67,6 +67,7 @@ map_sw (int sw)
case SW_EEPROM_FAILURE: ec = GPG_ERR_HARDWARE; break;
case SW_TERM_STATE: ec = GPG_ERR_OBJ_TERM_STATE; break;
case SW_WRONG_LENGTH: ec = GPG_ERR_INV_VALUE; break;
+ case SW_ACK_TIMEOUT: ec = GPG_ERR_TIMEOUT; break;
case SW_SM_NOT_SUP: ec = GPG_ERR_NOT_SUPPORTED; break;
case SW_CC_NOT_SUP: ec = GPG_ERR_NOT_SUPPORTED; break;
case SW_CHV_WRONG: ec = GPG_ERR_BAD_PIN; break;