summaryrefslogtreecommitdiff
path: root/src/slot.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/slot.c')
-rw-r--r--src/slot.c62
1 files changed, 29 insertions, 33 deletions
diff --git a/src/slot.c b/src/slot.c
index 5424cb6..1cad423 100644
--- a/src/slot.c
+++ b/src/slot.c
@@ -28,7 +28,7 @@ slot_global(void)
/** - NULL argument */
rv = (p11t_module_funcs->C_GetInfo)(NULL);
- p11t_check_returns("C_GetInfo", rv, CKR_ARGUMENTS_BAD);
+ p11t_check_returns("C_GetInfo: null argument", rv, CKR_ARGUMENTS_BAD);
/* Obvious crap fill */
memset(&p11t_slot_global, 0xFF, sizeof(CK_INFO));
@@ -41,10 +41,6 @@ slot_global(void)
return;
}
- /** - Cryptoki version matches that in library entry point data */
- if(memcmp(&p11t_slot_global.cryptokiVersion, &p11t_module_funcs->version, sizeof(CK_VERSION)) != 0)
- p11t_msg_print("version from CK_INFO.cryptokiVersion does not match from CK_FUNCTION_LIST.version");
-
/** - Space padded strings in CK_INFO */
p11t_check_padded("CK_INFO.manufacturerID", p11t_slot_global.manufacturerID);
p11t_check_padded("CK_INFO.libraryDescription", p11t_slot_global.libraryDescription);
@@ -79,7 +75,7 @@ slot_info(void)
/** - NULL arguments */
rv = (p11t_module_funcs->C_GetSlotList)(FALSE, NULL, NULL);
- p11t_check_returns("C_GetSlotList", rv, CKR_ARGUMENTS_BAD);
+ p11t_check_returns("C_GetSlotList: null argument", rv, CKR_ARGUMENTS_BAD);
/** - Retrieving the count */
rv = (p11t_module_funcs->C_GetSlotList)(FALSE, NULL, &p11t_slot_count);
@@ -87,7 +83,7 @@ slot_info(void)
if(p11t_slot_count == 0)
{
- p11t_msg_print("no slots to test");
+ p11t_msg_print("C_GetSlotList: no slots to test");
return;
}
@@ -104,16 +100,16 @@ slot_info(void)
/** - Passing buffer space along with zero count. */
count = 0;
rv = (p11t_module_funcs->C_GetSlotList)(FALSE, p11t_slot_ids, &count);
- p11t_check_returns("C_GetSlotList", rv, CKR_BUFFER_TOO_SMALL);
- p11t_check_ulong("Count invalid zero space passed to C_GetSlotList", count, p11t_slot_count);
+ p11t_check_returns("C_GetSlotList: zero buffer", rv, CKR_BUFFER_TOO_SMALL);
+ p11t_check_ulong("C_GetSlotList: count invalid zero space passed", count, p11t_slot_count);
if(p11t_slot_count > 1)
{
/** - Passing buffer space along with low count. */
count = 1;
rv = (p11t_module_funcs->C_GetSlotList)(FALSE, p11t_slot_ids, &count);
- p11t_check_returns("C_GetSlotList", rv, CKR_BUFFER_TOO_SMALL);
- p11t_check_ulong("Count invalid when too little space passed to C_GetSlotList", count, p11t_slot_count);
+ p11t_check_returns("C_GetSlotList: low buffer", rv, CKR_BUFFER_TOO_SMALL);
+ p11t_check_ulong("C_GetSlotList: count invalid when too little space passed", count, p11t_slot_count);
}
/** - Passing too much buffer space. */
@@ -125,7 +121,7 @@ slot_info(void)
return;
}
- p11t_check_ulong("Count invalid when too much space passed to C_GetSlotList", count, p11t_slot_count);
+ p11t_check_ulong("C_GetSlotList: count invalid when too much space passed", count, p11t_slot_count);
/* When we ask for just token valid ones, they should only be the ones we noted with flags */
present = calloc(p11t_slot_count, sizeof(CK_SLOT_ID));
@@ -140,7 +136,7 @@ slot_info(void)
/** - NULL argument */
rv = (p11t_module_funcs->C_GetSlotInfo)(p11t_slot_ids[i], NULL);
- p11t_check_returns("C_GetSlotInfo", rv, CKR_ARGUMENTS_BAD);
+ p11t_check_returns("C_GetSlotInfo: null argument", rv, CKR_ARGUMENTS_BAD);
/** - Normal call */
rv = (p11t_module_funcs->C_GetSlotInfo)(p11t_slot_ids[i], &p11t_slot_info[i]);
@@ -164,11 +160,11 @@ slot_info(void)
/** - Null arguments */
rv = (p11t_module_funcs->C_GetTokenInfo)(p11t_slot_ids[i], NULL);
- p11t_check_returns("C_GetSlotInfo", rv, CKR_ARGUMENTS_BAD);
+ p11t_check_returns("C_GetTokenInfo: null arguments", rv, CKR_ARGUMENTS_BAD);
/** - Normal call */
rv = (p11t_module_funcs->C_GetTokenInfo)(p11t_slot_ids[i], &p11t_slot_token_info[i]);
- p11t_check_returns("C_GetSlotInfo", rv, CKR_OK);
+ p11t_check_returns("C_GetTokenInfo", rv, CKR_OK);
/** - Space padded CK_TOKEN_INFO fields */
p11t_check_padded("CK_TOKEN_INFO.label", p11t_slot_token_info[i].label);
@@ -209,7 +205,7 @@ slot_info(void)
second < 0 || second > 50 ||
extra != 0)
{
- p11t_msg_print("invalid time on token: %s", buffer);
+ p11t_msg_print("C_GetTokenInfo: invalid time on token: %s", buffer);
}
}
}
@@ -217,19 +213,19 @@ slot_info(void)
{
/** - Calling on slot without token */
rv = (p11t_module_funcs->C_GetTokenInfo)(p11t_slot_ids[i], &p11t_slot_token_info[i]);
- p11t_check_returns("C_GetSlotInfo", rv, CKR_TOKEN_NOT_PRESENT);
+ p11t_check_returns("C_GetSlotInfo: without token", rv, CKR_TOKEN_NOT_PRESENT);
}
}
rv = (p11t_module_funcs->C_GetSlotList)(TRUE, only, &n_only);
- p11t_check_returns("C_GetSlotList (only tokens)", rv, CKR_OK);
+ p11t_check_returns("C_GetSlotList: only tokens", rv, CKR_OK);
- p11t_check_ulong("number of present tokens doesn't match token info flags. ie: CKF_TOKEN_PRESENT", n_only, n_present);
+ p11t_check_ulong("C_GetSlotInfo: number of present tokens doesn't match token info flags. ie: CKF_TOKEN_PRESENT", n_only, n_present);
qsort(only, n_only, sizeof(CK_SLOT_ID), compar_slot_id);
qsort(present, n_present, sizeof(CK_SLOT_ID), compar_slot_id);
if(memcmp(only, present, sizeof(CK_SLOT_ID) * n_only) != 0)
- p11t_msg_print("present tokens don't match those in token info flags. ie: CKF_TOKEN_PRESENT");
+ p11t_msg_print("C_GetSlotInfo: present tokens don't match those in token info flags. ie: CKF_TOKEN_PRESENT");
}
void
@@ -259,7 +255,7 @@ slot_mechanisms(void)
/* - Invalid Slot */
mech_count = 0;
rv = (p11t_module_funcs->C_GetMechanismList)((CK_ULONG)-10, NULL, &mech_count);
- p11t_check_returns("C_GetMechanismList invalid slot id", rv, CKR_SLOT_ID_INVALID);
+ p11t_check_returns("C_GetMechanismList: invalid slot id", rv, CKR_SLOT_ID_INVALID);
p11t_slot_mech_count = calloc(p11t_slot_count, sizeof(CK_ULONG));
assert(p11t_slot_mech_count);
@@ -274,11 +270,11 @@ slot_mechanisms(void)
/** - Null arguments */
rv = (p11t_module_funcs->C_GetMechanismList)(slot_id, NULL, NULL);
- p11t_check_returns("C_GetMechanismList null arguments", rv, CKR_ARGUMENTS_BAD);
+ p11t_check_returns("C_GetMechanismList: null arguments", rv, CKR_ARGUMENTS_BAD);
/** - Without buffer */
rv = (p11t_module_funcs->C_GetMechanismList)(slot_id, NULL, &mech_count);
- p11t_check_returns("C_GetMechanismList without buffer", rv, CKR_OK);
+ p11t_check_returns("C_GetMechanismList: without buffer", rv, CKR_OK);
if(mech_count > 0)
{
@@ -288,23 +284,23 @@ slot_mechanisms(void)
/** - Zero count but buffer present */
value = 0;
rv = (p11t_module_funcs->C_GetMechanismList)(slot_id, mech_list, &value);
- p11t_check_returns("C_GetMechanismList zero buffer", rv, CKR_BUFFER_TOO_SMALL);
- p11t_check_ulong("should have number of mechs", value, mech_count);
+ p11t_check_returns("C_GetMechanismList: zero buffer", rv, CKR_BUFFER_TOO_SMALL);
+ p11t_check_ulong("C_GetMechanismList: should have number of mechs", value, mech_count);
if(mech_count > 1)
{
/** - Low count but buffer present */
value = 1;
rv = (p11t_module_funcs->C_GetMechanismList)(slot_id, mech_list, &value);
- p11t_check_returns("C_GetMechanismList low buffer", rv, CKR_BUFFER_TOO_SMALL);
- p11t_check_ulong("should have number of mechs", value, mech_count);
+ p11t_check_returns("C_GetMechanismList: low buffer", rv, CKR_BUFFER_TOO_SMALL);
+ p11t_check_ulong("C_GetMechanismList: should have number of mechs", value, mech_count);
}
/* - Call with too much buffer */
value = mech_count + 5;
rv = (p11t_module_funcs->C_GetMechanismList)(slot_id, mech_list, &value);
- p11t_check_returns("C_GetMechanismList high buffer", rv, CKR_OK);
- p11t_check_ulong("should have number of mechs", value, mech_count);
+ p11t_check_returns("C_GetMechanismList: high buffer", rv, CKR_OK);
+ p11t_check_ulong("C_GetMechanismList: should have number of mechs", value, mech_count);
mech_info = calloc(mech_count, sizeof(CK_MECHANISM_INFO));
@@ -314,15 +310,15 @@ slot_mechanisms(void)
/** - Invalid mechanism */
rv = (p11t_module_funcs->C_GetMechanismInfo)(slot_id, (CK_ULONG)-10, mech_info);
- p11t_check_returns("C_GetMechanismInfo with invalid mech", rv, CKR_MECHANISM_INVALID);
+ p11t_check_returns("C_GetMechanismInfo: with invalid mech", rv, CKR_MECHANISM_INVALID);
/** - Null arguments */
rv = (p11t_module_funcs->C_GetMechanismInfo)(slot_id, mech_list[0], NULL);
- p11t_check_returns("C_GetMechanismInfo with null arg", rv, CKR_ARGUMENTS_BAD);
+ p11t_check_returns("C_GetMechanismInfo: with null arg", rv, CKR_ARGUMENTS_BAD);
/** - Invalid slot id */
rv = (p11t_module_funcs->C_GetMechanismInfo)((CK_ULONG)-11, mech_list[0], mech_info);
- p11t_check_returns("C_GetMechanismInfo with invalid slot", rv, CKR_SLOT_ID_INVALID);
+ p11t_check_returns("C_GetMechanismInfo: with invalid slot", rv, CKR_SLOT_ID_INVALID);
for(j = 0; j < mech_count; ++j)
{
@@ -331,7 +327,7 @@ slot_mechanisms(void)
p11t_check_returns("C_GetMechanismInfo", rv, CKR_OK);
if(mech_info[i].ulMinKeySize > mech_info[i].ulMaxKeySize)
- p11t_msg_print("Mechanism min key size is greater than max");
+ p11t_msg_print("C_GetMechanismInfo: Mechanism min key size is greater than max");
p11t_check_mask("CK_MECHANISM_INFO.flags", mech_info[i].flags,
CKF_HW | CKF_ENCRYPT | CKF_DECRYPT | CKF_DIGEST | CKF_SIGN |