Correctly handle missing entry in DeactivateUsageEntry
This is a copy of https://widevine-internal-review.googlesource.com/#/c/11110/ The level 3 oemcrypto library version of DeactivateUsageEntry now returns OEMCrypto_ERROR_INVALID_CONTEXT if there is no entry in the usage table. Current Library Version: arm: Level3 Library Sep 3 2014 18:13:47 b/17373630 Change-Id: Iaeb65b4ad4b2b9f3c6733a2c9c8d96e2be263d09
This commit is contained in:
Binary file not shown.
@@ -4478,6 +4478,7 @@ TEST_F(DISABLED_GenericDRMTest, KeyDurationVerify) {
|
|||||||
|
|
||||||
TEST_F(OEMCryptoClientTest, SupportsUsageTable) {
|
TEST_F(OEMCryptoClientTest, SupportsUsageTable) {
|
||||||
if (OEMCrypto_SupportsUsageTable()) {
|
if (OEMCrypto_SupportsUsageTable()) {
|
||||||
|
EXPECT_EQ(OEMCrypto_SUCCESS, OEMCrypto_UpdateUsageTable());
|
||||||
cout << " OEMCrypto supports usage tables." << endl;
|
cout << " OEMCrypto supports usage tables." << endl;
|
||||||
} else {
|
} else {
|
||||||
cout << " OEMCrypto does not support usage tables." << endl;
|
cout << " OEMCrypto does not support usage tables." << endl;
|
||||||
@@ -4668,7 +4669,6 @@ TEST_P(DISABLED_UsageTableTest, FiftyEntries) {
|
|||||||
s1.LoadTestKeys(pst1, new_mac_keys_);
|
s1.LoadTestKeys(pst1, new_mac_keys_);
|
||||||
sleep(kShortSleep);
|
sleep(kShortSleep);
|
||||||
|
|
||||||
cout << "Making 49\n";
|
|
||||||
const size_t ENTRY_COUNT = 49;// API says should hold at least 50 entries.
|
const size_t ENTRY_COUNT = 49;// API says should hold at least 50 entries.
|
||||||
Session sessions[ENTRY_COUNT];
|
Session sessions[ENTRY_COUNT];
|
||||||
for (int i=0; i<ENTRY_COUNT; i++) {
|
for (int i=0; i<ENTRY_COUNT; i++) {
|
||||||
@@ -4685,7 +4685,6 @@ TEST_P(DISABLED_UsageTableTest, FiftyEntries) {
|
|||||||
sessions[i].GenerateReport(pst);
|
sessions[i].GenerateReport(pst);
|
||||||
sessions[i].close();
|
sessions[i].close();
|
||||||
}
|
}
|
||||||
cout << "Checking 49\n";
|
|
||||||
for (int i=0; i<ENTRY_COUNT; i++) {
|
for (int i=0; i<ENTRY_COUNT; i++) {
|
||||||
Session s;
|
Session s;
|
||||||
s.open();
|
s.open();
|
||||||
@@ -4944,6 +4943,20 @@ TEST_P(DISABLED_UsageTableTest, DeleteEntryBadRange) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_P(DISABLED_UsageTableTest, DeactivateBadPST) {
|
||||||
|
if (OEMCrypto_SupportsUsageTable()) {
|
||||||
|
ASSERT_EQ(OEMCrypto_SUCCESS, OEMCrypto_UpdateUsageTable());
|
||||||
|
std::string pst = "nonexistant pst";
|
||||||
|
OEMCryptoResult sts = OEMCrypto_DeactivateUsageEntry(
|
||||||
|
reinterpret_cast<const uint8_t*>(pst.c_str()), pst.length());
|
||||||
|
EXPECT_EQ(OEMCrypto_ERROR_INVALID_CONTEXT, sts);
|
||||||
|
std::string null_pst = "";
|
||||||
|
sts = OEMCrypto_DeactivateUsageEntry(
|
||||||
|
reinterpret_cast<const uint8_t*>(null_pst.c_str()), null_pst.length());
|
||||||
|
EXPECT_EQ(OEMCrypto_ERROR_INVALID_CONTEXT, sts);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TEST_P(DISABLED_UsageTableTest, GenericEncrypt) {
|
TEST_P(DISABLED_UsageTableTest, GenericEncrypt) {
|
||||||
if (OEMCrypto_SupportsUsageTable()) {
|
if (OEMCrypto_SupportsUsageTable()) {
|
||||||
std::string pst = "A PST";
|
std::string pst = "A PST";
|
||||||
|
|||||||
Reference in New Issue
Block a user