Add recoverable errors
[ Merge of http://go/wvgerrit/71326 ] Nonce flood, frame size, session and system invalidation errors will now bubble up to the app. OEMCrypto v15 returns OEMCrypto_ERROR_BUFFER_TOO_LARGE, OEMCrypto_ERROR_SESSION_LOST_STATE, OEMCrypto_ERROR_SYSTEM_INVALIDATED and a variety of nonce errors. These will be reported to HIDL as OUTPUT_TOO_LARGE_ERROR, ERROR_DRM_SESSION_LOST_STATE, ERROR_DRM_INVALID_STATE and ERROR_DRM_RESOURCE_CONTENTION. Bug: 120572706 Test: Unit/Integration tests Change-Id: Ida177300046327ce81592a273028ef6c3a0d9fd9
This commit is contained in:
@@ -46,9 +46,6 @@ void PrintTo(const enum CdmResponseType& value, ::std::ostream* os) {
|
||||
case CERT_PROVISIONING_GET_KEYBOX_ERROR_1:
|
||||
*os << "CERT_PROVISIONING_GET_KEYBOX_ERROR_1";
|
||||
break;
|
||||
case CERT_PROVISIONING_GET_KEYBOX_ERROR_2:
|
||||
*os << "CERT_PROVISIONING_GET_KEYBOX_ERROR_2";
|
||||
break;
|
||||
case CERT_PROVISIONING_INVALID_CERT_TYPE:
|
||||
*os << "CERT_PROVISIONING_INVALID_CERT_TYPE";
|
||||
break;
|
||||
@@ -58,9 +55,6 @@ void PrintTo(const enum CdmResponseType& value, ::std::ostream* os) {
|
||||
case CERT_PROVISIONING_NONCE_GENERATION_ERROR:
|
||||
*os << "CERT_PROVISIONING_NONCE_GENERATION_ERROR";
|
||||
break;
|
||||
case CERT_PROVISIONING_REQUEST_ERROR_3:
|
||||
*os << "CERT_PROVISIONING_REQUEST_ERROR_3";
|
||||
break;
|
||||
case CERT_PROVISIONING_REQUEST_ERROR_4:
|
||||
*os << "CERT_PROVISIONING_REQUEST_ERROR_4";
|
||||
break;
|
||||
@@ -325,9 +319,6 @@ void PrintTo(const enum CdmResponseType& value, ::std::ostream* os) {
|
||||
case RENEW_KEY_ERROR_2:
|
||||
*os << "RENEW_KEY_ERROR_2";
|
||||
break;
|
||||
case LICENSE_RENEWAL_SIGNING_ERROR:
|
||||
*os << "LICENSE_RENEWAL_SIGNING_ERROR";
|
||||
break;
|
||||
case RESTORE_OFFLINE_LICENSE_ERROR_2:
|
||||
*os << "RESTORE_OFFLINE_LICENSE_ERROR_2";
|
||||
break;
|
||||
@@ -451,9 +442,6 @@ void PrintTo(const enum CdmResponseType& value, ::std::ostream* os) {
|
||||
case LICENSE_REQUEST_NONCE_GENERATION_ERROR:
|
||||
*os << "LICENSE_REQUEST_NONCE_GENERATION_ERROR";
|
||||
break;
|
||||
case LICENSE_REQUEST_SIGNING_ERROR:
|
||||
*os << "LICENSE_REQUEST_SIGNING_ERROR";
|
||||
break;
|
||||
case EMPTY_LICENSE_REQUEST:
|
||||
*os << "EMPTY_LICENSE_REQUEST";
|
||||
break;
|
||||
@@ -553,9 +541,6 @@ void PrintTo(const enum CdmResponseType& value, ::std::ostream* os) {
|
||||
case CLIENT_IDENTIFICATION_TOKEN_ERROR_1:
|
||||
*os << "CLIENT_IDENTIFICATION_TOKEN_ERROR_1";
|
||||
break;
|
||||
case CLIENT_IDENTIFICATION_TOKEN_ERROR_2:
|
||||
*os << "CLIENT_IDENTIFICATION_TOKEN_ERROR_2";
|
||||
break;
|
||||
case ANALOG_OUTPUT_ERROR:
|
||||
*os << "ANALOG_OUTPUT_ERROR";
|
||||
break;
|
||||
@@ -834,12 +819,100 @@ void PrintTo(const enum CdmResponseType& value, ::std::ostream* os) {
|
||||
break;
|
||||
case SESSION_KEYS_NOT_FOUND_2:
|
||||
*os << "SESSION_KEYS_NOT_FOUND_2";
|
||||
break;
|
||||
case REMOVE_OFFLINE_LICENSE_ERROR_1:
|
||||
*os << "REMOVE_OFFLINE_LICENSE_ERROR_1";
|
||||
break;
|
||||
case REMOVE_OFFLINE_LICENSE_ERROR_2:
|
||||
*os << "REMOVE_OFFLINE_LICENSE_ERROR_2";
|
||||
break;
|
||||
case OUTPUT_TOO_LARGE_ERROR:
|
||||
*os << "OUTPUT_TOO_LARGE_ERROR";
|
||||
break;
|
||||
case SESSION_LOST_STATE_ERROR:
|
||||
*os << "SESSION_LOST_STATE_ERROR";
|
||||
break;
|
||||
case GENERATE_DERIVED_KEYS_ERROR_2:
|
||||
*os << "GENERATE_DERIVED_KEYS_ERROR_2";
|
||||
break;
|
||||
case LOAD_DEVICE_RSA_KEY_ERROR:
|
||||
*os << "LOAD_DEVICE_RSA_KEY_ERROR";
|
||||
break;
|
||||
case NONCE_GENERATION_ERROR:
|
||||
*os << "NONCE_GENERATION_ERROR";
|
||||
break;
|
||||
case GENERATE_SIGNATURE_ERROR:
|
||||
*os << "GENERATE_SIGNATURE_ERROR";
|
||||
break;
|
||||
case UNKNOWN_CLIENT_TOKEN_TYPE:
|
||||
*os << "UNKNOWN_CLIENT_TOKEN_TYPE";
|
||||
break;
|
||||
case DEACTIVATE_USAGE_ENTRY_ERROR:
|
||||
*os << "DEACTIVATE_USAGE_ENTRY_ERROR";
|
||||
break;
|
||||
case SYSTEM_INVALIDATED_ERROR:
|
||||
*os << "SYSTEM_INVALIDATED_ERROR";
|
||||
break;
|
||||
case OPEN_CRYPTO_SESSION_ERROR:
|
||||
*os << "OPEN_CRYPTO_SESSION_ERROR";
|
||||
break;
|
||||
case LOAD_SRM_ERROR:
|
||||
*os << "LOAD_SRM_ERROR";
|
||||
break;
|
||||
case RANDOM_GENERATION_ERROR:
|
||||
*os << "RANDOM_GENERATION_ERROR";
|
||||
break;
|
||||
case CRYPTO_SESSION_NOT_INITIALIZED:
|
||||
*os << "CRYPTO_SESSION_NOT_INITIALIZED";
|
||||
break;
|
||||
case GET_DEVICE_ID_ERROR:
|
||||
*os << "GET_DEVICE_ID_ERROR";
|
||||
break;
|
||||
case GET_TOKEN_FROM_OEM_CERT_ERROR:
|
||||
*os << "GET_TOKEN_FROM_OEM_CERT_ERROR";
|
||||
break;
|
||||
case CRYPTO_SESSION_NOT_OPEN:
|
||||
*os << "CRYPTO_SESSION_NOT_OPEN";
|
||||
break;
|
||||
case GET_TOKEN_FROM_KEYBOX_ERROR:
|
||||
*os << "GET_TOKEN_FROM_KEYBOX_ERROR";
|
||||
break;
|
||||
case KEYBOX_TOKEN_TOO_SHORT:
|
||||
*os << "KEYBOX_TOKEN_TOO_SHORT";
|
||||
break;
|
||||
case EXTRACT_SYSTEM_ID_FROM_OEM_CERT_ERROR:
|
||||
*os << "EXTRACT_SYSTEM_ID_FROM_OEM_CERT_ERROR";
|
||||
break;
|
||||
case RSA_SIGNATURE_GENERATION_ERROR:
|
||||
*os << "RSA_SIGNATURE_GENERATION_ERROR";
|
||||
break;
|
||||
case GET_HDCP_CAPABILITY_FAILED:
|
||||
*os << "GET_HDCP_CAPABILITY_FAILED";
|
||||
break;
|
||||
case GET_NUMBER_OF_OPEN_SESSIONS_ERROR:
|
||||
*os << "GET_NUMBER_OF_OPEN_SESSIONS_ERROR";
|
||||
break;
|
||||
case GET_MAX_NUMBER_OF_OPEN_SESSIONS_ERROR:
|
||||
*os << "GET_MAX_NUMBER_OF_OPEN_SESSIONS_ERROR";
|
||||
break;
|
||||
case NOT_IMPLEMENTED_ERROR:
|
||||
*os << "NOT_IMPLEMENTED_ERROR";
|
||||
break;
|
||||
case GET_SRM_VERSION_ERROR:
|
||||
*os << "GET_SRM_VERSION_ERROR";
|
||||
break;
|
||||
case REWRAP_DEVICE_RSA_KEY_ERROR:
|
||||
*os << "REWRAP_DEVICE_RSA_KEY_ERROR";
|
||||
break;
|
||||
case REWRAP_DEVICE_RSA_KEY_30_ERROR:
|
||||
*os << "REWRAP_DEVICE_RSA_KEY_30_ERROR";
|
||||
break;
|
||||
case SERVICE_CERTIFICATE_PROVIDER_ID_EMPTY:
|
||||
*os << "SERVICE_CERTIFICATE_PROVIDER_ID_EMPTY";
|
||||
break;
|
||||
case INVALID_SRM_LIST:
|
||||
*os << "INVALID_SRM_LIST";
|
||||
break;
|
||||
default:
|
||||
*os << "Unknown CdmResponseType";
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user