diff --git a/libwvdrmengine/cdm/core/test/usage_table_header_unittest.cpp b/libwvdrmengine/cdm/core/test/usage_table_header_unittest.cpp index 0e58ef94..cd914175 100644 --- a/libwvdrmengine/cdm/core/test/usage_table_header_unittest.cpp +++ b/libwvdrmengine/cdm/core/test/usage_table_header_unittest.cpp @@ -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 kEmptyLicenseList; @@ -113,28 +119,28 @@ const size_t kUsageInfoFileArraySize = sizeof(kUsageInfoFileArray)/ std::vector 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 kEmptyUsageInfoUsageDataList; diff --git a/libwvdrmengine/cdm/metrics/src/value_metric.cpp b/libwvdrmengine/cdm/metrics/src/value_metric.cpp index fca1a052..fe8be02e 100644 --- a/libwvdrmengine/cdm/metrics/src/value_metric.cpp +++ b/libwvdrmengine/cdm/metrics/src/value_metric.cpp @@ -53,6 +53,12 @@ void SetValue(drm_metrics::ValueMetric *value_proto, value_proto->set_int_value((int64_t)value); } +template <> +void SetValue(drm_metrics::ValueMetric *value_proto, + const unsigned long long &value) { + value_proto->set_int_value((int64_t)value); +} + template <> void SetValue(drm_metrics::ValueMetric *value_proto, const bool &value) { diff --git a/libwvdrmengine/cdm/util/src/dllmain.cpp b/libwvdrmengine/cdm/util/src/dllmain.cpp new file mode 100644 index 00000000..f559b10a --- /dev/null +++ b/libwvdrmengine/cdm/util/src/dllmain.cpp @@ -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 + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, + LPVOID lpReserved) { + return TRUE; +} \ No newline at end of file diff --git a/libwvdrmengine/oemcrypto/ref/src/oemcrypto_engine_device_properties_cert.cpp b/libwvdrmengine/oemcrypto/ref/src/oemcrypto_engine_device_properties_cert.cpp index df17c885..7fd4e596 100644 --- a/libwvdrmengine/oemcrypto/ref/src/oemcrypto_engine_device_properties_cert.cpp +++ b/libwvdrmengine/oemcrypto/ref/src/oemcrypto_engine_device_properties_cert.cpp @@ -15,8 +15,8 @@ namespace wvoec_ref { class CertOnlyCryptoEngine : public CryptoEngine { public: - explicit CertOnlyCryptoEngine(std::unique_ptr file_system) - : CryptoEngine(file_system) {} + explicit CertOnlyCryptoEngine(std::unique_ptr&& 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 file_system) { - return new CertOnlyCryptoEngine(file_system); + std::unique_ptr&& file_system) { + return new CertOnlyCryptoEngine(std::move(file_system)); } } // namespace wvoec_ref diff --git a/libwvdrmengine/oemcrypto/test/oec_session_util.h b/libwvdrmengine/oemcrypto/test/oec_session_util.h index 885ce2ad..4f1ab1b7 100644 --- a/libwvdrmengine/oemcrypto/test/oec_session_util.h +++ b/libwvdrmengine/oemcrypto/test/oec_session_util.h @@ -8,6 +8,7 @@ // OEMCrypto unit tests // #include +#include #include #include diff --git a/libwvdrmengine/oemcrypto/test/oemcrypto_test.cpp b/libwvdrmengine/oemcrypto/test/oemcrypto_test.cpp index f1210ffd..930f2ffd 100644 --- a/libwvdrmengine/oemcrypto/test/oemcrypto_test.cpp +++ b/libwvdrmengine/oemcrypto/test/oemcrypto_test.cpp @@ -1688,12 +1688,13 @@ TEST_P(SessionTestRefreshKeyTest, RefreshWithNoSelectKey) { num_keys_, wvoec::kControlNonceEnabled, s.get_nonce())); s.ServerSignBuffer(reinterpret_cast(&s.encrypted_license()), s.message_size(), &s.signature()); - OEMCrypto_KeyRefreshObject key_array[num_keys_]; - s.FillRefreshArray(key_array, num_keys_); + std::vector 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.