Differences From Artifact [6b202c653c]:
- File
cackey.c
— part of check-in
[1edf82bc16]
at
2010-07-23 21:46:17
on branch trunk
— Consolidated slot resetting into a single function.
Updated slot resetting to invalidate slot PC/SC handle. (user: rkeene, size: 170655) [annotate] [blame] [check-ins using]
To Artifact [831193de85]:
- File cackey.c — part of check-in [84aaf35a0e] at 2010-07-23 21:58:27 on branch trunk — Updated to call SCardDisconnect if we detect a previously connected slot -- this fixes a regression in the previous commit where a smartcard would not function after being inserted, removed, and reinserted (user: rkeene, size: 170747) [annotate] [blame] [check-ins using]
| ︙ | ︙ | |||
839 840 841 842 843 844 845 846 847 848 849 850 851 852 |
*/
static void cackey_mark_slot_reset(struct cackey_slot *slot) {
if (slot == NULL) {
return;
}
CACKEY_DEBUG_PRINTF("Called.");
slot->slot_reset = 1;
slot->pcsc_card_connected = 0;
slot->token_flags = CKF_LOGIN_REQUIRED;
CACKEY_DEBUG_PRINTF("Returning.");
| > > > > | 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 |
*/
static void cackey_mark_slot_reset(struct cackey_slot *slot) {
if (slot == NULL) {
return;
}
CACKEY_DEBUG_PRINTF("Called.");
if (slot->pcsc_card_connected) {
SCardDisconnect(slot->pcsc_card, SCARD_LEAVE_CARD);
}
slot->slot_reset = 1;
slot->pcsc_card_connected = 0;
slot->token_flags = CKF_LOGIN_REQUIRED;
CACKEY_DEBUG_PRINTF("Returning.");
|
| ︙ | ︙ |