Fix session id in dynamic adapter and re-generate L3
Merge of https://widevine-internal-review.googlesource.com/c/cdm/+/173330 Skipping files that are not in android from the CL above. Original commit message: Pass the real oemcrypto session id from `pair.session` instead of `session`, since `session` can be changed when L1 and L3 are running in parallel and `session` in that case may not be the correct oemcrypto session id any more. Also adding a few missing v18 L3 functions pointers to the dynamic adapter. Need to re-generate L3 since the L3 sources changed. Test: L3 unit tests Test: GTS dash policy tests and Dexter tests Bug: 271290471 Bug: 279967915 Change-Id: Idc44d57ca38eb1de24c0038917800e37c25b9afc
This commit is contained in:
@@ -1191,14 +1191,14 @@ class Adapter {
|
||||
level3_.ReuseUsageEntry = Level3_ReuseUsageEntry;
|
||||
level3_.GetDTCP2Capability = Level3_GetDTCP2Capability;
|
||||
level3_.GetWatermarkingSupport = Level3_GetWatermarkingSupport;
|
||||
level3_.GetDeviceInformation = nullptr;
|
||||
level3_.GetDeviceSignedCsrPayload = nullptr;
|
||||
level3_.GetKeyHandle = nullptr;
|
||||
level3_.DecryptCENC = nullptr;
|
||||
level3_.Generic_Encrypt = nullptr;
|
||||
level3_.Generic_Decrypt = nullptr;
|
||||
level3_.Generic_Sign = nullptr;
|
||||
level3_.Generic_Verify = nullptr;
|
||||
level3_.GetDeviceInformation = Level3_GetDeviceInformation;
|
||||
level3_.GetDeviceSignedCsrPayload = Level3_GetDeviceSignedCsrPayload;
|
||||
level3_.GetKeyHandle = Level3_GetKeyHandle;
|
||||
level3_.DecryptCENC = Level3_DecryptCENC;
|
||||
level3_.Generic_Encrypt = Level3_Generic_Encrypt;
|
||||
level3_.Generic_Decrypt = Level3_Generic_Decrypt;
|
||||
level3_.Generic_Sign = Level3_Generic_Sign;
|
||||
level3_.Generic_Verify = Level3_Generic_Verify;
|
||||
level3_.GetSignatureHashAlgorithm = nullptr;
|
||||
level3_.EnterTestMode = nullptr;
|
||||
// clang-format on
|
||||
@@ -2260,12 +2260,13 @@ extern "C" OEMCryptoResult OEMCrypto_GetKeyHandle(
|
||||
}
|
||||
*key_handle_length = handle_size;
|
||||
if (key_handle == nullptr) return OEMCrypto_ERROR_SHORT_BUFFER;
|
||||
memcpy(key_handle, &session, handle_size);
|
||||
memcpy(key_handle, &pair.session, handle_size);
|
||||
return pair.fcn->SelectKey(pair.session, content_key_id,
|
||||
content_key_id_length, cipher_mode);
|
||||
}
|
||||
return pair.fcn->GetKeyHandle(session, content_key_id, content_key_id_length,
|
||||
cipher_mode, key_handle, key_handle_length);
|
||||
return pair.fcn->GetKeyHandle(pair.session, content_key_id,
|
||||
content_key_id_length, cipher_mode, key_handle,
|
||||
key_handle_length);
|
||||
}
|
||||
|
||||
extern "C" OEMCryptoResult OEMCrypto_DecryptCENC(
|
||||
|
||||
Reference in New Issue
Block a user