Merge "Misc Windows fixes."
This commit is contained in:
@@ -38,57 +38,63 @@ const CdmUsageEntry kYetAnotherUsageEntry = "yet another usage entry";
|
||||
const CdmUsageEntry kAndAnotherUsageEntry = "and another usage entry";
|
||||
const CdmUsageEntry kOneMoreUsageEntry = "one more usage entry";
|
||||
const CdmUsageEntryInfo kUsageEntryInfoOfflineLicense1 = {
|
||||
.storage_type = kStorageLicense,
|
||||
.key_set_id = "offline_key_set_1",
|
||||
.usage_info_file_name = ""};
|
||||
/* storage_type = */ kStorageLicense,
|
||||
/* key_set_id = */ "offline_key_set_1",
|
||||
/* usage_info_file_name = */ "",
|
||||
};
|
||||
const CdmUsageEntryInfo kUsageEntryInfoOfflineLicense2 = {
|
||||
.storage_type = kStorageLicense,
|
||||
.key_set_id = "offline_key_set_2",
|
||||
.usage_info_file_name = ""};
|
||||
/* storage_type = */ kStorageLicense,
|
||||
/* key_set_id = */ "offline_key_set_2",
|
||||
/* usage_info_file_name = */ "",
|
||||
};
|
||||
const CdmUsageEntryInfo kUsageEntryInfoOfflineLicense3 = {
|
||||
.storage_type = kStorageLicense,
|
||||
.key_set_id = "offline_key_set_3",
|
||||
.usage_info_file_name = ""};
|
||||
/* storage_type = */ kStorageLicense,
|
||||
/* key_set_id = */ "offline_key_set_3",
|
||||
/* usage_info_file_name = */ ""};
|
||||
const CdmUsageEntryInfo kUsageEntryInfoOfflineLicense4 = {
|
||||
.storage_type = kStorageLicense,
|
||||
.key_set_id = "offline_key_set_4",
|
||||
.usage_info_file_name = ""};
|
||||
/* storage_type = */ kStorageLicense,
|
||||
/* key_set_id = */ "offline_key_set_4",
|
||||
/* usage_info_file_name = */ ""};
|
||||
const CdmUsageEntryInfo kUsageEntryInfoOfflineLicense5 = {
|
||||
.storage_type = kStorageLicense,
|
||||
.key_set_id = "offline_key_set_5",
|
||||
.usage_info_file_name = ""};
|
||||
/* storage_type = */ kStorageLicense,
|
||||
/* key_set_id = */ "offline_key_set_5",
|
||||
/* usage_info_file_name = */ ""};
|
||||
const CdmUsageEntryInfo kUsageEntryInfoOfflineLicense6 = {
|
||||
.storage_type = kStorageLicense,
|
||||
.key_set_id = "offline_key_set_6",
|
||||
.usage_info_file_name = ""};
|
||||
/* storage_type = */ kStorageLicense,
|
||||
/* key_set_id = */ "offline_key_set_6",
|
||||
/* usage_info_file_name = */ ""};
|
||||
const CdmUsageEntryInfo kUsageEntryInfoSecureStop1 = {
|
||||
.storage_type = kStorageUsageInfo,
|
||||
.key_set_id = "secure_stop_key_set_1",
|
||||
.usage_info_file_name = "usage_info_file_1"};
|
||||
/* storage_type = */ kStorageUsageInfo,
|
||||
/* key_set_id = */ "secure_stop_key_set_1",
|
||||
/* usage_info_file_name = */ "usage_info_file_1",
|
||||
};
|
||||
const CdmUsageEntryInfo kUsageEntryInfoSecureStop2 = {
|
||||
.storage_type = kStorageUsageInfo,
|
||||
.key_set_id = "secure_stop_key_set_2",
|
||||
.usage_info_file_name = "usage_info_file_2"};
|
||||
/* storage_type = */ kStorageUsageInfo,
|
||||
/* key_set_id = */ "secure_stop_key_set_2",
|
||||
/* usage_info_file_name = */ "usage_info_file_2",
|
||||
};
|
||||
const CdmUsageEntryInfo kUsageEntryInfoSecureStop3 = {
|
||||
.storage_type = kStorageUsageInfo,
|
||||
.key_set_id = "secure_stop_key_set_3",
|
||||
.usage_info_file_name = "usage_info_file_3"};
|
||||
/* storage_type = */ kStorageUsageInfo,
|
||||
/* key_set_id = */ "secure_stop_key_set_3",
|
||||
/* usage_info_file_name = */ "usage_info_file_3"};
|
||||
const CdmUsageEntryInfo kUsageEntryInfoSecureStop4 = {
|
||||
.storage_type = kStorageUsageInfo,
|
||||
.key_set_id = "secure_stop_key_set_4",
|
||||
.usage_info_file_name = "usage_info_file_4"};
|
||||
/* storage_type = */ kStorageUsageInfo,
|
||||
/* key_set_id = */ "secure_stop_key_set_4",
|
||||
/* usage_info_file_name = */ "usage_info_file_4"};
|
||||
const CdmUsageEntryInfo kUsageEntryInfoSecureStop5 = {
|
||||
.storage_type = kStorageUsageInfo,
|
||||
.key_set_id = "secure_stop_key_set_5",
|
||||
.usage_info_file_name = "usage_info_file_5"};
|
||||
/* storage_type = */ kStorageUsageInfo,
|
||||
/* key_set_id = */ "secure_stop_key_set_5",
|
||||
/* usage_info_file_name = */ "usage_info_file_5"};
|
||||
const CdmUsageEntryInfo kUsageEntryInfoStorageTypeUnknown = {
|
||||
.storage_type = kStorageTypeUnknown,
|
||||
.key_set_id = "",
|
||||
.usage_info_file_name = ""};
|
||||
/* storage_type = */ kStorageTypeUnknown,
|
||||
/* key_set_id = */ "",
|
||||
/* usage_info_file_name = */ "",
|
||||
};
|
||||
const CdmUsageEntryInfo kDummyUsageEntryInfo = {
|
||||
.storage_type = kStorageLicense,
|
||||
.key_set_id = "DummyKsid",
|
||||
.usage_info_file_name = ""};
|
||||
/* storage_type = */ kStorageLicense,
|
||||
/* key_set_id = */ "DummyKsid",
|
||||
/* usage_info_file_name = */ "",
|
||||
};
|
||||
|
||||
const std::vector<std::string> kEmptyLicenseList;
|
||||
|
||||
@@ -113,28 +119,28 @@ const size_t kUsageInfoFileArraySize = sizeof(kUsageInfoFileArray)/
|
||||
std::vector<std::string> kUsageInfoFileList;
|
||||
|
||||
const DeviceFiles::CdmUsageData kCdmUsageData1 = {
|
||||
.provider_session_token = "provider_session_token_1",
|
||||
.license_request = "license_request_1",
|
||||
.license = "license_1",
|
||||
.key_set_id = "key_set_id_1",
|
||||
.usage_entry = "usage_entry_1",
|
||||
.usage_entry_number = 0,
|
||||
/* provider_session_token = */ "provider_session_token_1",
|
||||
/* license_request = */ "license_request_1",
|
||||
/* license = */ "license_1",
|
||||
/* key_set_id = */ "key_set_id_1",
|
||||
/* usage_entry = */ "usage_entry_1",
|
||||
/* usage_entry_number = */ 0,
|
||||
};
|
||||
const DeviceFiles::CdmUsageData kCdmUsageData2 = {
|
||||
.provider_session_token = "provider_session_token_2",
|
||||
.license_request = "license_request_2",
|
||||
.license = "license_2",
|
||||
.key_set_id = "key_set_id_2",
|
||||
.usage_entry = "usage_entry_2",
|
||||
.usage_entry_number = 0,
|
||||
/* provider_session_token = */ "provider_session_token_2",
|
||||
/* license_request = */ "license_request_2",
|
||||
/* license = */ "license_2",
|
||||
/* key_set_id = */ "key_set_id_2",
|
||||
/* usage_entry = */ "usage_entry_2",
|
||||
/* usage_entry_number = */ 0,
|
||||
};
|
||||
const DeviceFiles::CdmUsageData kCdmUsageData3 = {
|
||||
.provider_session_token = "provider_session_token_3",
|
||||
.license_request = "license_request_3",
|
||||
.license = "license_3",
|
||||
.key_set_id = "key_set_id_3",
|
||||
.usage_entry = "usage_entry_3",
|
||||
.usage_entry_number = 0,
|
||||
/* provider_session_token = */ "provider_session_token_3",
|
||||
/* license_request = */ "license_request_3",
|
||||
/* license = */ "license_3",
|
||||
/* key_set_id = */ "key_set_id_3",
|
||||
/* usage_entry = */ "usage_entry_3",
|
||||
/* usage_entry_number = */ 0,
|
||||
};
|
||||
const std::vector<DeviceFiles::CdmUsageData> kEmptyUsageInfoUsageDataList;
|
||||
|
||||
|
||||
@@ -53,6 +53,12 @@ void SetValue<unsigned long>(drm_metrics::ValueMetric *value_proto,
|
||||
value_proto->set_int_value((int64_t)value);
|
||||
}
|
||||
|
||||
template <>
|
||||
void SetValue<unsigned long long>(drm_metrics::ValueMetric *value_proto,
|
||||
const unsigned long long &value) {
|
||||
value_proto->set_int_value((int64_t)value);
|
||||
}
|
||||
|
||||
template <>
|
||||
void SetValue<bool>(drm_metrics::ValueMetric *value_proto,
|
||||
const bool &value) {
|
||||
|
||||
12
libwvdrmengine/cdm/util/src/dllmain.cpp
Normal file
12
libwvdrmengine/cdm/util/src/dllmain.cpp
Normal file
@@ -0,0 +1,12 @@
|
||||
// Copyright 2018 Google LLC. All Rights Reserved. This file and proprietary
|
||||
// source code may only be used and distributed under the Widevine Master
|
||||
// License Agreement.
|
||||
//
|
||||
// dllmain - A dummy DllMain method for Windows DLLs.
|
||||
//
|
||||
#include <windows.h>
|
||||
|
||||
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
|
||||
LPVOID lpReserved) {
|
||||
return TRUE;
|
||||
}
|
||||
@@ -15,8 +15,8 @@ namespace wvoec_ref {
|
||||
|
||||
class CertOnlyCryptoEngine : public CryptoEngine {
|
||||
public:
|
||||
explicit CertOnlyCryptoEngine(std::unique_ptr<wvcdm::FileSystem> file_system)
|
||||
: CryptoEngine(file_system) {}
|
||||
explicit CertOnlyCryptoEngine(std::unique_ptr<wvcdm::FileSystem>&& file_system)
|
||||
: CryptoEngine(std::move(file_system)) {}
|
||||
|
||||
bool config_local_display_only() { return true; }
|
||||
|
||||
@@ -30,8 +30,8 @@ class CertOnlyCryptoEngine : public CryptoEngine {
|
||||
};
|
||||
|
||||
CryptoEngine* CryptoEngine::MakeCryptoEngine(
|
||||
std::unique_ptr<wvcdm::FileSystem> file_system) {
|
||||
return new CertOnlyCryptoEngine(file_system);
|
||||
std::unique_ptr<wvcdm::FileSystem>&& file_system) {
|
||||
return new CertOnlyCryptoEngine(std::move(file_system));
|
||||
}
|
||||
|
||||
} // namespace wvoec_ref
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
// OEMCrypto unit tests
|
||||
//
|
||||
#include <openssl/rsa.h>
|
||||
#include <time.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
@@ -1688,12 +1688,13 @@ TEST_P(SessionTestRefreshKeyTest, RefreshWithNoSelectKey) {
|
||||
num_keys_, wvoec::kControlNonceEnabled, s.get_nonce()));
|
||||
s.ServerSignBuffer(reinterpret_cast<const uint8_t*>(&s.encrypted_license()),
|
||||
s.message_size(), &s.signature());
|
||||
OEMCrypto_KeyRefreshObject key_array[num_keys_];
|
||||
s.FillRefreshArray(key_array, num_keys_);
|
||||
std::vector<OEMCrypto_KeyRefreshObject> key_array(num_keys_);
|
||||
s.FillRefreshArray(key_array.data(), num_keys_);
|
||||
ASSERT_EQ(OEMCrypto_SUCCESS,
|
||||
OEMCrypto_RefreshKeys(s.session_id(), s.message_ptr(),
|
||||
s.message_size(), s.signature().data(),
|
||||
s.signature().size(), num_keys_, key_array));
|
||||
s.signature().size(), num_keys_,
|
||||
key_array.data()));
|
||||
ASSERT_NO_FATAL_FAILURE(s.TestDecryptCTR(false));
|
||||
// This should still be valid key, even if the refresh failed, because this
|
||||
// is before the original license duration.
|
||||
|
||||
Reference in New Issue
Block a user