From 14c3a3865a84a6a0ff49ddc39bbeda0ca538da70 Mon Sep 17 00:00:00 2001 From: Fred Gylys-Colwell Date: Thu, 2 Mar 2017 16:51:28 -0800 Subject: [PATCH] Give Nonce Error Explicit Name Merge from widevine repo of http://go/wvgerrit/24421 A nonce generation error for a certificate provisioning request had a generic name Error2. However, this is an actionable error by the application: the application should wait 1 second and try again. Therefore it deserves a more descriptive name. bug: 35926133 bug: 35879493 Change-Id: I6c87a5a762cb970c9530a55c993d7acbed773a00 --- libwvdrmengine/cdm/core/include/wv_cdm_types.h | 2 +- libwvdrmengine/cdm/core/src/certificate_provisioning.cpp | 2 +- libwvdrmengine/cdm/core/test/cdm_engine_test.cpp | 4 ++-- libwvdrmengine/cdm/core/test/test_printers.cpp | 4 ++-- libwvdrmengine/include/WVErrors.h | 2 +- libwvdrmengine/include/mapErrors-inl.h | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libwvdrmengine/cdm/core/include/wv_cdm_types.h b/libwvdrmengine/cdm/core/include/wv_cdm_types.h index c996f195..6b4d6e50 100644 --- a/libwvdrmengine/cdm/core/include/wv_cdm_types.h +++ b/libwvdrmengine/cdm/core/include/wv_cdm_types.h @@ -54,7 +54,7 @@ enum CdmResponseType { CERT_PROVISIONING_GET_KEYBOX_ERROR_2, CERT_PROVISIONING_INVALID_CERT_TYPE, CERT_PROVISIONING_REQUEST_ERROR_1, - CERT_PROVISIONING_REQUEST_ERROR_2, /* 15 */ + CERT_PROVISIONING_NONCE_GENERATION_ERROR, /* 15 */ CERT_PROVISIONING_REQUEST_ERROR_3, CERT_PROVISIONING_REQUEST_ERROR_4, CERT_PROVISIONING_RESPONSE_ERROR_1, diff --git a/libwvdrmengine/cdm/core/src/certificate_provisioning.cpp b/libwvdrmengine/cdm/core/src/certificate_provisioning.cpp index 2a4b399e..e0f3608f 100644 --- a/libwvdrmengine/cdm/core/src/certificate_provisioning.cpp +++ b/libwvdrmengine/cdm/core/src/certificate_provisioning.cpp @@ -178,7 +178,7 @@ CdmResponseType CertificateProvisioning::GetProvisioningRequest( uint32_t nonce; if (!crypto_session_.GenerateNonce(&nonce)) { LOGE("GetProvisioningRequest: fails to generate a nonce"); - return CERT_PROVISIONING_REQUEST_ERROR_2; + return CERT_PROVISIONING_NONCE_GENERATION_ERROR; } // The provisioning server does not convert the nonce to uint32_t, it just diff --git a/libwvdrmengine/cdm/core/test/cdm_engine_test.cpp b/libwvdrmengine/cdm/core/test/cdm_engine_test.cpp index e2053ad6..c73aaeef 100644 --- a/libwvdrmengine/cdm/core/test/cdm_engine_test.cpp +++ b/libwvdrmengine/cdm/core/test/cdm_engine_test.cpp @@ -84,7 +84,7 @@ class WvCdmEngineTest : public testing::Test { for (int i = 0; i < 2; i++) { // Retry once if there is a nonce problem. result = cdm_engine_.GetProvisioningRequest( cert_type, cert_authority, &prov_request, &provisioning_server_url); - if (result == LICENSE_REQUEST_NONCE_GENERATION_ERROR) { + if (result == CERT_PROVISIONING_NONCE_GENERATION_ERROR) { LOGW("Woops. Nonce problem. Try again?"); sleep(1); } else { @@ -140,7 +140,7 @@ class WvCdmEngineTest : public testing::Test { CdmResponseType result = NO_ERROR; for (int i = 0; i < 2; i++) { // Retry once if there is a nonce problem. result = cdm_engine_.GenerateRenewalRequest(session_id_, &request); - if (result == LICENSE_REQUEST_NONCE_GENERATION_ERROR) { + if (result == LICENSE_RENEWAL_NONCE_GENERATION_ERROR) { LOGW("Woops. Nonce problem. Try again?"); sleep(1); } else { diff --git a/libwvdrmengine/cdm/core/test/test_printers.cpp b/libwvdrmengine/cdm/core/test/test_printers.cpp index b37bae99..b33389d9 100644 --- a/libwvdrmengine/cdm/core/test/test_printers.cpp +++ b/libwvdrmengine/cdm/core/test/test_printers.cpp @@ -42,8 +42,8 @@ void PrintTo(const enum CdmResponseType& value, ::std::ostream* os) { case CERT_PROVISIONING_REQUEST_ERROR_1: *os << "CERT_PROVISIONING_REQUEST_ERROR_1"; break; - case CERT_PROVISIONING_REQUEST_ERROR_2: - *os << "CERT_PROVISIONING_REQUEST_ERROR_2"; + 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"; diff --git a/libwvdrmengine/include/WVErrors.h b/libwvdrmengine/include/WVErrors.h index 5e8833ab..c7ea7e59 100644 --- a/libwvdrmengine/include/WVErrors.h +++ b/libwvdrmengine/include/WVErrors.h @@ -26,7 +26,7 @@ enum { kCertProvisioningGetKeyboxError2 = ERROR_DRM_VENDOR_MIN + 10, kCertProvisioningInvalidCertType = ERROR_DRM_VENDOR_MIN + 11, kCertProvisioningRequestError1 = ERROR_DRM_VENDOR_MIN + 12, - kCertProvisioningRequestError2 = ERROR_DRM_VENDOR_MIN + 13, + kCertProvisioningRequestNonceGenerationError = ERROR_DRM_VENDOR_MIN + 13, kCertProvisioningRequestError3 = ERROR_DRM_VENDOR_MIN + 14, kCertProvisioningRequestError4 = ERROR_DRM_VENDOR_MIN + 15, kCertProvisioningResponseError1 = ERROR_DRM_VENDOR_MIN + 16, diff --git a/libwvdrmengine/include/mapErrors-inl.h b/libwvdrmengine/include/mapErrors-inl.h index f93c9b48..7b9e2aa6 100644 --- a/libwvdrmengine/include/mapErrors-inl.h +++ b/libwvdrmengine/include/mapErrors-inl.h @@ -39,8 +39,8 @@ static android::status_t mapCdmResponseType(wvcdm::CdmResponseType res) { return kCertProvisioningInvalidCertType; case wvcdm::CERT_PROVISIONING_REQUEST_ERROR_1: return kCertProvisioningRequestError1; - case wvcdm::CERT_PROVISIONING_REQUEST_ERROR_2: - return kCertProvisioningRequestError2; + case wvcdm::CERT_PROVISIONING_NONCE_GENERATION_ERROR: + return kCertProvisioningRequestNonceGenerationError; case wvcdm::CERT_PROVISIONING_REQUEST_ERROR_3: return kCertProvisioningRequestError3; case wvcdm::CERT_PROVISIONING_REQUEST_ERROR_4: