Changes to adapter + gyp to support v15
Bug: b/117558570 Test: Android, CE CDM, and Linux tests Merge of http://go/wvgerrit/67566 This CL adds changes to support the Level 3 upgrade to v15 with both the dynamic and static adapters. It also rearranges the wvcrc.cpp files so that the tests have their own copy and Level 3 can just use the one in ref/src. Change-Id: Ieee2859601881aa1800622454e6ce0345eb94aa7
This commit is contained in:
@@ -381,11 +381,12 @@ struct FunctionPointers {
|
||||
class WatchDog {
|
||||
public:
|
||||
// Created by main thread.
|
||||
WatchDog() {
|
||||
WatchDog(std::vector<uint8_t> sandbox_id) {
|
||||
pthread_mutex_init(&mutex_, NULL);
|
||||
pthread_cond_init(&condition_, NULL);
|
||||
status_ = OEMCrypto_SUCCESS;
|
||||
gave_up_ = false;
|
||||
sandbox_id_ = sandbox_id;
|
||||
}
|
||||
|
||||
// Deleted by either thread.
|
||||
@@ -414,8 +415,7 @@ class WatchDog {
|
||||
|
||||
// Called by worker thread.
|
||||
void DoInit() {
|
||||
// TODO(b/117558570): Level3 does not currently support sandbox.
|
||||
// Level3_SetSandbox(&sandbox_id_[0], sandbox_id_.length());
|
||||
Level3_SetSandbox(&sandbox_id_[0], sandbox_id_.size());
|
||||
status_ = Level3_Initialize();
|
||||
}
|
||||
|
||||
@@ -533,6 +533,7 @@ class WatchDog {
|
||||
pthread_cond_t condition_;
|
||||
bool running_;
|
||||
bool gave_up_;
|
||||
std::vector<uint8_t> sandbox_id_;
|
||||
};
|
||||
|
||||
struct LevelSession {
|
||||
@@ -602,7 +603,7 @@ class Adapter {
|
||||
level1_ = FunctionPointers(); // start with all null pointers.
|
||||
level3_ = FunctionPointers(); // start with all null pointers.
|
||||
LoadLevel3();
|
||||
WatchDog *watcher = new WatchDog();
|
||||
WatchDog *watcher = new WatchDog(sandbox_id_);
|
||||
watcher->CheckForPreviousFailure(&metrics);
|
||||
watcher->StartThread();
|
||||
if (level3_.BuildInformation) {
|
||||
@@ -870,21 +871,17 @@ class Adapter {
|
||||
level3_.GenerateDerivedKeys = Level3_GenerateDerivedKeys;
|
||||
level3_.GenerateNonce = Level3_GenerateNonce;
|
||||
level3_.GenerateSignature = Level3_GenerateSignature;
|
||||
// TODO(srujzs) level3_.LoadKeys = Level3_LoadKeys;
|
||||
level3_.LoadKeys_V14 = Level3_LoadKeys;
|
||||
// TODO(srujzs) level3_.LoadEntitledContentKeys = Level3_LoadEntitledContentKeys;
|
||||
level3_.LoadEntitledContentKeys_V14 = Level3_LoadEntitledContentKeys;
|
||||
// TODO(srujzs) level3_.RefreshKeys = Level3_RefreshKeys;
|
||||
level3_.RefreshKeys_V14 = Level3_RefreshKeys;
|
||||
level3_.LoadKeys = Level3_LoadKeys;
|
||||
level3_.LoadEntitledContentKeys = Level3_LoadEntitledContentKeys;
|
||||
level3_.RefreshKeys = Level3_RefreshKeys;
|
||||
level3_.QueryKeyControl = Level3_QueryKeyControl;
|
||||
level3_.SelectKey = Level3_SelectKey;
|
||||
level3_.DecryptCENC = Level3_DecryptCENC;
|
||||
// TODO(srujzs) level3_.CopyBuffer = Level3_CopyBuffer;
|
||||
level3_.CopyBuffer_V14 = Level3_CopyBuffer;
|
||||
level3_.WrapKeybox = Level3_WrapKeybox;
|
||||
level3_.InstallKeyboxOrOEMCert = Level3_InstallKeybox;
|
||||
level3_.CopyBuffer = Level3_CopyBuffer;
|
||||
level3_.WrapKeybox = Level3_WrapKeyboxOrOEMCert;
|
||||
level3_.InstallKeyboxOrOEMCert = Level3_InstallKeyboxOrOEMCert;
|
||||
level3_.LoadTestKeybox = Level3_LoadTestKeybox;
|
||||
level3_.IsKeyboxOrOEMCertValid = Level3_IsKeyboxValid;
|
||||
level3_.IsKeyboxOrOEMCertValid = Level3_IsKeyboxOrOEMCertValid;
|
||||
level3_.GetDeviceID = Level3_GetDeviceID;
|
||||
level3_.GetKeyData = Level3_GetKeyData;
|
||||
level3_.GetRandom = Level3_GetRandom;
|
||||
@@ -898,8 +895,8 @@ class Adapter {
|
||||
level3_.SecurityLevel = Level3_SecurityLevel;
|
||||
level3_.GetHDCPCapability = Level3_GetHDCPCapability;
|
||||
level3_.GetAnalogOutputFlags = Level3_GetAnalogOutputFlags;
|
||||
// TODO(srujzs) level3_.BuildInformation = Level3_BuildInformation;
|
||||
// TODO(srujzs) level3_.ResourceRatingTier = Level3_ResourceRatingTier;
|
||||
level3_.BuildInformation = Level3_BuildInformation;
|
||||
level3_.ResourceRatingTier = Level3_ResourceRatingTier;
|
||||
level3_.SupportsUsageTable = Level3_SupportsUsageTable;
|
||||
level3_.IsAntiRollbackHwPresent = Level3_IsAntiRollbackHwPresent;
|
||||
level3_.GetNumberOfOpenSessions = Level3_GetNumberOfOpenSessions;
|
||||
@@ -928,10 +925,10 @@ class Adapter {
|
||||
level3_.MoveEntry = Level3_MoveEntry;
|
||||
level3_.CopyOldUsageEntry = Level3_CopyOldUsageEntry;
|
||||
level3_.CreateOldUsageEntry = Level3_CreateOldUsageEntry;
|
||||
// TODO(srujzs) level3_.SupportsDecryptHash = Level3_SupportsDecryptHash;
|
||||
// TODO(srujzs) level3_.InitializeDecryptHash = Level3_InitializeDecryptHash;
|
||||
// TODO(srujzs) level3_.SetDecryptHash = Level3_SetDecryptHash;
|
||||
// TODO(srujzs) level3_.GetHashErrorCode = Level3_GetHashErrorCode;
|
||||
level3_.SupportsDecryptHash = Level3_SupportsDecryptHash;
|
||||
level3_.InitializeDecryptHash = Level3_InitializeDecryptHash;
|
||||
level3_.SetDecryptHash = Level3_SetDecryptHash;
|
||||
level3_.GetHashErrorCode = Level3_GetHashErrorCode;
|
||||
// clang-format on
|
||||
|
||||
level3_.version = Level3_APIVersion();
|
||||
|
||||
Reference in New Issue
Block a user