Check-in [d37223bd9d]
Overview
Comment:Fixed missing card reset
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: d37223bd9df3beef26401cd2f74ccf7574c269b4
User & Date: rkeene on 2010-05-20 20:08:44
Other Links: manifest | tags
Context
2010-05-20
20:09
CACKey 0.5.1 check-in: a06c5d0dda user: rkeene tags: 0.5.1, trunk
20:08
Fixed missing card reset check-in: d37223bd9d user: rkeene tags: trunk
19:56
CACKey 0.5.0

Updated cackey to support independent releases check-in: 55c89f91a4 user: rkeene tags: 0.5.0, trunk

Changes

Modified cackey.c from [93de8e257c] to [4ec2269ed9].

2190
2191
2192
2193
2194
2195
2196



2197
2198


2199
2200
2201
2202
2203
2204
2205
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210







+
+
+


+
+








		return(CACKEY_PCSC_S_TOKENABSENT);
	}

	atr_len = sizeof(atr);
	status_ret = SCardStatus(slot->pcsc_card, NULL, &reader_len, &state, &protocol, atr, &atr_len);
	if (status_ret != SCARD_S_SUCCESS) {
		slot->slot_reset = 1;
		slot->token_flags = CKF_LOGIN_REQUIRED;

		if (status_ret == SCARD_W_RESET_CARD) {
			CACKEY_DEBUG_PRINTF("Reset required, please hold...");



			scard_reconn_ret = SCardReconnect(slot->pcsc_card, SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0, SCARD_RESET_CARD, &protocol);
			if (scard_reconn_ret == SCARD_S_SUCCESS) {
				/* Re-establish transaction, if it was present */
				if (slot->transaction_depth > 0) {
					slot->transaction_depth--;
					cackey_begin_transaction(slot);