From d7e0a3562ce0354d2746d18e025f38a496baae80 Mon Sep 17 00:00:00 2001 From: Rahul Frias Date: Wed, 25 Apr 2018 13:36:43 -0700 Subject: [PATCH] Remove duplicate information from client identification [ Merge of http://go/wvgerrit/48720 ] The device ID does not need to be sent in the client identification information as it is either present in other fields or ignored by the license service. This also allows for build information to be reported during provisioning for devices with OEM certificates. Bug: 78578351 Test: WV unit/integration tests. GtsMediaTestCases. Change-Id: I708c63d34f0e2df7e465154d12096a394a1b23d7 --- .../cdm/core/src/certificate_provisioning.cpp | 11 +++++++++++ libwvdrmengine/cdm/core/src/client_identification.cpp | 9 --------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/libwvdrmengine/cdm/core/src/certificate_provisioning.cpp b/libwvdrmengine/cdm/core/src/certificate_provisioning.cpp index cc9ac0d1..487ee7fc 100644 --- a/libwvdrmengine/cdm/core/src/certificate_provisioning.cpp +++ b/libwvdrmengine/cdm/core/src/certificate_provisioning.cpp @@ -15,6 +15,8 @@ namespace { +const std::string kKeyBuildInfo = "build_info"; + // URL for Google Provisioning Server. // The provisioning server supplies the certificate that is needed // to communicate with the License Server. @@ -235,6 +237,15 @@ CdmResponseType CertificateProvisioning::GetProvisioningRequest( return CLIENT_IDENTIFICATION_TOKEN_ERROR_2; } client_id->set_token(token); + + std::string value; + if (Properties::GetBuildInfo(&value)) { + ClientIdentification_NameValue* client_info; + + client_info = client_id->add_client_info(); + client_info->set_name(kKeyBuildInfo); + client_info->set_value(value); + } } uint32_t nonce; diff --git a/libwvdrmengine/cdm/core/src/client_identification.cpp b/libwvdrmengine/cdm/core/src/client_identification.cpp index 32d234b6..16755b69 100644 --- a/libwvdrmengine/cdm/core/src/client_identification.cpp +++ b/libwvdrmengine/cdm/core/src/client_identification.cpp @@ -133,15 +133,6 @@ CdmResponseType ClientIdentification::Prepare( client_info->set_name(kKeyBuildInfo); client_info->set_value(value); } - if (!device_id_.empty()) { - client_info = client_id->add_client_info(); - client_info->set_name(kKeyDeviceId); - client_info->set_value(b2a_hex(device_id_)); - } else if (crypto_session_->GetInternalDeviceUniqueId(&value)) { - client_info = client_id->add_client_info(); - client_info->set_name(kKeyDeviceId); - client_info->set_value(value); - } if (Properties::GetWVCdmVersion(&value)) { client_info = client_id->add_client_info(); client_info->set_name(kKeyWvCdmVersion);