Add calls to DEBUG_VSS

On branch PKCS11-SLOTS-2
 Changes to be committed:
	modified:   pkcs11-global.c
	modified:   slot.c
This commit is contained in:
Doug Engert 2020-02-21 20:21:10 -06:00 committed by Frank Morgner
parent 2e89f1634f
commit 8d519ed3c4
2 changed files with 16 additions and 2 deletions

View File

@ -449,13 +449,18 @@ CK_RV C_GetSlotList(CK_BBOOL tokenPresent, /* only slots with token prese
sc_log(context, "C_GetSlotList(token=%d, %s)", tokenPresent, sc_log(context, "C_GetSlotList(token=%d, %s)", tokenPresent,
pSlotList==NULL_PTR? "plug-n-play":"refresh"); pSlotList==NULL_PTR? "plug-n-play":"refresh");
DEBUG_VSS(NULL, "C_GetSlotList before ctx_detect_detect");
/* Slot list can only change in v2.20 */ /* Slot list can only change in v2.20 */
if (pSlotList == NULL_PTR) if (pSlotList == NULL_PTR)
sc_ctx_detect_readers(context); sc_ctx_detect_readers(context);
DEBUG_VSS(NULL, "C_GetSlotList after ctx_detect_readers");
card_detect_all(); card_detect_all();
DEBUG_VSS(NULL, "C_GetSlotList after card_detect_all");
found = calloc(list_size(&virtual_slots), sizeof(CK_SLOT_ID)); found = calloc(list_size(&virtual_slots), sizeof(CK_SLOT_ID));
if (found == NULL) { if (found == NULL) {
@ -479,6 +484,7 @@ CK_RV C_GetSlotList(CK_BBOOL tokenPresent, /* only slots with token prese
} }
prev_reader = slot->reader; prev_reader = slot->reader;
} }
DEBUG_VSS(NULL, "C_GetSlotList after card_detect_all");
if (pSlotList == NULL_PTR) { if (pSlotList == NULL_PTR) {
sc_log(context, "was only a size inquiry (%lu)\n", numMatches); sc_log(context, "was only a size inquiry (%lu)\n", numMatches);
@ -486,6 +492,7 @@ CK_RV C_GetSlotList(CK_BBOOL tokenPresent, /* only slots with token prese
rv = CKR_OK; rv = CKR_OK;
goto out; goto out;
} }
DEBUG_VSS(NULL, "C_GetSlotList after slot->id reassigned");
if (*pulCount < numMatches) { if (*pulCount < numMatches) {
sc_log(context, "buffer was too small (needed %lu)\n", numMatches); sc_log(context, "buffer was too small (needed %lu)\n", numMatches);
@ -499,6 +506,7 @@ CK_RV C_GetSlotList(CK_BBOOL tokenPresent, /* only slots with token prese
rv = CKR_OK; rv = CKR_OK;
sc_log(context, "returned %lu slots\n", numMatches); sc_log(context, "returned %lu slots\n", numMatches);
DEBUG_VSS(NULL, "Returning a new slot list");
out: out:
free (found); free (found);
@ -535,7 +543,7 @@ static sc_timestamp_t get_current_time(void)
CK_RV C_GetSlotInfo(CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo) CK_RV C_GetSlotInfo(CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo)
{ {
struct sc_pkcs11_slot *slot; struct sc_pkcs11_slot *slot = NULL;
sc_timestamp_t now; sc_timestamp_t now;
CK_RV rv; CK_RV rv;
@ -558,6 +566,7 @@ CK_RV C_GetSlotInfo(CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo)
} }
rv = slot_get_slot(slotID, &slot); rv = slot_get_slot(slotID, &slot);
DEBUG_VSS(slot, "C_GetSlotInfo found");
sc_log(context, "C_GetSlotInfo() get slot rv %s", lookup_enum( RV_T, rv)); sc_log(context, "C_GetSlotInfo() get slot rv %s", lookup_enum( RV_T, rv));
if (rv == CKR_OK) { if (rv == CKR_OK) {
if (slot->reader == NULL) { if (slot->reader == NULL) {

View File

@ -75,7 +75,8 @@ static struct sc_pkcs11_slot * reader_reclaim_slot(sc_reader_t *reader)
/* Locate a slot related to the reader */ /* Locate a slot related to the reader */
for (i = 0; i<list_size(&virtual_slots); i++) { for (i = 0; i<list_size(&virtual_slots); i++) {
sc_pkcs11_slot_t *slot = (sc_pkcs11_slot_t *) list_get_at(&virtual_slots, i); sc_pkcs11_slot_t *slot = (sc_pkcs11_slot_t *) list_get_at(&virtual_slots, i);
if (slot->reader == reader) if (slot->reader == reader) {
DEBUG_VSS(slot, "reader_get_slot found slot");
return slot; return slot;
if (slot->reader == NULL && reader != NULL if (slot->reader == NULL && reader != NULL
&& 0 == memcmp(slot->slot_info.slotDescription, slotDescription, 64) && 0 == memcmp(slot->slot_info.slotDescription, slotDescription, 64)
@ -83,6 +84,7 @@ static struct sc_pkcs11_slot * reader_reclaim_slot(sc_reader_t *reader)
&& slot->slot_info.hardwareVersion.major == reader->version_major && slot->slot_info.hardwareVersion.major == reader->version_major
&& slot->slot_info.hardwareVersion.minor == reader->version_minor) && slot->slot_info.hardwareVersion.minor == reader->version_minor)
return slot; return slot;
}
} }
return NULL; return NULL;
} }
@ -140,6 +142,7 @@ CK_RV create_slot(sc_reader_t *reader)
if (0 != list_init(&slot->logins)) { if (0 != list_init(&slot->logins)) {
return CKR_HOST_MEMORY; return CKR_HOST_MEMORY;
} }
DEBUG_VSS(slot, "Creating new slot");
} else { } else {
/* reuse the old list of logins/objects since they should be empty */ /* reuse the old list of logins/objects since they should be empty */
list_t logins = slot->logins; list_t logins = slot->logins;
@ -149,6 +152,7 @@ CK_RV create_slot(sc_reader_t *reader)
slot->logins = logins; slot->logins = logins;
slot->objects = objects; slot->objects = objects;
DEBUG_VSS(slot, "Reusing old slot");
} }
slot->login_user = -1; slot->login_user = -1;
@ -159,6 +163,7 @@ CK_RV create_slot(sc_reader_t *reader)
if (reader != NULL) { if (reader != NULL) {
slot->reader = reader; slot->reader = reader;
} }
DEBUG_VSS(slot, "Created this slot");
return CKR_OK; return CKR_OK;
} }