scd: Handle ack button timeout as GPG_ERR_TIMEOUT.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 21 Feb 2019 06:16:11 +0000 (15:16 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 21 Feb 2019 06:16:11 +0000 (15:16 +0900)
* 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 <gniibe@fsij.org>
scd/apdu.h
scd/iso7816.c

index 1392aab..89df45c 100644 (file)
@@ -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.  */
index 758de5b..a9cd730 100644 (file)
@@ -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;