Hi Klaus,
> +#define _sym2str(X) case X: return #X;
My only comment would be to leave the semi-colon out of the #define, and add
it below on each line _sym2str is called. This will make for clearer code to
read and won't mess up an editor's auto-indent, which sometimes happens when
there's no semi-colon to end a statement.
Otherwise this looks good. Once you commit I'll have some patches that will
apply on top of these to fill out the missing SHA2 HMAC tests and AES 128/192
tests.
Thanks,
Kent
> +
> //
> // p11_get_ckr - return textual interpretation of a CKR_ error code
> // @rc is the CKR_.. error
> @@ -299,90 +301,90 @@
> char *p11_get_ckr( CK_RV rc )
> {
> switch (rc) {
> - case CKR_OK: return " CKR_OK";
> - case CKR_CANCEL: return " CKR_CANCEL";
> - case CKR_HOST_MEMORY: return " CKR_HOST_MEMORY";
> - case CKR_SLOT_ID_INVALID: return "
> CKR_SLOT_ID_INVALID";
> - case CKR_GENERAL_ERROR: return "
> CKR_GENERAL_ERROR";
> - case CKR_FUNCTION_FAILED: return "
> CKR_FUNCTION_FAILED";
> - case CKR_ARGUMENTS_BAD: return "
> CKR_ARGUMENTS_BAD";
> - case CKR_NO_EVENT: return " CKR_NO_EVENT";
> - case CKR_NEED_TO_CREATE_THREADS: return "
> CKR_NEED_TO_CREATE_THREADS";
> - case CKR_CANT_LOCK: return " CKR_CANT_LOCK";
> - case CKR_ATTRIBUTE_READ_ONLY: return "
> CKR_ATTRIBUTE_READ_ONLY";
> - case CKR_ATTRIBUTE_SENSITIVE: return "
> CKR_ATTRIBUTE_SENSITIVE";
> - case CKR_ATTRIBUTE_TYPE_INVALID: return "
> CKR_ATTRIBUTE_TYPE_INVALID";
> - case CKR_ATTRIBUTE_VALUE_INVALID: return "
> CKR_ATTRIBUTE_VALUE_INVALID";
> - case CKR_DATA_INVALID: return " CKR_DATA_INVALID";
> - case CKR_DATA_LEN_RANGE: return "
> CKR_DATA_LEN_RANGE";
> - case CKR_DEVICE_ERROR: return " CKR_DEVICE_ERROR";
> - case CKR_DEVICE_MEMORY: return "
> CKR_DEVICE_MEMORY";
> - case CKR_DEVICE_REMOVED: return "
> CKR_DEVICE_REMOVED";
> - case CKR_ENCRYPTED_DATA_INVALID: return "
> CKR_ENCRYPTED_DATA_INVALID";
> - case CKR_ENCRYPTED_DATA_LEN_RANGE: return "
> CKR_ENCRYPTED_DATA_LEN_RANGE";
> - case CKR_FUNCTION_CANCELED: return " CKR_FUNCTION_CANCELED";
> - case CKR_FUNCTION_NOT_PARALLEL: return "
> CKR_FUNCTION_NOT_PARALLEL";
> - case CKR_FUNCTION_NOT_SUPPORTED: return "
> CKR_FUNCTION_NOT_SUPPORTED";
> - case CKR_KEY_HANDLE_INVALID: return "
> CKR_KEY_HANDLE_INVALID";
> - case CKR_KEY_SIZE_RANGE: return "
> CKR_KEY_SIZE_RANGE";
> - case CKR_KEY_TYPE_INCONSISTENT: return "
> CKR_KEY_TYPE_INCONSISTENT";
> - case CKR_KEY_NOT_NEEDED: return "
> CKR_KEY_NOT_NEEDED";
> - case CKR_KEY_CHANGED: return " CKR_KEY_CHANGED";
> - case CKR_KEY_NEEDED: return " CKR_KEY_NEEDED";
> - case CKR_KEY_INDIGESTIBLE: return " CKR_KEY_INDIGESTIBLE";
> - case CKR_KEY_FUNCTION_NOT_PERMITTED: return "
> CKR_KEY_FUNCTION_NOT_PERMITTED";
> - case CKR_KEY_NOT_WRAPPABLE: return " CKR_KEY_NOT_WRAPPABLE";
> - case CKR_KEY_UNEXTRACTABLE: return " CKR_KEY_UNEXTRACTABLE";
> - case CKR_MECHANISM_INVALID: return " CKR_MECHANISM_INVALID";
> - case CKR_MECHANISM_PARAM_INVALID: return "
> CKR_MECHANISM_PARAM_INVALID";
> - case CKR_OBJECT_HANDLE_INVALID: return "
> CKR_OBJECT_HANDLE_INVALID";
> - case CKR_OPERATION_ACTIVE: return " CKR_OPERATION_ACTIVE";
> - case CKR_OPERATION_NOT_INITIALIZED: return "
> CKR_OPERATION_NOT_INITIALIZED";
> - case CKR_PIN_INCORRECT: return "
> CKR_PIN_INCORRECT";
> - case CKR_PIN_INVALID: return " CKR_PIN_INVALID";
> - case CKR_PIN_LEN_RANGE: return "
> CKR_PIN_LEN_RANGE";
> - case CKR_PIN_EXPIRED: return " CKR_PIN_EXPIRED";
> - case CKR_PIN_LOCKED: return " CKR_PIN_LOCKED";
> - case CKR_SESSION_CLOSED: return "
> CKR_SESSION_CLOSED";
> - case CKR_SESSION_COUNT: return "
> CKR_SESSION_COUNT";
> - case CKR_SESSION_HANDLE_INVALID: return "
> CKR_SESSION_HANDLE_INVALID";
> - case CKR_SESSION_PARALLEL_NOT_SUPPORTED: return "
> CKR_SESSION_PARALLEL_NOT_SUPPORTED";
> - case CKR_SESSION_READ_ONLY: return " CKR_SESSION_READ_ONLY";
> - case CKR_SESSION_EXISTS: return "
> CKR_SESSION_EXISTS";
> - case CKR_SESSION_READ_ONLY_EXISTS: return "
> CKR_SESSION_READ_ONLY_EXISTS";
> - case CKR_SESSION_READ_WRITE_SO_EXISTS: return "
> CKR_SESSION_READ_WRITE_SO_EXISTS";
> - case CKR_SIGNATURE_INVALID: return " CKR_SIGNATURE_INVALID";
> - case CKR_SIGNATURE_LEN_RANGE: return "
> CKR_SIGNATURE_LEN_RANGE";
> - case CKR_TEMPLATE_INCOMPLETE: return "
> CKR_TEMPLATE_INCOMPLETE";
> - case CKR_TEMPLATE_INCONSISTENT: return "
> CKR_TEMPLATE_INCONSISTENT";
> - case CKR_TOKEN_NOT_PRESENT: return " CKR_TOKEN_NOT_PRESENT";
> - case CKR_TOKEN_NOT_RECOGNIZED: return "
> CKR_TOKEN_NOT_RECOGNIZED";
> - case CKR_TOKEN_WRITE_PROTECTED: return "
> CKR_TOKEN_WRITE_PROTECTED";
> - case CKR_UNWRAPPING_KEY_HANDLE_INVALID: return "
> CKR_UNWRAPPING_KEY_HANDLE_INVALID";
> - case CKR_UNWRAPPING_KEY_SIZE_RANGE: return "
> CKR_UNWRAPPING_KEY_SIZE_RANGE";
> - case CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT:return "
> CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT";
> - case CKR_USER_ALREADY_LOGGED_IN: return "
> CKR_USER_ALREADY_LOGGED_IN";
> - case CKR_USER_NOT_LOGGED_IN: return "
> CKR_USER_NOT_LOGGED_IN";
> - case CKR_USER_PIN_NOT_INITIALIZED: return "
> CKR_USER_PIN_NOT_INITIALIZED";
> - case CKR_USER_TYPE_INVALID: return " CKR_USER_TYPE_INVALID";
> - case CKR_USER_ANOTHER_ALREADY_LOGGED_IN: return "
> CKR_USER_ANOTHER_ALREADY_LOGGED_IN";
> - case CKR_USER_TOO_MANY_TYPES: return "
> CKR_USER_TOO_MANY_TYPES";
> - case CKR_WRAPPED_KEY_INVALID: return "
> CKR_WRAPPED_KEY_INVALID";
> - case CKR_WRAPPED_KEY_LEN_RANGE: return "
> CKR_WRAPPED_KEY_LEN_RANGE";
> - case CKR_WRAPPING_KEY_HANDLE_INVALID: return "
> CKR_WRAPPING_KEY_HANDLE_INVALID";
> - case CKR_WRAPPING_KEY_SIZE_RANGE: return "
> CKR_WRAPPING_KEY_SIZE_RANGE";
> - case CKR_WRAPPING_KEY_TYPE_INCONSISTENT: return "
> CKR_WRAPPING_KEY_TYPE_INCONSISTENT";
> - case CKR_RANDOM_SEED_NOT_SUPPORTED: return "
> CKR_RANDOM_SEED_NOT_SUPPORTED";
> - case CKR_RANDOM_NO_RNG: return "
> CKR_RANDOM_NO_RNG";
> - case CKR_BUFFER_TOO_SMALL: return " CKR_BUFFER_TOO_SMALL";
> - case CKR_SAVED_STATE_INVALID: return "
> CKR_SAVED_STATE_INVALID";
> - case CKR_INFORMATION_SENSITIVE: return "
> CKR_INFORMATION_SENSITIVE";
> - case CKR_STATE_UNSAVEABLE: return " CKR_STATE_UNSAVEABLE";
> - case CKR_CRYPTOKI_NOT_INITIALIZED: return "
> CKR_CRYPTOKI_NOT_INITIALIZED";
> - case CKR_CRYPTOKI_ALREADY_INITIALIZED: return "
> CKR_CRYPTOKI_ALREADY_INITIALIZED";
> - case CKR_MUTEX_BAD: return " CKR_MUTEX_BAD";
> - case CKR_MUTEX_NOT_LOCKED: return " CKR_MUTEX_NOT_LOCKED";
> - default: return " UNKNOWN";
> + _sym2str(CKR_OK)
> + _sym2str(CKR_CANCEL)
> + _sym2str(CKR_HOST_MEMORY)
> + _sym2str(CKR_SLOT_ID_INVALID)
> + _sym2str(CKR_GENERAL_ERROR)
> + _sym2str(CKR_FUNCTION_FAILED)
> + _sym2str(CKR_ARGUMENTS_BAD)
> + _sym2str(CKR_NO_EVENT)
> + _sym2str(CKR_NEED_TO_CREATE_THREADS)
> + _sym2str(CKR_CANT_LOCK)
> + _sym2str(CKR_ATTRIBUTE_READ_ONLY)
> + _sym2str(CKR_ATTRIBUTE_SENSITIVE)
> + _sym2str(CKR_ATTRIBUTE_TYPE_INVALID)
> + _sym2str(CKR_ATTRIBUTE_VALUE_INVALID)
> + _sym2str(CKR_DATA_INVALID)
> + _sym2str(CKR_DATA_LEN_RANGE)
> + _sym2str(CKR_DEVICE_ERROR)
> + _sym2str(CKR_DEVICE_MEMORY)
> + _sym2str(CKR_DEVICE_REMOVED)
> + _sym2str(CKR_ENCRYPTED_DATA_INVALID)
> + _sym2str(CKR_ENCRYPTED_DATA_LEN_RANGE)
> + _sym2str(CKR_FUNCTION_CANCELED)
> + _sym2str(CKR_FUNCTION_NOT_PARALLEL)
> + _sym2str(CKR_FUNCTION_NOT_SUPPORTED)
> + _sym2str(CKR_KEY_HANDLE_INVALID)
> + _sym2str(CKR_KEY_SIZE_RANGE)
> + _sym2str(CKR_KEY_TYPE_INCONSISTENT)
> + _sym2str(CKR_KEY_NOT_NEEDED)
> + _sym2str(CKR_KEY_CHANGED)
> + _sym2str(CKR_KEY_NEEDED)
> + _sym2str(CKR_KEY_INDIGESTIBLE)
> + _sym2str(CKR_KEY_FUNCTION_NOT_PERMITTED)
> + _sym2str(CKR_KEY_NOT_WRAPPABLE)
> + _sym2str(CKR_KEY_UNEXTRACTABLE)
> + _sym2str(CKR_MECHANISM_INVALID)
> + _sym2str(CKR_MECHANISM_PARAM_INVALID)
> + _sym2str(CKR_OBJECT_HANDLE_INVALID)
> + _sym2str(CKR_OPERATION_ACTIVE)
> + _sym2str(CKR_OPERATION_NOT_INITIALIZED)
> + _sym2str(CKR_PIN_INCORRECT)
> + _sym2str(CKR_PIN_INVALID)
> + _sym2str(CKR_PIN_LEN_RANGE)
> + _sym2str(CKR_PIN_EXPIRED)
> + _sym2str(CKR_PIN_LOCKED)
> + _sym2str(CKR_SESSION_CLOSED)
> + _sym2str(CKR_SESSION_COUNT)
> + _sym2str(CKR_SESSION_HANDLE_INVALID)
> + _sym2str(CKR_SESSION_PARALLEL_NOT_SUPPORTED)
> + _sym2str(CKR_SESSION_READ_ONLY)
> + _sym2str(CKR_SESSION_EXISTS)
> + _sym2str(CKR_SESSION_READ_ONLY_EXISTS)
> + _sym2str(CKR_SESSION_READ_WRITE_SO_EXISTS)
> + _sym2str(CKR_SIGNATURE_INVALID)
> + _sym2str(CKR_SIGNATURE_LEN_RANGE)
> + _sym2str(CKR_TEMPLATE_INCOMPLETE)
> + _sym2str(CKR_TEMPLATE_INCONSISTENT)
> + _sym2str(CKR_TOKEN_NOT_PRESENT)
> + _sym2str(CKR_TOKEN_NOT_RECOGNIZED)
> + _sym2str(CKR_TOKEN_WRITE_PROTECTED)
> + _sym2str(CKR_UNWRAPPING_KEY_HANDLE_INVALID)
> + _sym2str(CKR_UNWRAPPING_KEY_SIZE_RANGE)
> + _sym2str(CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT)
> + _sym2str(CKR_USER_ALREADY_LOGGED_IN)
> + _sym2str(CKR_USER_NOT_LOGGED_IN)
> + _sym2str(CKR_USER_PIN_NOT_INITIALIZED)
> + _sym2str(CKR_USER_TYPE_INVALID)
> + _sym2str(CKR_USER_ANOTHER_ALREADY_LOGGED_IN)
> + _sym2str(CKR_USER_TOO_MANY_TYPES)
> + _sym2str(CKR_WRAPPED_KEY_INVALID)
> + _sym2str(CKR_WRAPPED_KEY_LEN_RANGE)
> + _sym2str(CKR_WRAPPING_KEY_HANDLE_INVALID)
> + _sym2str(CKR_WRAPPING_KEY_SIZE_RANGE)
> + _sym2str(CKR_WRAPPING_KEY_TYPE_INCONSISTENT)
> + _sym2str(CKR_RANDOM_SEED_NOT_SUPPORTED)
> + _sym2str(CKR_RANDOM_NO_RNG)
> + _sym2str(CKR_BUFFER_TOO_SMALL)
> + _sym2str(CKR_SAVED_STATE_INVALID)
> + _sym2str(CKR_INFORMATION_SENSITIVE)
> + _sym2str(CKR_STATE_UNSAVEABLE)
> + _sym2str(CKR_CRYPTOKI_NOT_INITIALIZED)
> + _sym2str(CKR_CRYPTOKI_ALREADY_INITIALIZED)
> + _sym2str(CKR_MUTEX_BAD)
> + _sym2str(CKR_MUTEX_NOT_LOCKED)
> + default: return "UNKNOWN";
> }
> }
>
------------------------------------------------------------------------------
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