Snap for 6245101 from 5f9d48b133 to sc-release
Change-Id: I56e4e73b4cfca9876e27fdc255b791124e6e33b6
This commit is contained in:
@@ -457,19 +457,25 @@ CdmResponseType CdmLicense::PrepareKeyUpdateRequest(
|
||||
current_license->set_seconds_since_last_played(seconds_since_last_played);
|
||||
}
|
||||
|
||||
// Get/set the nonce. This value will be reflected in the Key Control Block
|
||||
// of the license response.
|
||||
uint32_t nonce;
|
||||
CdmResponseType status = crypto_session_->GenerateNonce(&nonce);
|
||||
|
||||
switch (status) {
|
||||
case NO_ERROR:
|
||||
break;
|
||||
case SESSION_LOST_STATE_ERROR:
|
||||
case SYSTEM_INVALIDATED_ERROR:
|
||||
return status;
|
||||
default:
|
||||
return LICENSE_RENEWAL_NONCE_GENERATION_ERROR;
|
||||
uint32_t api_version = 0;
|
||||
if (!crypto_session_->GetApiVersion(&api_version)) {
|
||||
LOGW("Unknown API Version");
|
||||
api_version = 15;
|
||||
}
|
||||
uint32_t nonce = 0;
|
||||
if (api_version < 16) {
|
||||
// For a pre-v16 license, get/set the nonce. This value will be reflected
|
||||
// in the Key Control Block of the license response.
|
||||
const CdmResponseType status = crypto_session_->GenerateNonce(&nonce);
|
||||
switch (status) {
|
||||
case NO_ERROR:
|
||||
break;
|
||||
case SESSION_LOST_STATE_ERROR:
|
||||
case SYSTEM_INVALIDATED_ERROR:
|
||||
return status;
|
||||
default:
|
||||
return LICENSE_RENEWAL_NONCE_GENERATION_ERROR;
|
||||
}
|
||||
}
|
||||
license_request.set_key_control_nonce(nonce);
|
||||
LOGD("nonce = %u", nonce);
|
||||
@@ -482,7 +488,7 @@ CdmResponseType CdmLicense::PrepareKeyUpdateRequest(
|
||||
// Construct signature and core message.
|
||||
std::string core_message;
|
||||
std::string license_request_signature;
|
||||
status = crypto_session_->PrepareAndSignRenewalRequest(
|
||||
const CdmResponseType status = crypto_session_->PrepareAndSignRenewalRequest(
|
||||
serialized_license_req, &core_message, &license_request_signature);
|
||||
if (status != NO_ERROR) return status;
|
||||
|
||||
|
||||
@@ -437,7 +437,7 @@ class MockCryptoSession : public TestCryptoSession {
|
||||
|
||||
// Fake method for testing. Having an EXPECT_CALL causes complexities
|
||||
// for getting table capacity during initialization.
|
||||
virtual bool GetMaximumUsageTableEntries(SecurityLevel security_level,
|
||||
virtual bool GetMaximumUsageTableEntries(SecurityLevel /*security_level*/,
|
||||
size_t* number_of_entries) {
|
||||
if (number_of_entries == nullptr || !maximum_usage_table_entries_set_)
|
||||
return false;
|
||||
|
||||
@@ -1671,7 +1671,7 @@ class DecryptCallbackTester {
|
||||
const CdmKeyStatusMap& /* keys_status */,
|
||||
bool /* has_new_usable_key */) {
|
||||
EXPECT_TRUE(decryptor_);
|
||||
EXPECT_TRUE(sub_sample_info_ != nullptr);
|
||||
ASSERT_NE(sub_sample_info_, nullptr);
|
||||
|
||||
std::vector<uint8_t> decrypt_buffer(sub_sample_info_->encrypt_data.size());
|
||||
CdmDecryptionParameters decryption_parameters(
|
||||
@@ -4018,7 +4018,7 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest) {
|
||||
EXPECT_LT(4, file_size);
|
||||
std::unique_ptr<File> file = file_system.Open(
|
||||
usage_info_not_empty_app_id_file_name, FileSystem::kReadOnly);
|
||||
EXPECT_TRUE(nullptr != file);
|
||||
ASSERT_NE(file, nullptr);
|
||||
std::string file_data;
|
||||
file_data.resize(file_size);
|
||||
ssize_t bytes = file->Read(&file_data[0], file_data.size());
|
||||
@@ -4029,7 +4029,7 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest) {
|
||||
memset(&file_data[0] + bytes - 4, 0, 4);
|
||||
file = file_system.Open(usage_info_not_empty_app_id_file_name,
|
||||
FileSystem::kCreate | FileSystem::kTruncate);
|
||||
EXPECT_TRUE(nullptr != file);
|
||||
ASSERT_NE(file, nullptr);
|
||||
bytes = file->Write(file_data.data(), file_data.size());
|
||||
EXPECT_EQ(file_size, bytes);
|
||||
|
||||
@@ -4052,7 +4052,7 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest) {
|
||||
EXPECT_LT(4, file_size);
|
||||
file = file_system.Open(usage_info_empty_app_id_file_name,
|
||||
FileSystem::kReadOnly);
|
||||
EXPECT_TRUE(nullptr != file);
|
||||
ASSERT_NE(file, nullptr);
|
||||
file_data.resize(file_size);
|
||||
bytes = file->Read(&file_data[0], file_data.size());
|
||||
EXPECT_EQ(file_size, bytes);
|
||||
@@ -4062,7 +4062,7 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest) {
|
||||
memset(&file_data[0] + bytes - 4, 0, 4);
|
||||
file = file_system.Open(usage_info_empty_app_id_file_name,
|
||||
FileSystem::kCreate | FileSystem::kTruncate);
|
||||
EXPECT_TRUE(nullptr != file);
|
||||
ASSERT_NE(file, nullptr);
|
||||
bytes = file->Write(file_data.data(), file_data.size());
|
||||
EXPECT_EQ(file_size, bytes);
|
||||
|
||||
@@ -4154,7 +4154,7 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest2) {
|
||||
EXPECT_LT(4, file_size);
|
||||
std::unique_ptr<File> file = file_system.Open(
|
||||
usage_info_not_empty_app_id_file_name, FileSystem::kReadOnly);
|
||||
EXPECT_TRUE(nullptr != file);
|
||||
ASSERT_NE(file, nullptr);
|
||||
std::string file_data;
|
||||
file_data.resize(file_size);
|
||||
ssize_t bytes = file->Read(&file_data[0], file_data.size());
|
||||
@@ -4173,7 +4173,7 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest2) {
|
||||
|
||||
file = file_system.Open(usage_info_not_empty_app_id_file_name,
|
||||
FileSystem::kCreate | FileSystem::kTruncate);
|
||||
EXPECT_TRUE(nullptr != file);
|
||||
ASSERT_NE(file, nullptr);
|
||||
bytes = file->Write(file_data.data(), file_data.size());
|
||||
EXPECT_EQ(file_size, bytes);
|
||||
|
||||
@@ -4196,7 +4196,7 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest2) {
|
||||
EXPECT_LT(4, file_size);
|
||||
file = file_system.Open(usage_info_empty_app_id_file_name,
|
||||
FileSystem::kReadOnly);
|
||||
EXPECT_TRUE(nullptr != file);
|
||||
ASSERT_NE(file, nullptr);
|
||||
file_data.resize(file_size);
|
||||
bytes = file->Read(&file_data[0], file_data.size());
|
||||
EXPECT_EQ(file_size, bytes);
|
||||
@@ -4212,7 +4212,7 @@ TEST_F(WvCdmRequestLicenseTest, RemoveCorruptedUsageInfoTest2) {
|
||||
|
||||
file = file_system.Open(usage_info_empty_app_id_file_name,
|
||||
FileSystem::kCreate | FileSystem::kTruncate);
|
||||
EXPECT_TRUE(nullptr != file);
|
||||
ASSERT_NE(file, nullptr);
|
||||
bytes = file->Write(file_data.data(), file_data.size());
|
||||
EXPECT_EQ(file_size, bytes);
|
||||
|
||||
@@ -4430,7 +4430,7 @@ TEST_F(WvCdmRequestLicenseTest, UsageRecoveryTest) {
|
||||
EXPECT_LT(4, file_size);
|
||||
std::unique_ptr<File> file =
|
||||
file_system.Open(usage_info_file_name, FileSystem::kReadOnly);
|
||||
EXPECT_TRUE(nullptr != file);
|
||||
ASSERT_NE(file, nullptr);
|
||||
std::string file_data;
|
||||
file_data.resize(file_size);
|
||||
ssize_t bytes = file->Read(&file_data[0], file_data.size());
|
||||
@@ -4440,7 +4440,7 @@ TEST_F(WvCdmRequestLicenseTest, UsageRecoveryTest) {
|
||||
memset(&file_data[0] + bytes - 4, 0, 4);
|
||||
file = file_system.Open(usage_info_file_name,
|
||||
FileSystem::kCreate | FileSystem::kTruncate);
|
||||
EXPECT_TRUE(nullptr != file);
|
||||
ASSERT_NE(file, nullptr);
|
||||
bytes = file->Write(file_data.data(), file_data.size());
|
||||
EXPECT_EQ(file_size, bytes);
|
||||
|
||||
@@ -4574,7 +4574,7 @@ TEST_F(WvCdmRequestLicenseTest, UsageRemoveSecureStopTest) {
|
||||
kDefaultCdmIdentifier, &secure_stop_ids));
|
||||
EXPECT_EQ(ArraySize(kUsageLicenseTestVector1), secure_stop_ids.size());
|
||||
|
||||
for (size_t i = 0; i < ArraySize(kUsageLicenseTestVector1); ++i) {
|
||||
for (size_t i = 0; i < secure_stop_ids.size(); ++i) {
|
||||
EXPECT_EQ(NO_ERROR, decryptor_->RemoveUsageInfo(
|
||||
kDefaultCdmIdentifier.app_package_name,
|
||||
kDefaultCdmIdentifier, secure_stop_ids[i]));
|
||||
@@ -4590,7 +4590,7 @@ TEST_F(WvCdmRequestLicenseTest, UsageRemoveSecureStopTest) {
|
||||
kExampleIdentifier, &secure_stop_ids));
|
||||
EXPECT_EQ(ArraySize(kUsageLicenseTestVector2), secure_stop_ids.size());
|
||||
|
||||
for (size_t i = 0; i < ArraySize(kUsageLicenseTestVector2); ++i) {
|
||||
for (size_t i = 0; i < secure_stop_ids.size(); ++i) {
|
||||
EXPECT_EQ(NO_ERROR, decryptor_->RemoveUsageInfo(
|
||||
kExampleIdentifier.app_package_name,
|
||||
kExampleIdentifier, secure_stop_ids[i]));
|
||||
|
||||
Reference in New Issue
Block a user