- fix compile warnings generated by -Wall - always return a non-zero error code to the command line on test error - use a macro to send output to stderr when appropriate - print file/line numbers for any failures
Signed-off-by: Kent Yoder <[email protected]> testcases/driver/rijndael_func.c | 194 +++++++++++++++++++------------------- 1 files changed, 98 insertions(+), 96 deletions(-) diff --git a/testcases/driver/rijndael_func.c b/testcases/driver/rijndael_func.c index abf764d..5700cef 100755 --- a/testcases/driver/rijndael_func.c +++ b/testcases/driver/rijndael_func.c @@ -91,7 +91,7 @@ CK_BYTE KAT_256_CBC_CT[] = { 0xC0,0xFE,0xFF,0xF0,0x75,0x06,0xA0,0xB4, -int do_AES_KAT_128_ECB(void) +CK_RV do_AES_KAT_128_ECB(void) { int j; unsigned int i, k; @@ -206,23 +206,23 @@ print_done: printf("\n"); for( i=0; i<sizeof(key128); i++) { if(key128[i] != KAT_128_ECB_KEY[i]) { - printf("%s:%d Error: key data does not match known " - "key data at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: key data does not match known " + "key data at byte %d.\n", i); goto done; } } for( i=0; i<sizeof(final_pt); i++) { if(final_pt[i] != KAT_128_ECB_PT[i]) { - printf("%s:%d Error: Plain text does not match known " - "plain text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Plain text does not match known " + "plain text at byte %d.\n", i); goto done; } } for( i=0; i<sizeof(ct); i++) { if(ct[i] != KAT_128_ECB_CT[i]) { - printf("%s:%d Error: Cipher text does not match known " - "cipher text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Cipher text does not match known " + "cipher text at byte %d.\n", i); goto done; } } @@ -232,7 +232,7 @@ done: } -int do_AES_KAT_192_ECB(void) +CK_RV do_AES_KAT_192_ECB(void) { int j; unsigned int i, k; @@ -333,8 +333,8 @@ print_done: for( i=0; i<sizeof(key192); i++) { if(key192[i] != KAT_192_ECB_KEY[i]) { - printf("%s:%d Error: key data does not match known " - "key data at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: key data does not match known " + "key data at byte %d.\n", i); rc = -1; goto done; } @@ -342,16 +342,16 @@ print_done: for( i=0; i<sizeof(final_pt); i++) { if(final_pt[i] != KAT_192_ECB_PT[i]) { - printf("%s:%d Error: Plain text does not match known " - "plain text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Plain text does not match known " + "plain text at byte %d.\n", i); rc = -1; goto done; } } for( i=0; i<AES_BLOCK_SIZE; i++) { if(ct[i+8] != KAT_192_ECB_CT[i]) { - printf("%s:%d Error: Cipher text does not match known " - "cipher text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Cipher text does not match known " + "cipher text at byte %d.\n", i); rc = -1; goto done; } @@ -362,7 +362,7 @@ done: } -int do_AES_KAT_256_ECB(void) +CK_RV do_AES_KAT_256_ECB(void) { int j; unsigned int i, k; @@ -463,8 +463,8 @@ print_done: for( i=0; i<sizeof(key256); i++) { if(key256[i] != KAT_256_ECB_KEY[i]) { - printf("%s:%d Error: key data does not match known " - "key data at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: key data does not match known " + "key data at byte %d.\n", i); rc = -1; goto done; } @@ -472,16 +472,16 @@ print_done: for( i=0; i<sizeof(final_pt); i++) { if(final_pt[i] != KAT_256_ECB_PT[i]) { - printf("%s:%d Error: Plain text does not match known " - "plain text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Plain text does not match known " + "plain text at byte %d.\n", i); rc = -1; goto done; } } for( i=0; i<AES_BLOCK_SIZE; i++) { if(ct[i+16] != KAT_256_ECB_CT[i]) { - printf("%s:%d Error: Cipher text does not match known " - "cipher text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Cipher text does not match known " + "cipher text at byte %d.\n", i); rc = -1; goto done; } @@ -493,7 +493,7 @@ done: -int do_AES_KAT_128_CBC(void) +CK_RV do_AES_KAT_128_CBC(void) { int j; unsigned int i, k; @@ -601,8 +601,8 @@ print_done: for( i=0; i<sizeof(key); i++) { if(key[i] != KAT_128_CBC_KEY[i]) { - printf("%s:%d Error: key data does not match known " - "key data at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: key data does not match known " + "key data at byte %d.\n", i); rc = -1; goto done; } @@ -610,16 +610,16 @@ print_done: for( i=0; i<sizeof(final_pt); i++) { if(final_pt[i] != KAT_128_CBC_PT[i]) { - printf("%s:%d Error: Plain text does not match known " - "plain text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Plain text does not match known " + "plain text at byte %d.\n", i); rc = -1; goto done; } } for( i=0; i<AES_BLOCK_SIZE; i++) { if(ct[i] != KAT_128_CBC_CT[i]) { - printf("%s:%d Error: Cipher text does not match known " - "cipher text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Cipher text does not match known " + "cipher text at byte %d.\n", i); rc = -1; goto done; } @@ -630,7 +630,7 @@ done: } -int do_AES_KAT_192_CBC(void) +CK_RV do_AES_KAT_192_CBC(void) { int j; unsigned int i, k; @@ -734,8 +734,8 @@ print_done: for( i=0; i<sizeof(key); i++) { if(key[i] != KAT_192_CBC_KEY[i]) { - printf("%s:%d Error: key data does not match known " - "key data at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: key data does not match known " + "key data at byte %d.\n", i); rc = -1; goto done; } @@ -743,16 +743,16 @@ print_done: for( i=0; i<sizeof(final_pt); i++) { if(final_pt[i] != KAT_192_CBC_PT[i]) { - printf("%s:%d Error: Plain text does not match known " - "plain text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Plain text does not match known " + "plain text at byte %d.\n", i); rc = -1; goto done; } } for( i=0; i<AES_BLOCK_SIZE; i++) { if(ct[i+8] != KAT_192_CBC_CT[i]) { - printf("%s:%d Error: Cipher text does not match known " - "cipher text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Cipher text does not match known " + "cipher text at byte %d.\n", i); rc = -1; goto done; } @@ -762,7 +762,7 @@ done: } -int do_AES_KAT_256_CBC(void) +CK_RV do_AES_KAT_256_CBC(void) { int j; unsigned int i, k; @@ -869,8 +869,8 @@ print_done: for( i=0; i<sizeof(key); i++) { if(key[i] != KAT_256_CBC_KEY[i]) { - printf("%s:%d Error: key data does not match known " - "key data at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: key data does not match known " + "key data at byte %d.\n", i); rc = -1; goto done; } @@ -878,16 +878,16 @@ print_done: for( i=0; i<sizeof(final_pt); i++) { if(final_pt[i] != KAT_256_CBC_PT[i]) { - printf("%s:%d Error: Plain text does not match known " - "plain text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Plain text does not match known " + "plain text at byte %d.\n", i); rc = -1; goto done; } } for( i=0; i<AES_BLOCK_SIZE; i++) { if(ct[i+16] != KAT_256_CBC_CT[i]) { - printf("%s:%d Error: Cipher text does not match known " - "cipher text at byte %d.\n", __FILE__, __LINE__, i); + PRINT_ERR("Error: Cipher text does not match known " + "cipher text at byte %d.\n", i); rc = -1; goto done; } @@ -897,55 +897,9 @@ done: } -int main(int argc, char **argv) +CK_RV rijndael_functions(void) { - CK_C_INITIALIZE_ARGS cinit_args; - int rc, i; - - - rc = do_ParseArgs(argc, argv); - if ( rc != 1) - return rc; - - printf("Using slot #%lu...\n\n", SLOT_ID ); - printf("With option: no_init: %d\n", no_init); - - rc = do_GetFunctionList(); - if (!rc) { - fprintf(stderr, "ERROR do_GetFunctionList() Failed , rc = 0x%0x\n", rc); - return rc; - } - - memset( &cinit_args, 0x0, sizeof(cinit_args) ); - cinit_args.flags = CKF_OS_LOCKING_OK; - - // SAB Add calls to ALL functions before the C_Initialize gets hit - - funcs->C_Initialize( &cinit_args ); - - { - CK_SESSION_HANDLE hsess = 0; - - rc = funcs->C_GetFunctionStatus(hsess); - if (rc != CKR_FUNCTION_NOT_PARALLEL) - return rc; - - rc = funcs->C_CancelFunction(hsess); - if (rc != CKR_FUNCTION_NOT_PARALLEL) - return rc; - - } - - rijndael_functions(); -} - - - - -int rijndael_functions(void) -{ - int i; - CK_RV rc; + CK_RV rc, loc_rc; CK_C_INITIALIZE_ARGS initialize_args; CK_BYTE user_pin[PKCS11_MAX_PIN_LEN]; CK_ULONG user_pin_len; @@ -1019,17 +973,65 @@ int rijndael_functions(void) printf("Rijndael tests succeeded.\n"); logout: - rc = funcs->C_Logout(sess); - if( rc != CKR_OK ) - show_error("C_Logout #1", rc); + loc_rc = funcs->C_Logout(sess); + if( loc_rc != CKR_OK ) + show_error("C_Logout #1", loc_rc); session_close: /* Close the session */ - if( (rc = funcs->C_CloseSession(sess)) != CKR_OK ) - show_error("C_CloseSession", rc); + if( (loc_rc = funcs->C_CloseSession(sess)) != CKR_OK ) + show_error("C_CloseSession", loc_rc); done: /* Call C_Finalize and dlclose the library */ - return TRUE; + return rc; } + +int main(int argc, char **argv) +{ + CK_C_INITIALIZE_ARGS cinit_args; + int rc; + CK_RV rv; + + rc = do_ParseArgs(argc, argv); + if ( rc != 1) + return rc; + + printf("Using slot #%lu...\n\n", SLOT_ID ); + printf("With option: no_init: %d\n", no_init); + + rc = do_GetFunctionList(); + if (!rc) { + PRINT_ERR("ERROR do_GetFunctionList() Failed , rc = 0x%0x\n", rc); + return rc; + } + + memset( &cinit_args, 0x0, sizeof(cinit_args) ); + cinit_args.flags = CKF_OS_LOCKING_OK; + + // SAB Add calls to ALL functions before the C_Initialize gets hit + + funcs->C_Initialize( &cinit_args ); + + { + CK_SESSION_HANDLE hsess = 0; + + rc = funcs->C_GetFunctionStatus(hsess); + if (rc != CKR_FUNCTION_NOT_PARALLEL) + return rc; + + rc = funcs->C_CancelFunction(hsess); + if (rc != CKR_FUNCTION_NOT_PARALLEL) + return rc; + + } + + rv = rijndael_functions(); + /* make sure we return non-zero if rv is non-zero */ + return ((rv==0) || (rv % 256) ? rv : -1); +} + + + + ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ Opencryptoki-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opencryptoki-tech
