Overview
Comment: | Fixed an issue where the mutex released slightly too early |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
54d3a148efd03ee6b0263c91297e2d30 |
User & Date: | rkeene on 2016-02-16 16:06:54 |
Other Links: | manifest | tags |
Context
2016-02-16
| ||
17:04 | Added workaround for Google's PCSC where we cannot determine the amount of space required to hold the reader list automatically check-in: 6218cc54fc user: rkeene tags: trunk | |
16:06 | Fixed an issue where the mutex released slightly too early check-in: 54d3a148ef user: rkeene tags: trunk | |
16:06 | Better handling of loss of connection to the PCSC daemon or card resetting check-in: 9f8b1347d9 user: rkeene tags: trunk | |
Changes
Modified cackey.c from [ef984b4aeb] to [3b58f20dd7].
︙ | ︙ | |||
5205 5206 5207 5208 5209 5210 5211 | CACKEY_DEBUG_PRINTF("No token is present in slotID = %lu", slotID); cackey_mutex_unlock(cackey_biglock); return(CKR_TOKEN_NOT_PRESENT); } | < < < < < < < | 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 | CACKEY_DEBUG_PRINTF("No token is present in slotID = %lu", slotID); cackey_mutex_unlock(cackey_biglock); return(CKR_TOKEN_NOT_PRESENT); } /* Determine token label from certificates */ memset(pInfo->label, ' ', sizeof(pInfo->label)); use_default_label = 1; if (cackey_slots[slotID].label == NULL) { pcsc_identities = cackey_read_certs(&cackey_slots[slotID], NULL, &num_certs); if (pcsc_identities != NULL) { |
︙ | ︙ | |||
5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 | cackey_free_certs(pcsc_identities, num_certs, 1); } } else { memcpy(pInfo->label, cackey_slots[slotID].label, sizeof(pInfo->label)); use_default_label = 0; } if (use_default_label) { memcpy(pInfo->label, defaultLabel, sizeof(defaultLabel) - 1); } memset(pInfo->manufacturerID, ' ', sizeof(pInfo->manufacturerID)); memcpy(pInfo->manufacturerID, manufacturerID, sizeof(manufacturerID) - 1); | > > > > > > > | 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 | cackey_free_certs(pcsc_identities, num_certs, 1); } } else { memcpy(pInfo->label, cackey_slots[slotID].label, sizeof(pInfo->label)); use_default_label = 0; } mutex_retval = cackey_mutex_unlock(cackey_biglock); if (mutex_retval != 0) { CACKEY_DEBUG_PRINTF("Error. Unlocking failed."); return(CKR_GENERAL_ERROR); } if (use_default_label) { memcpy(pInfo->label, defaultLabel, sizeof(defaultLabel) - 1); } memset(pInfo->manufacturerID, ' ', sizeof(pInfo->manufacturerID)); memcpy(pInfo->manufacturerID, manufacturerID, sizeof(manufacturerID) - 1); |
︙ | ︙ |