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:
parent
7113263a00
commit
bb591222c3
4 changed files with 17 additions and 2 deletions
|
@ -2148,7 +2148,16 @@ bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length,
|
|||
}
|
||||
}
|
||||
if (CCID_COMMAND_FAILED (buffer))
|
||||
print_command_failed (buffer);
|
||||
{
|
||||
int ec;
|
||||
|
||||
ec = CCID_ERROR_CODE (buffer);
|
||||
print_command_failed (buffer);
|
||||
if (ec == 0xEF)
|
||||
return CCID_DRIVER_ERR_UI_CANCELLED;
|
||||
else if (ec == 0xF0)
|
||||
return CCID_DRIVER_ERR_UI_TIMEOUT;
|
||||
}
|
||||
|
||||
/* Check whether a card is at all available. Note: If you add new
|
||||
error codes here, check whether they need to be ignored in
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue