1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

scd:ccid-driver: Fix pinpad error handling for cancel/timeout.

* scd/apdu.h (SW_HOST_UI_CANCELLED, SW_HOST_UI_TIMEOUT): New.
* scd/ccid-driver.h (CCID_DRIVER_ERR_UI_CANCELLED): New.
(CCID_DRIVER_ERR_UI_TIMEOUT): New.
* scd/ccid-driver.c (bulk_in): Handle PIN input cancel/timeout error.
* scd/iso7816.c (map_sw): Support SW_HOST_UI_CANCELLED and
SW_HOST_UI_TIMEOUT.

--

GnuPG-bug-id: 4614
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2020-11-27 15:17:56 +09:00
parent 7113263a00
commit bb591222c3
4 changed files with 17 additions and 2 deletions

View file

@ -96,6 +96,8 @@ map_sw (int sw)
case SW_HOST_USB_BUSY: ec = GPG_ERR_EBUSY; break;
case SW_HOST_USB_TIMEOUT: ec = GPG_ERR_TIMEOUT; break;
case SW_HOST_USB_OVERFLOW: ec = GPG_ERR_EOVERFLOW; break;
case SW_HOST_UI_CANCELLED: ec = GPG_ERR_CANCELED; break;
case SW_HOST_UI_TIMEOUT: ec = GPG_ERR_TIMEOUT; break;
default:
if ((sw & 0x010000))