From 973eb25a17cbe924e58d689a1f100af4faeb0c30 Mon Sep 17 00:00:00 2001 From: Joey Parrish Date: Mon, 14 Dec 2015 10:01:38 -0800 Subject: [PATCH] Source release v3.0.4 --- CHANGELOG.md | 101 ++++++++ README.pdf | Bin 529772 -> 532888 bytes cdm/cdm.gyp | 2 + cdm/include/cdm.h | 25 +- cdm/include/cdm_version.h | 2 +- cdm/src/cdm.cpp | 170 +++++++++---- cdm/test/cdm_test.cpp | 358 ++++++++++++++++++++-------- cdm/test/cdm_test_printers.cpp | 6 +- core/include/cdm_engine.h | 3 + core/include/cdm_session.h | 3 + core/include/device_files.h | 10 +- core/include/license.h | 5 + core/include/wv_cdm_types.h | 9 + core/src/cdm_engine.cpp | 101 +++++++- core/src/cdm_session.cpp | 28 ++- core/src/device_files.cpp | 53 +++- core/src/device_files.proto | 1 + core/src/license.cpp | 9 +- core/test/cdm_engine_test.cpp | 4 +- core/test/device_files_unittest.cpp | 24 +- oemcrypto/test/oemcrypto_test.cpp | 11 +- 21 files changed, 734 insertions(+), 191 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..5c3332f7 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,101 @@ +## 3.0.4 (2015-12-14) + +Features: + - Enforce storage restrictions based on the license type and policy + - Updated to EME spec 2015-11-20 + - Updated kPersistent to kPersistentLicense + - Updated kInvalidAccess with kTypeError and kRangeError + - Updated kOutputNotAllowed to kOutputRestricted + - Added key status kReleased + - Added new session type (kPersistentUsageRecord) used for "secure stop" + - Enabled WebM-related tests for CdmEngine + +Bugfixes: + - Fixed OEMCrypto test bugs regarding nonce-enabled and nonce-or-entry flags + - Fixed build system bug to allow adding the static CDM library as a + dependency of another gyp static library target + - Fixed message type for service cert requests + - Fixed reporting of expiration for sessions which do not expire + - Fixed test bugs in which changing execution order caused test failures + - Fixed bug in OEMCrypto\_DeleteUsageTable in which the empty table was not + written to disk + - Fixed bug in CE CDM tests in which OEMCrypto usage table data was not + cleared between test runs, causing issues with duplicate PSTs + + +## 3.0.3 (2015-11-09) + +Features: + - Added x86-32 build settings + +Bugfixes: + - Fix buffer overflow in mock OEMCrypto on 32-bit systems + - Fixed OEMCrypto\_RefreshKeys return value + - Fixed OEMCrypto\_GenerateRSASignature return value + - Fixed assertions during server certificate provisioning, triggered by a + race condition + - Removed spurious error messages from CdmEngine::AddKey() + - Fixed PSS verification in iOS privacy crypto implementation + + +## 3.0.2 (2015-09-18) + +Features: + - Updated OEMCrypto docs + - Privacy crypto implementation for iOS + - Now builds with strict warnings and warnings as errors + - Added an extra method to IEventListener to allow integration with older + versions of Chromium using prefixed EME + - *NOTE: This is temporary and will be removed in a future release* + +Bugfixes: + - Fixed support for C++11 and clang + - Prevent renewal license when can\_renew is false + - Fixed variable-length key ID tests + - Fixed enforcement of secure buffer types for decrypt + - Fix type-casting issues with various versions of OpenSSL and BoringSSL + - Return kNotSupported when generateRequest called with non-Widevine initdata + + +## 3.0.1 (2015-09-11) + +Features: + - Added new methods to access app parameters available on Android + - Test suite is now IPv6-ready + - Exposed IClient inheritance for Cdm interface + - Added baked-in cert support to the mock OEMCrypto + +Bugfixes: + - Made improvements to tests for OEMCrypto and core + - Return client ID information in secure stop + - Fix multiple deletions of OEMCrypto usage table entries + - Don't delete offline licenses when a new device cert is provisioned + - Hardened BufferReader class + - Removed excess logging in PSSH parser + - Fixed iOS build issues with MD5 in DeviceFiles + - Fixed iOS build issues with protobuf\_config==target + - Fixed bugs in OEMCrypto v9 and v10 adapters + - Fixed inclusion of unit test gypis from external projects + +Broken compatibility: + - Added a cancel() method to ITimer, needed for some timer implementations + + +## 3.0.0 (2015-06-19) + +v3.0 introduced a completely new interface which is not backward compatible +with v2.x. + +Features: + - Simplified, synchronous interface which mimics EME APIs + - Support for key statuses and session expiration times + - Simplified build system with fewer build-time flags + - Simplified initialization with runtime settings for client info, + log levels, and secure output modes + - Secure output modes are explicit, and individual decrypt requests can + be done in the clear (for example, for platforms with L3 audio) + - Device certificates are now required for all platforms and must be + provisioned during initialization if not present + - Simplified storage interface with more explicit methods + - New integration guide which replaces several older documents + diff --git a/README.pdf b/README.pdf index daf5faf3aef2d4d5f2f7323481d9b29c547a5371..680bda11c04a041152ab5b0ac70c85f076463a4b 100644 GIT binary patch delta 159171 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
)d;PxG^GuQ#oIgCVFO}0 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 Jd{Y?2_ir7QTDbrK diff --git a/cdm/cdm.gyp b/cdm/cdm.gyp index 775ac714..1d710d92 100644 --- a/cdm/cdm.gyp +++ b/cdm/cdm.gyp @@ -161,6 +161,8 @@ 'include_dirs': [ 'include', ], + }, + 'link_settings': { 'libraries': [ '-lpthread', ], diff --git a/cdm/include/cdm.h b/cdm/include/cdm.h index 15ddd8d9..64600227 100644 --- a/cdm/include/cdm.h +++ b/cdm/include/cdm.h @@ -1,7 +1,6 @@ // Copyright 2015 Google Inc. All Rights Reserved. -// Based on the EME draft spec from 2015 June 01. -// https://rawgit.com/w3c/encrypted-media/1cbedad/index.html -// TODO: Verify behavior and update to June 12 draft. +// Based on the EME draft spec from 2015 November 20. +// https://rawgit.com/w3c/encrypted-media/1dab9e5/index.html #ifndef WVCDM_CDM_CDM_H_ #define WVCDM_CDM_CDM_H_ @@ -49,7 +48,9 @@ class CDM_EXPORT Cdm : public ITimerClient { // Session types defined by EME. typedef enum { kTemporary = 0, - kPersistent = 1, + kPersistentLicense = 1, + kPersistent = kPersistentLicense, // deprecated name from June 1 draft + kPersistentUsageRecord = 2, } SessionType; // Message types defined by EME. @@ -67,11 +68,15 @@ class CDM_EXPORT Cdm : public ITimerClient { kSessionNotFound = 2, kDecryptError = 3, kNoKey = 4, + // These are analogous to the errors used by EME: - kInvalidAccess = 5, + kTypeError = 5, + kInvalidAccess = kTypeError, // deprecated name from June 1 draft kNotSupported = 6, kInvalidState = 7, kQuotaExceeded = 8, + kRangeError = 9, + // This covers errors that we do not expect (see logs for details): kUnexpectedError = 99999, } Status; @@ -87,9 +92,11 @@ class CDM_EXPORT Cdm : public ITimerClient { typedef enum { kUsable = 0, kExpired = 1, - kOutputNotAllowed = 2, + kOutputRestricted = 2, + kOutputNotAllowed = kOutputRestricted, // deprecated name from June 1 draft kStatusPending = 3, kInternalError = 4, + kReleased = 5, } KeyStatus; // These are defined by Widevine. The CDM can be configured to decrypt in @@ -316,7 +323,7 @@ class CDM_EXPORT Cdm : public ITimerClient { // license server. // If |privacy_mode| was true in create() and setServerCertificate() is not // called, the CDM will attempt to provision a server certificate through - // IEventListener::onMessage() with messageType == kIndividualizationRequest. + // IEventListener::onMessage() with messageType == kLicenseRequest. // May not be called if |privacy_mode| was false. virtual Status setServerCertificate(const std::string& certificate) = 0; @@ -453,13 +460,13 @@ class CDM_EXPORT Cdm : public ITimerClient { const std::string& value) = 0; // Gets the current value in the custom app settings. If the key is - // not present, then kInvalidAccess is returned. The |key| cannot be + // not present, then kTypeError is returned. The |key| cannot be // empty. |result| cannot be null. See setAppParameter(). virtual Status getAppParameter(const std::string& key, std::string* result) = 0; // Removes the value in the custom app settings. If the key is not - // present, then kInvalidAccess is returned. The |key| cannot be empty. + // present, then kTypeError is returned. The |key| cannot be empty. // See setAppParameter(). virtual Status removeAppParameter(const std::string& key) = 0; diff --git a/cdm/include/cdm_version.h b/cdm/include/cdm_version.h index e68bca20..666b8932 100644 --- a/cdm/include/cdm_version.h +++ b/cdm/include/cdm_version.h @@ -1,2 +1,2 @@ // Widevine CE CDM Version -#define CDM_VERSION "v3.0.3-0-g226db8b-ce" +#define CDM_VERSION "v3.0.4-0-g4dee2a8-ce" diff --git a/cdm/src/cdm.cpp b/cdm/src/cdm.cpp index d79bb042..85c349f0 100644 --- a/cdm/src/cdm.cpp +++ b/cdm/src/cdm.cpp @@ -2,6 +2,7 @@ #include "cdm.h" #include +#include // LLONG_MAX #include // memcpy #include @@ -11,6 +12,7 @@ #include "cdm_engine.h" #include "clock.h" #include "crypto_session.h" +#include "device_files.h" #include "file_store.h" #include "license.h" #include "log.h" @@ -171,9 +173,18 @@ class CdmImpl : public Cdm, PropertySet property_set_; CdmAppParameterMap app_parameters_; - std::map new_session_types_; - std::map session_expirations_; - std::map session_key_statuses_; + struct SessionMetadata { + bool callable; // EME terminology: request generated or session loaded + SessionType type; + int64_t expiration; + KeyStatusMap key_statuses; + + SessionMetadata() + : callable(false), + type((SessionType)-1), + expiration(0) {} + }; + std::map sessions_; }; CdmImpl::CdmImpl(IEventListener* listener, @@ -195,12 +206,12 @@ Cdm::Status CdmImpl::setServerCertificate(const std::string& certificate) { if (certificate.empty()) { LOGE("An empty server certificate is invalid."); - return kInvalidAccess; + return kTypeError; } if (CdmLicense::VerifySignedServiceCertificate(certificate) != NO_ERROR) { LOGE("Invalid server certificate!"); - return kInvalidAccess; + return kTypeError; } property_set_.set_service_certificate(certificate); @@ -211,7 +222,7 @@ Cdm::Status CdmImpl::createSession(SessionType session_type, std::string* session_id) { if (!session_id) { LOGE("Missing session ID pointer."); - return kInvalidAccess; + return kTypeError; } // Important! The caller may pass a pre-filled string, which must be cleared // before being given to CdmEngine. @@ -219,7 +230,8 @@ Cdm::Status CdmImpl::createSession(SessionType session_type, switch (session_type) { case kTemporary: - case kPersistent: + case kPersistentLicense: + case kPersistentUsageRecord: break; default: LOGE("Unsupported session type: %d", session_type); @@ -232,7 +244,7 @@ Cdm::Status CdmImpl::createSession(SessionType session_type, NULL, session_id); switch (result) { case NO_ERROR: - new_session_types_[*session_id] = session_type; + sessions_[*session_id].type = session_type; return kSuccess; case NEED_PROVISIONING: LOGE("A device certificate is needed."); @@ -251,22 +263,23 @@ Cdm::Status CdmImpl::generateRequest(const std::string& session_id, return kSessionNotFound; } - std::map::iterator it = - new_session_types_.find(session_id); - if (it == new_session_types_.end()) { + if (sessions_[session_id].callable) { LOGE("Request already generated: %s", session_id.c_str()); return kInvalidState; } - SessionType session_type = it->second; + SessionType session_type = sessions_[session_id].type; CdmLicenseType license_type; switch (session_type) { case kTemporary: - license_type = kLicenseTypeStreaming; + license_type = kLicenseTypeTemporary; break; - case kPersistent: + case kPersistentLicense: license_type = kLicenseTypeOffline; break; + case kPersistentUsageRecord: + license_type = kLicenseTypeStreaming; + break; default: LOGE("Unexpected session type: %d", session_type); return kUnexpectedError; @@ -285,12 +298,12 @@ Cdm::Status CdmImpl::generateRequest(const std::string& session_id, break; default: LOGE("Invalid init data type: %d", init_data_type); - return kInvalidAccess; + return kTypeError; } if (init_data.empty()) { LOGE("Empty init data is not valid."); - return kInvalidAccess; + return kTypeError; } InitializationData init_data_obj(init_data_type_name, init_data); @@ -316,26 +329,27 @@ Cdm::Status CdmImpl::generateRequest(const std::string& session_id, return kUnexpectedError; } - new_session_types_.erase(it); + sessions_[session_id].callable = true; assert(key_request_type == kKeyRequestTypeInitial); - MessageType message_type = kLicenseRequest; if (property_set_.use_privacy_mode() && property_set_.service_certificate().empty()) { // We can deduce that this is a server cert request, even though CdmEgine // cannot currently inform us of this. - message_type = kIndividualizationRequest; + // Previously, we used message type kIndividiualizationRequest for this. + // The EME editor has clarified that this was a misinterpretation of the + // spec, and that this should also be kLicenseRequest. LOGI("A server certificate request has been generated."); } else { LOGI("A license request has been generated."); } - listener_->onMessage(session_id, message_type, key_request); + listener_->onMessage(session_id, kLicenseRequest, key_request); return kSuccess; } Cdm::Status CdmImpl::load(const std::string& session_id) { if (session_id.empty()) { LOGE("Empty session ID."); - return kInvalidAccess; + return kTypeError; } if (cdm_engine_.IsOpenSession(session_id)) { @@ -359,11 +373,37 @@ Cdm::Status CdmImpl::load(const std::string& session_id) { return kUnexpectedError; } + DeviceFiles f; + if (!f.Init(kSecurityLevelUnknown)) { + LOGE("Unexpected error, failed to init DeviceFiles"); + return kUnexpectedError; + } + + if (!f.LicenseExists(session_id)) { + // This might be a usage record session which needs to be loaded. + CdmKeyMessage release_message; + result = cdm_engine_.LoadUsageSession(session_id, &release_message); + if (result == LOAD_USAGE_INFO_MISSING) { + LOGE("Unable to load license: %s", session_id.c_str()); + cdm_engine_.CloseSession(session_id); + return kSessionNotFound; + } else if (result != KEY_MESSAGE) { + LOGE("Unexpected error %d", result); + cdm_engine_.CloseSession(session_id); + return kUnexpectedError; + } + + LOGI("A usage record release has been generated."); + MessageType message_type = kLicenseRelease; + listener_->onMessage(session_id, message_type, release_message); + + sessions_[session_id].type = kPersistentUsageRecord; + sessions_[session_id].callable = true; + return kSuccess; + } + result = cdm_engine_.RestoreKey(session_id, session_id); - if (result == GET_LICENSE_ERROR) { - LOGE("Unable to load license: %s", session_id.c_str()); - return kSessionNotFound; - } else if (result == GET_RELEASED_LICENSE_ERROR) { + if (result == GET_RELEASED_LICENSE_ERROR) { // This was partially removed already. // The EME spec states that we should send a release message right away. InitializationData empty_initialization_data; @@ -388,6 +428,8 @@ Cdm::Status CdmImpl::load(const std::string& session_id) { return kUnexpectedError; } + sessions_[session_id].type = kPersistentLicense; + sessions_[session_id].callable = true; return kSuccess; } @@ -398,14 +440,14 @@ Cdm::Status CdmImpl::update(const std::string& session_id, return kSessionNotFound; } - if (new_session_types_.find(session_id) != new_session_types_.end()) { + if (!sessions_[session_id].callable) { LOGE("Request not yet generated: %s", session_id.c_str()); return kInvalidState; } if (response.empty()) { LOGE("Empty response."); - return kInvalidAccess; + return kTypeError; } // NOTE: If the CdmSession object recognizes that this is not the first @@ -444,6 +486,12 @@ Cdm::Status CdmImpl::update(const std::string& session_id, MessageType message_type = kLicenseRequest; listener_->onMessage(session_id, message_type, key_request); return kSuccess; + } else if (result == OFFLINE_LICENSE_PROHIBITED) { + LOGE("A temporary session cannot be used for a persistent license."); + return kRangeError; + } else if (result == STORAGE_PROHIBITED) { + LOGE("A temporary session cannot be used for a persistent usage records."); + return kRangeError; } else if (result != KEY_ADDED) { LOGE("Unexpected error %d", result); return kUnexpectedError; @@ -457,6 +505,7 @@ Cdm::Status CdmImpl::update(const std::string& session_id, } if (cdm_engine_.IsReleaseSession(session_id)) { + sessions_.erase(session_id); cdm_engine_.CloseSession(session_id); listener_->onRemoveComplete(session_id); } @@ -470,7 +519,7 @@ Cdm::Status CdmImpl::getExpiration(const std::string& session_id, return kSessionNotFound; } - *expiration = session_expirations_[session_id]; + *expiration = sessions_[session_id].expiration; return kSuccess; } @@ -481,14 +530,14 @@ Cdm::Status CdmImpl::getKeyStatuses(const std::string& session_id, return kSessionNotFound; } - *key_statuses = session_key_statuses_[session_id]; + *key_statuses = sessions_[session_id].key_statuses; return kSuccess; } Cdm::Status CdmImpl::setAppParameter(const std::string& key, const std::string& value) { if (key.empty()) { - return kInvalidAccess; + return kTypeError; } app_parameters_[key] = value; return kSuccess; @@ -498,7 +547,7 @@ Cdm::Status CdmImpl::getAppParameter(const std::string& key, std::string* result) { if (NULL == result || key.empty() || app_parameters_.find(key) == app_parameters_.end()) { - return kInvalidAccess; + return kTypeError; } *result = app_parameters_[key]; return kSuccess; @@ -506,11 +555,11 @@ Cdm::Status CdmImpl::getAppParameter(const std::string& key, Cdm::Status CdmImpl::removeAppParameter(const std::string& key) { if (key.empty()) { - return kInvalidAccess; + return kTypeError; } CdmAppParameterMap::iterator it = app_parameters_.find(key); if (it == app_parameters_.end()) { - return kInvalidAccess; + return kTypeError; } app_parameters_.erase(it); return kSuccess; @@ -532,6 +581,7 @@ Cdm::Status CdmImpl::close(const std::string& session_id) { LOGE("Unexpected error %d", result); return kUnexpectedError; } + sessions_.erase(session_id); return kSuccess; } @@ -541,20 +591,28 @@ Cdm::Status CdmImpl::remove(const std::string& session_id) { return kSessionNotFound; } - if (new_session_types_.find(session_id) != new_session_types_.end()) { + if (!sessions_[session_id].callable) { LOGE("Request not yet generated: %s", session_id.c_str()); return kInvalidState; } - if (!cdm_engine_.IsOfflineSession(session_id)) { + if (sessions_[session_id].type == kTemporary) { LOGE("Not a persistent session: %s", session_id.c_str()); - return kInvalidAccess; + return kRangeError; } InitializationData empty_initialization_data; CdmKeyMessage key_request; std::string ignored_server_url; + // Mark all keys as released ahead of generating the release request. + // When released, cdm_engine_ will mark all keys as expired, which we will + // ignore in this interface. + KeyStatusMap& map = sessions_[session_id].key_statuses; + for (KeyStatusMap::iterator it = map.begin(); it != map.end(); ++it) { + it->second = kReleased; + } + CdmResponseType result = cdm_engine_.GenerateKeyRequest( session_id, session_id, empty_initialization_data, kLicenseTypeRelease, app_parameters_, &key_request, NULL, @@ -575,7 +633,7 @@ Cdm::Status CdmImpl::decrypt(const InputBuffer& input, const OutputBuffer& output) { if (input.is_encrypted && input.iv_length != 16) { LOGE("The IV must be 16 bytes long."); - return kInvalidAccess; + return kTypeError; } if (PropertiesCE::GetSecureOutputType() == kNoSecureOutput && output.is_secure) { @@ -651,7 +709,7 @@ void CdmImpl::OnSessionRenewalNeeded(const CdmSessionId& session_id) { void CdmImpl::OnSessionKeysChange(const CdmSessionId& session_id, const CdmKeyStatusMap& keys_status, bool has_new_usable_key) { - KeyStatusMap& map = session_key_statuses_[session_id]; + KeyStatusMap& map = sessions_[session_id].key_statuses; CdmKeyStatusMap::const_iterator it; for (it = keys_status.begin(); it != keys_status.end(); ++it) { @@ -659,11 +717,18 @@ void CdmImpl::OnSessionKeysChange(const CdmSessionId& session_id, case kKeyStatusUsable: map[it->first] = kUsable; break; - case kKeyStatusExpired: - map[it->first] = kExpired; + case kKeyStatusExpired: { + KeyStatusMap::const_iterator it_old = map.find(it->first); + if (it_old != map.end() && it_old->second == kReleased) { + // This key has already been marked as "released". + // Ignore the internal "expired" status. + } else { + map[it->first] = kExpired; + } break; + } case kKeyStatusOutputNotAllowed: - map[it->first] = kOutputNotAllowed; + map[it->first] = kOutputRestricted; break; case kKeyStatusPending: map[it->first] = kStatusPending; @@ -683,7 +748,12 @@ void CdmImpl::OnSessionKeysChange(const CdmSessionId& session_id, void CdmImpl::OnExpirationUpdate(const CdmSessionId& session_id, int64_t new_expiry_time_seconds) { - session_expirations_[session_id] = new_expiry_time_seconds * 1000; + // "Never expires" in core is LLONG_MAX. In the CDM API, it's -1. + if (new_expiry_time_seconds == LLONG_MAX) { + sessions_[session_id].expiration = -1; + } else { + sessions_[session_id].expiration = new_expiry_time_seconds * 1000; + } } @@ -728,24 +798,24 @@ Cdm::Status Cdm::initialize( break; default: LOGE("Invalid output type!"); - return kInvalidAccess; + return kTypeError; } if (client_info.product_name.empty() || client_info.company_name.empty() || client_info.model_name.empty()) { LOGE("Client info requires product_name, company_name, model_name!"); - return kInvalidAccess; + return kTypeError; } if (!storage || !clock || !timer) { LOGE("All interfaces are required!"); - return kInvalidAccess; + return kTypeError; } if (!device_certificate_request) { LOGE("Device certificate request pointer is required!"); - return kInvalidAccess; + return kTypeError; } // Our enum values match those in core/include/log.h @@ -811,7 +881,7 @@ Cdm::Status Cdm::DeviceCertificateRequest::acceptReply( const std::string& reply) { if (!host.provisioning_engine) { LOGE("Provisioning reply received while not in a provisioning state!"); - return kInvalidAccess; + return kTypeError; } std::string empty_origin; @@ -901,7 +971,11 @@ void File::Close() { } bool File::Exists(const std::string& file_path) { - return host.storage->exists(file_path); + // An empty path is the "base directory" for CE CDM's file storage. + // Therefore, it should always be seen as existing. + // If it ever does not exist, CdmEngine detects this as a "factory reset" + // and wipes out all usage table data. + return file_path.empty() || host.storage->exists(file_path); } bool File::Remove(const std::string& file_path) { diff --git a/cdm/test/cdm_test.cpp b/cdm/test/cdm_test.cpp index a667ad6d..b1103ed1 100644 --- a/cdm/test/cdm_test.cpp +++ b/cdm/test/cdm_test.cpp @@ -142,6 +142,11 @@ class CdmTest : public Test, // Clear anything stored, load default device cert. g_host->Reset(); + // Clear anything stored by OEMCrypto. + ASSERT_EQ(OEMCrypto_SUCCESS, OEMCrypto_Initialize()); + ASSERT_EQ(OEMCrypto_SUCCESS, OEMCrypto_DeleteUsageTable()); + ASSERT_EQ(OEMCrypto_SUCCESS, OEMCrypto_Terminate()); + // Reinit the library. Cdm::DeviceCertificateRequest cert_request; Cdm::Status status = Cdm::initialize( @@ -230,61 +235,40 @@ class CdmTest : public Test, if (ok) ASSERT_EQ(expected_status_code, status_code); } - void CreateTemporarySessionAndGenerateRequest(std::string* session_id, - std::string* message) { - Cdm::Status status = cdm_->createSession(Cdm::kTemporary, session_id); + void CreateSessionAndGenerateRequest(Cdm::SessionType session_type, + std::string* session_id, + std::string* message) { + Cdm::Status status = cdm_->createSession(session_type, session_id); ASSERT_EQ(Cdm::kSuccess, status); + std::string init_data; + if (session_type == Cdm::kTemporary) { + init_data = kCencInitData; + } else { + init_data = kCencPersistentInitData; + } + EXPECT_CALL(*this, onMessage(*session_id, Cdm::kLicenseRequest, _)). WillOnce(SaveArg<2>(message)); - status = cdm_->generateRequest(*session_id, Cdm::kCenc, kCencInitData); + status = cdm_->generateRequest(*session_id, Cdm::kCenc, init_data); ASSERT_EQ(Cdm::kSuccess, status); Mock::VerifyAndClear(this); } - void CreatePersistentSessionAndGenerateRequest(std::string* session_id, - std::string* message) { - Cdm::Status status = cdm_->createSession(Cdm::kPersistent, session_id); - ASSERT_EQ(Cdm::kSuccess, status); - - EXPECT_CALL(*this, onMessage(*session_id, Cdm::kLicenseRequest, _)). - WillOnce(SaveArg<2>(message)); - status = cdm_->generateRequest(*session_id, Cdm::kCenc, - kCencPersistentInitData); - ASSERT_EQ(Cdm::kSuccess, status); - Mock::VerifyAndClear(this); - } - - void CreateTemporarySessionAndFetchLicense(std::string* session_id, - std::string* response) { + void CreateSessionAndFetchLicense(Cdm::SessionType session_type, + std::string* session_id, + std::string* response) { std::string message; - ASSERT_NO_FATAL_FAILURE(CreateTemporarySessionAndGenerateRequest( - session_id, &message)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndGenerateRequest( + session_type, session_id, &message)); FetchLicense(message, response); } - void CreatePersistentSessionAndFetchLicense(std::string* session_id, - std::string* response) { - std::string message; - ASSERT_NO_FATAL_FAILURE(CreatePersistentSessionAndGenerateRequest( - session_id, &message)); - FetchLicense(message, response); - } - - void CreateTemporarySessionAndUpdate(std::string* session_id) { + void CreateSessionAndUpdate(Cdm::SessionType session_type, + std::string* session_id) { std::string response; - ASSERT_NO_FATAL_FAILURE(CreateTemporarySessionAndFetchLicense( - session_id, &response)); - EXPECT_CALL(*this, onKeyStatusesChange(*session_id)); - Cdm::Status status = cdm_->update(*session_id, response); - ASSERT_EQ(Cdm::kSuccess, status); - Mock::VerifyAndClear(this); - } - - void CreatePersistentSessionAndUpdate(std::string* session_id) { - std::string response; - ASSERT_NO_FATAL_FAILURE(CreatePersistentSessionAndFetchLicense( - session_id, &response)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndFetchLicense( + session_type, session_id, &response)); EXPECT_CALL(*this, onKeyStatusesChange(*session_id)); Cdm::Status status = cdm_->update(*session_id, response); ASSERT_EQ(Cdm::kSuccess, status); @@ -352,7 +336,7 @@ TEST_F(CdmTest, Initialize) { static_cast(-1), PropertiesCE::GetClientInfo(), g_host, g_host, g_host, &cert_request, static_cast(g_cutoff)); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); // Try with various client info properties missing. Cdm::ClientInfo working_client_info = PropertiesCE::GetClientInfo(); @@ -364,7 +348,7 @@ TEST_F(CdmTest, Initialize) { Cdm::kNoSecureOutput, broken_client_info, g_host, g_host, g_host, &cert_request, static_cast(g_cutoff)); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); broken_client_info = working_client_info; broken_client_info.company_name.clear(); @@ -372,7 +356,7 @@ TEST_F(CdmTest, Initialize) { Cdm::kNoSecureOutput, broken_client_info, g_host, g_host, g_host, &cert_request, static_cast(g_cutoff)); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); broken_client_info = working_client_info; broken_client_info.device_name.clear(); // Not required @@ -388,7 +372,7 @@ TEST_F(CdmTest, Initialize) { Cdm::kNoSecureOutput, broken_client_info, g_host, g_host, g_host, &cert_request, static_cast(g_cutoff)); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); broken_client_info = working_client_info; broken_client_info.arch_name.clear(); // Not required @@ -411,25 +395,25 @@ TEST_F(CdmTest, Initialize) { Cdm::kNoSecureOutput, working_client_info, NULL, g_host, g_host, &cert_request, static_cast(g_cutoff)); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); status = Cdm::initialize( Cdm::kNoSecureOutput, working_client_info, g_host, NULL, g_host, &cert_request, static_cast(g_cutoff)); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); status = Cdm::initialize( Cdm::kNoSecureOutput, working_client_info, g_host, g_host, NULL, &cert_request, static_cast(g_cutoff)); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); status = Cdm::initialize( Cdm::kNoSecureOutput, working_client_info, g_host, g_host, g_host, NULL, static_cast(g_cutoff)); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); // One last init with everything correct and working. status = Cdm::initialize( @@ -502,11 +486,11 @@ TEST_F(CdmTest, SetServerCertificate) { // It is invalid to set an empty cert. status = cdm_->setServerCertificate(""); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); // It is invalid to set a malformed cert. status = cdm_->setServerCertificate("asdf"); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); } TEST_F(CdmTest, CreateSession) { @@ -524,12 +508,12 @@ TEST_F(CdmTest, CreateSession) { EXPECT_NE(original_session_id, session_id); // Create a persistent session. - status = cdm_->createSession(Cdm::kPersistent, &session_id); + status = cdm_->createSession(Cdm::kPersistentLicense, &session_id); EXPECT_EQ(Cdm::kSuccess, status); // Try a NULL pointer for session ID. status = cdm_->createSession(Cdm::kTemporary, NULL); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); // Try a bogus session type. status = cdm_->createSession(kBogusSessionType, &session_id); @@ -574,7 +558,7 @@ TEST_F(CdmTest, GenerateRequest) { ASSERT_EQ(Cdm::kSuccess, status); EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRequest, _)).Times(0); status = cdm_->generateRequest(session_id, kBogusInitDataType, "asdf"); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); Mock::VerifyAndClear(this); // This same session should still be usable with a supported init data type @@ -589,7 +573,7 @@ TEST_F(CdmTest, GenerateRequest) { ASSERT_EQ(Cdm::kSuccess, status); EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRequest, _)).Times(0); status = cdm_->generateRequest(session_id, Cdm::kCenc, ""); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); Mock::VerifyAndClear(this); // Try to pass invalid CENC init data. @@ -619,8 +603,8 @@ TEST_F(CdmTest, GenerateRequest) { TEST_F(CdmTest, Update) { std::string session_id; std::string message; - ASSERT_NO_FATAL_FAILURE(CreateTemporarySessionAndGenerateRequest( - &session_id, &message)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndGenerateRequest( + Cdm::kTemporary, &session_id, &message)); // Acquire a license. std::string response; @@ -638,7 +622,7 @@ TEST_F(CdmTest, Update) { // Try updating with an empty response. status = cdm_->update(session_id, ""); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kTypeError, status); // Create a new session and try updating before generating a request. status = cdm_->createSession(Cdm::kTemporary, &session_id); @@ -675,8 +659,8 @@ TEST_F(CdmTest, Close) { TEST_F(CdmTest, LoadTemporary) { std::string session_id; std::string response; - ASSERT_NO_FATAL_FAILURE(CreateTemporarySessionAndFetchLicense( - &session_id, &response)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndFetchLicense( + Cdm::kTemporary, &session_id, &response)); // Update the temporary session. EXPECT_CALL(*this, onKeyStatusesChange(session_id)); @@ -696,8 +680,8 @@ TEST_F(CdmTest, LoadTemporary) { TEST_F(CdmTest, LoadPersistent) { std::string session_id; std::string response; - ASSERT_NO_FATAL_FAILURE(CreatePersistentSessionAndFetchLicense( - &session_id, &response)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndFetchLicense( + Cdm::kPersistentLicense, &session_id, &response)); // Update the persistent session. EXPECT_CALL(*this, onKeyStatusesChange(session_id)); @@ -731,6 +715,49 @@ TEST_F(CdmTest, LoadPersistent) { Mock::VerifyAndClear(this); } +TEST_F(CdmTest, LoadUsageRecord) { + std::string session_id; + std::string response; + ASSERT_NO_FATAL_FAILURE(CreateSessionAndFetchLicense( + Cdm::kPersistentUsageRecord, &session_id, &response)); + + // Update the session. + EXPECT_CALL(*this, onKeyStatusesChange(session_id)); + Cdm::Status status = cdm_->update(session_id, response); + ASSERT_EQ(Cdm::kSuccess, status); + Mock::VerifyAndClear(this); + + // Should be able to load the session again after closing it. + status = cdm_->close(session_id); + ASSERT_EQ(Cdm::kSuccess, status); + + // There should be no usable keys after loading this session. + EXPECT_CALL(*this, onKeyStatusesChange(session_id)).Times(0); + EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRelease, _)); + status = cdm_->load(session_id); + EXPECT_EQ(Cdm::kSuccess, status); + Mock::VerifyAndClear(this); + + // Should be able to load the session again after recreating the CDM. + ASSERT_NO_FATAL_FAILURE(RecreateCdm(true /* privacy_mode */)); + ASSERT_NO_FATAL_FAILURE(SetDefaultServerCertificate()); + EXPECT_CALL(*this, onKeyStatusesChange(session_id)).Times(0); + EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRelease, _)); + status = cdm_->load(session_id); + EXPECT_EQ(Cdm::kSuccess, status); + Mock::VerifyAndClear(this); + + // Should not be able to load the session again clearing storage. + status = cdm_->close(session_id); + ASSERT_EQ(Cdm::kSuccess, status); + g_host->Reset(); + EXPECT_CALL(*this, onKeyStatusesChange(session_id)).Times(0); + EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRelease, _)).Times(0); + status = cdm_->load(session_id); + EXPECT_EQ(Cdm::kSessionNotFound, status); + Mock::VerifyAndClear(this); +} + TEST_F(CdmTest, LoadBogus) { EXPECT_CALL(*this, onKeyStatusesChange(_)).Times(0); Cdm::Status status = cdm_->load(kBogusSessionId); @@ -739,7 +766,7 @@ TEST_F(CdmTest, LoadBogus) { TEST_F(CdmTest, GetKeyStatuses) { std::string session_id; - ASSERT_NO_FATAL_FAILURE(CreateTemporarySessionAndUpdate(&session_id)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndUpdate(Cdm::kTemporary, &session_id)); // We should be able to query status and see a usable key. Cdm::KeyStatusMap map; @@ -773,7 +800,7 @@ TEST_F(CdmTest, GetKeyStatuses) { TEST_F(CdmTest, GetExpiration) { std::string session_id; - ASSERT_NO_FATAL_FAILURE(CreateTemporarySessionAndUpdate(&session_id)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndUpdate(Cdm::kTemporary, &session_id)); // We should be able to query expiration and get a value in the future. int64_t expiration; @@ -805,7 +832,8 @@ TEST_F(CdmTest, GetExpiration) { TEST_F(CdmTest, Remove) { std::string session_id; - ASSERT_NO_FATAL_FAILURE(CreatePersistentSessionAndUpdate(&session_id)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndUpdate( + Cdm::kPersistentLicense, &session_id)); // Remove the session. This causes a release message to be generated. std::string message; @@ -820,7 +848,7 @@ TEST_F(CdmTest, Remove) { Cdm::KeyStatusMap map; status = cdm_->getKeyStatuses(session_id, &map); ASSERT_EQ(Cdm::kSuccess, status); - EXPECT_EQ(Cdm::kExpired, map.begin()->second); + EXPECT_EQ(Cdm::kReleased, map.begin()->second); // Post the release message to the license server. std::string response; @@ -843,20 +871,56 @@ TEST_F(CdmTest, Remove) { EXPECT_EQ(Cdm::kSessionNotFound, status); // Try a new session. - status = cdm_->createSession(Cdm::kPersistent, &session_id); + status = cdm_->createSession(Cdm::kPersistentLicense, &session_id); ASSERT_EQ(Cdm::kSuccess, status); status = cdm_->remove(session_id); EXPECT_EQ(Cdm::kInvalidState, status); // Try a temporary session. - ASSERT_NO_FATAL_FAILURE(CreateTemporarySessionAndUpdate(&session_id)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndUpdate(Cdm::kTemporary, &session_id)); status = cdm_->remove(session_id); - EXPECT_EQ(Cdm::kInvalidAccess, status); + EXPECT_EQ(Cdm::kRangeError, status); +} + +TEST_F(CdmTest, RemoveUsageRecord) { + std::string session_id; + ASSERT_NO_FATAL_FAILURE(CreateSessionAndUpdate( + Cdm::kPersistentUsageRecord, &session_id)); + + // Remove the session. This causes a release message to be generated. + std::string message; + EXPECT_CALL(*this, onKeyStatusesChange(session_id)); + EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRelease, _)).WillOnce( + SaveArg<2>(&message)); + Cdm::Status status = cdm_->remove(session_id); + ASSERT_EQ(Cdm::kSuccess, status); + Mock::VerifyAndClear(this); + + // The keys should already be unusable. + Cdm::KeyStatusMap map; + status = cdm_->getKeyStatuses(session_id, &map); + ASSERT_EQ(Cdm::kSuccess, status); + EXPECT_EQ(Cdm::kReleased, map.begin()->second); + + // Post the release message to the license server. + std::string response; + ASSERT_NO_FATAL_FAILURE(FetchLicense(message, &response)); + + // Update the session. + EXPECT_CALL(*this, onRemoveComplete(session_id)); + status = cdm_->update(session_id, response); + ASSERT_EQ(Cdm::kSuccess, status); + Mock::VerifyAndClear(this); + + // The session is now completely gone. + status = cdm_->close(session_id); + ASSERT_EQ(Cdm::kSessionNotFound, status); } TEST_F(CdmTest, RemoveIncomplete) { std::string session_id; - ASSERT_NO_FATAL_FAILURE(CreatePersistentSessionAndUpdate(&session_id)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndUpdate( + Cdm::kPersistentLicense, &session_id)); // Remove the session. This causes a release message to be generated. std::string message; @@ -872,7 +936,64 @@ TEST_F(CdmTest, RemoveIncomplete) { status = cdm_->getKeyStatuses(session_id, &map); ASSERT_EQ(Cdm::kSuccess, status); ASSERT_FALSE(map.empty()); - EXPECT_EQ(Cdm::kExpired, map.begin()->second); + EXPECT_EQ(Cdm::kReleased, map.begin()->second); + + // Recreate the CDM. + ASSERT_NO_FATAL_FAILURE(RecreateCdm(true /* privacy_mode */)); + ASSERT_NO_FATAL_FAILURE(SetDefaultServerCertificate()); + + // Load the partially removed session, which will immediately generate a + // release message. + message.clear(); + EXPECT_CALL(*this, onKeyStatusesChange(session_id)).Times(0); + EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRelease, _)).WillOnce( + SaveArg<2>(&message)); + status = cdm_->load(session_id); + ASSERT_EQ(Cdm::kSuccess, status); + ASSERT_FALSE(message.empty()); + Mock::VerifyAndClear(this); + + // This session has no keys. + status = cdm_->getKeyStatuses(session_id, &map); + ASSERT_EQ(Cdm::kSuccess, status); + EXPECT_TRUE(map.empty()); + + // Post the release message to the license server. + std::string response; + ASSERT_NO_FATAL_FAILURE(FetchLicense(message, &response)); + + // Update the session. + EXPECT_CALL(*this, onKeyStatusesChange(session_id)).Times(0); + EXPECT_CALL(*this, onRemoveComplete(session_id)); + status = cdm_->update(session_id, response); + ASSERT_EQ(Cdm::kSuccess, status); + Mock::VerifyAndClear(this); + + // The session is now completely gone. + status = cdm_->load(session_id); + ASSERT_EQ(Cdm::kSessionNotFound, status); +} + +TEST_F(CdmTest, RemoveUsageRecordIncomplete) { + std::string session_id; + ASSERT_NO_FATAL_FAILURE(CreateSessionAndUpdate( + Cdm::kPersistentUsageRecord, &session_id)); + + // Remove the session. This causes a release message to be generated. + std::string message; + EXPECT_CALL(*this, onKeyStatusesChange(session_id)); + EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRelease, _)).WillOnce( + SaveArg<2>(&message)); + Cdm::Status status = cdm_->remove(session_id); + ASSERT_EQ(Cdm::kSuccess, status); + Mock::VerifyAndClear(this); + + // The keys should already be unusable, but they should still exist. + Cdm::KeyStatusMap map; + status = cdm_->getKeyStatuses(session_id, &map); + ASSERT_EQ(Cdm::kSuccess, status); + ASSERT_FALSE(map.empty()); + EXPECT_EQ(Cdm::kReleased, map.begin()->second); // Recreate the CDM. ASSERT_NO_FATAL_FAILURE(RecreateCdm(true /* privacy_mode */)); @@ -913,7 +1034,8 @@ TEST_F(CdmTest, RemoveIncomplete) { TEST_F(CdmTest, RemoveNotLoaded) { // Create a persistent session and then close it. std::string session_id; - ASSERT_NO_FATAL_FAILURE(CreatePersistentSessionAndUpdate(&session_id)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndUpdate( + Cdm::kPersistentLicense, &session_id)); Cdm::Status status = cdm_->close(session_id); ASSERT_EQ(Cdm::kSuccess, status); @@ -945,7 +1067,7 @@ TEST_F(CdmTest, DecryptClear) { // Create a session with the right keys. std::string session_id; - ASSERT_NO_FATAL_FAILURE(CreateTemporarySessionAndUpdate(&session_id)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndUpdate(Cdm::kTemporary, &session_id)); // Decrypt should now succeed. status = cdm_->decrypt(input, output); @@ -958,7 +1080,8 @@ TEST_F(CdmTest, RequestPersistentLicenseWithWrongInitData) { // Generate a request for a persistent license without using the correct // persistent content init data. std::string session_id; - Cdm::Status status = cdm_->createSession(Cdm::kPersistent, &session_id); + Cdm::Status status = cdm_->createSession(Cdm::kPersistentLicense, + &session_id); ASSERT_EQ(Cdm::kSuccess, status); std::string message; @@ -990,24 +1113,16 @@ TEST_F(CdmTest, RequestTemporaryLicenseWithWrongInitData) { std::string response; ASSERT_NO_FATAL_FAILURE(FetchLicense(message, &response)); - // This license should be accepted. + // This license should not be accepted. EXPECT_CALL(*this, onKeyStatusesChange(session_id)); status = cdm_->update(session_id, response); - EXPECT_EQ(Cdm::kSuccess, status); - Mock::VerifyAndClear(this); - - // Should not be able to load the session again after closing it. - status = cdm_->close(session_id); - ASSERT_EQ(Cdm::kSuccess, status); - EXPECT_CALL(*this, onKeyStatusesChange(session_id)).Times(0); - status = cdm_->load(session_id); - EXPECT_EQ(Cdm::kSessionNotFound, status); + EXPECT_EQ(Cdm::kRangeError, status); Mock::VerifyAndClear(this); } TEST_F(CdmTest, Renewal) { std::string session_id; - ASSERT_NO_FATAL_FAILURE(CreateTemporarySessionAndUpdate(&session_id)); + ASSERT_NO_FATAL_FAILURE(CreateSessionAndUpdate(Cdm::kTemporary, &session_id)); // We should have a timer. EXPECT_NE(0, g_host->NumTimers()); @@ -1044,9 +1159,10 @@ TEST_F(CdmTest, ServerCertificateProvisioning) { Cdm::Status status = cdm_->createSession(Cdm::kTemporary, &session_id); ASSERT_EQ(Cdm::kSuccess, status); - // Expect an individualization request. + // Expect a license request type message, but this is actually a server cert + // provisioning request. std::string message; - EXPECT_CALL(*this, onMessage(session_id, Cdm::kIndividualizationRequest, _)). + EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRequest, _)). WillOnce(SaveArg<2>(&message)); status = cdm_->generateRequest(session_id, Cdm::kCenc, kCencInitData); ASSERT_EQ(Cdm::kSuccess, status); @@ -1058,7 +1174,7 @@ TEST_F(CdmTest, ServerCertificateProvisioning) { // No keys will change, since this wasn't a license. EXPECT_CALL(*this, onKeyStatusesChange(session_id)).Times(0); - // We should get an actual license request generated during update. + // We should get another license request generated during update. message.clear(); EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRequest, _)).WillOnce( SaveArg<2>(&message)); @@ -1076,7 +1192,7 @@ TEST_F(CdmTest, ServerCertificateProvisioning) { ASSERT_NO_FATAL_FAILURE(FetchLicense(message, &response)); // Update the session. The keys will change now. - EXPECT_CALL(*this, onKeyStatusesChange(session_id)); + EXPECT_CALL(*this, onKeyStatusesChange(session_id)).Times(1); status = cdm_->update(session_id, response); ASSERT_EQ(Cdm::kSuccess, status); Mock::VerifyAndClear(this); @@ -1087,17 +1203,30 @@ TEST_F(CdmTest, ServerCertificateProvisioning) { ASSERT_FALSE(map.empty()); EXPECT_EQ(Cdm::kUsable, map.begin()->second); + // Create another session. This one should not require server certificate // provisioning. status = cdm_->createSession(Cdm::kTemporary, &session_id); ASSERT_EQ(Cdm::kSuccess, status); - // Expect a license request, not an individualization request. - EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRequest, _)); + // Expect a license request. + message.clear(); + EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRequest, _)).WillOnce( + SaveArg<2>(&message)); status = cdm_->generateRequest(session_id, Cdm::kCenc, kCencInitData); ASSERT_EQ(Cdm::kSuccess, status); Mock::VerifyAndClear(this); + // Relay it to the server. + ASSERT_NO_FATAL_FAILURE(FetchLicense(message, &response)); + + // Keys will change, since this was an actual license. + EXPECT_CALL(*this, onKeyStatusesChange(session_id)).Times(1); + status = cdm_->update(session_id, response); + ASSERT_EQ(Cdm::kSuccess, status); + Mock::VerifyAndClear(this); + + // Create a second CDM instance. scoped_ptr cdm2; CreateAdditionalCdm(true /* privacy_mode */, &cdm2); @@ -1107,20 +1236,45 @@ TEST_F(CdmTest, ServerCertificateProvisioning) { // instances. status = cdm2->createSession(Cdm::kTemporary, &session_id); ASSERT_EQ(Cdm::kSuccess, status); - EXPECT_CALL(*this, onMessage(session_id, Cdm::kIndividualizationRequest, _)); + message.clear(); + EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRequest, _)).WillOnce( + SaveArg<2>(&message)); status = cdm2->generateRequest(session_id, Cdm::kCenc, kCencInitData); ASSERT_EQ(Cdm::kSuccess, status); Mock::VerifyAndClear(this); + // Relay it to the server. + ASSERT_NO_FATAL_FAILURE(FetchLicense(message, &response)); + + // No keys will change, since this wasn't a license. + EXPECT_CALL(*this, onKeyStatusesChange(session_id)).Times(0); + // We should get another license request generated during update. + EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRequest, _)); + status = cdm2->update(session_id, response); + ASSERT_EQ(Cdm::kSuccess, status); + Mock::VerifyAndClear(this); + + // Create another session on the first CDM. This one should not require // server certificate provisioning. This proves that the creation of the // second CDM instance did not affect the state of the first. status = cdm_->createSession(Cdm::kTemporary, &session_id); ASSERT_EQ(Cdm::kSuccess, status); - EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRequest, _)); + message.clear(); + EXPECT_CALL(*this, onMessage(session_id, Cdm::kLicenseRequest, _)).WillOnce( + SaveArg<2>(&message)); status = cdm_->generateRequest(session_id, Cdm::kCenc, kCencInitData); ASSERT_EQ(Cdm::kSuccess, status); Mock::VerifyAndClear(this); + + // Relay it to the server. + ASSERT_NO_FATAL_FAILURE(FetchLicense(message, &response)); + + // Keys will change, since this was an actual license. + EXPECT_CALL(*this, onKeyStatusesChange(session_id)).Times(1); + status = cdm_->update(session_id, response); + ASSERT_EQ(Cdm::kSuccess, status); + Mock::VerifyAndClear(this); } TEST_F(CdmTest, SetAppParameters) { @@ -1140,19 +1294,19 @@ TEST_F(CdmTest, SetAppParameters) { // Try to get using a null result. status = cdm_->getAppParameter(kParamName, NULL); - ASSERT_EQ(Cdm::kInvalidAccess, status); + ASSERT_EQ(Cdm::kTypeError, status); // Try to get using an empty key. status = cdm_->getAppParameter("", &result); - ASSERT_EQ(Cdm::kInvalidAccess, status); + ASSERT_EQ(Cdm::kTypeError, status); // Try to set using an empty key. status = cdm_->setAppParameter("", kValue); - ASSERT_EQ(Cdm::kInvalidAccess, status); + ASSERT_EQ(Cdm::kTypeError, status); // Try to remove using an empty key. status = cdm_->removeAppParameter(""); - ASSERT_EQ(Cdm::kInvalidAccess, status); + ASSERT_EQ(Cdm::kTypeError, status); // Change an existing app parameter. status = cdm_->setAppParameter(kParamName, kNewValue); @@ -1165,11 +1319,11 @@ TEST_F(CdmTest, SetAppParameters) { status = cdm_->removeAppParameter(kParamName); ASSERT_EQ(Cdm::kSuccess, status); status = cdm_->getAppParameter(kParamName, &result); - ASSERT_EQ(Cdm::kInvalidAccess, status); + ASSERT_EQ(Cdm::kTypeError, status); // Try to remove an absent value. status = cdm_->removeAppParameter(kParamName2); - ASSERT_EQ(Cdm::kInvalidAccess, status); + ASSERT_EQ(Cdm::kTypeError, status); // Set some values to check for. status = cdm_->setAppParameter(kParamName, kValue); @@ -1198,9 +1352,9 @@ TEST_F(CdmTest, SetAppParameters) { status = cdm_->clearAppParameters(); ASSERT_EQ(Cdm::kSuccess, status); status = cdm_->getAppParameter(kParamName, &result); - ASSERT_EQ(Cdm::kInvalidAccess, status); + ASSERT_EQ(Cdm::kTypeError, status); status = cdm_->getAppParameter(kParamName2, &result); - ASSERT_EQ(Cdm::kInvalidAccess, status); + ASSERT_EQ(Cdm::kTypeError, status); } } // namespace widevine diff --git a/cdm/test/cdm_test_printers.cpp b/cdm/test/cdm_test_printers.cpp index 4795ad49..23565990 100644 --- a/cdm/test/cdm_test_printers.cpp +++ b/cdm/test/cdm_test_printers.cpp @@ -32,7 +32,7 @@ void PrintTo(const Cdm::Status& value, ::std::ostream* os) { break; case Cdm::kNoKey: *os << "Cdm::kNoKey"; break; - case Cdm::kInvalidAccess: *os << "Cdm::kInvalidAccess"; + case Cdm::kTypeError: *os << "Cdm::kTypeError"; break; case Cdm::kNotSupported: *os << "Cdm::kNotSupported"; break; @@ -40,6 +40,8 @@ void PrintTo(const Cdm::Status& value, ::std::ostream* os) { break; case Cdm::kQuotaExceeded: *os << "Cdm::kQuotaExceeded"; break; + case Cdm::kRangeError: *os << "Cdm::kRangeError"; + break; case Cdm::kUnexpectedError: *os << "Cdm::kUnexpectedError"; break; default: *os << "Unknown Cdm::Status value " << value; @@ -53,7 +55,7 @@ void PrintTo(const Cdm::KeyStatus& value, ::std::ostream* os) { break; case Cdm::kExpired: *os << "Cdm::kExpired"; break; - case Cdm::kOutputNotAllowed: *os << "Cdm::kOutputNotAllowed"; + case Cdm::kOutputRestricted: *os << "Cdm::kOutputRestricted"; break; case Cdm::kStatusPending: *os << "Cdm::kStatusPending"; break; diff --git a/core/include/cdm_engine.h b/core/include/cdm_engine.h index db8cf5bb..3b77b098 100644 --- a/core/include/cdm_engine.h +++ b/core/include/cdm_engine.h @@ -146,6 +146,8 @@ class CdmEngine { virtual CdmResponseType ReleaseAllUsageInfo(const std::string& app_id); virtual CdmResponseType ReleaseUsageInfo( const CdmUsageInfoReleaseMessage& message); + virtual CdmResponseType LoadUsageSession(const CdmKeySetId& key_set_id, + CdmKeyMessage* release_message); // Decryption and key related methods // Accept encrypted buffer and return decrypted data. @@ -173,6 +175,7 @@ class CdmEngine { private: // private methods + void DeleteAllUsageReportsUponFactoryReset(); bool ValidateKeySystem(const CdmKeySystem& key_system); CdmResponseType GetUsageInfo(const std::string& app_id, SecurityLevel requested_security_level, diff --git a/core/include/cdm_session.h b/core/include/cdm_session.h index 24d61319..d473d16b 100644 --- a/core/include/cdm_session.h +++ b/core/include/cdm_session.h @@ -104,6 +104,8 @@ class CdmSession { virtual bool is_release() { return is_release_; } virtual bool is_offline() { return is_offline_; } + virtual bool is_temporary() { return is_temporary_; } + virtual bool license_received() { return license_received_; } // ReleaseCrypto() - Closes the underlying crypto session but leaves this // object alive. It is invalid to call any method that requires a crypto @@ -141,6 +143,7 @@ class CdmSession { bool license_received_; bool is_offline_; bool is_release_; + bool is_temporary_; CdmSecurityLevel security_level_; SecurityLevel requested_security_level_; CdmAppParameterMap app_parameters_; diff --git a/core/include/device_files.h b/core/include/device_files.h index f7cc0636..a3e5f09d 100644 --- a/core/include/device_files.h +++ b/core/include/device_files.h @@ -67,11 +67,13 @@ class DeviceFiles { virtual bool DeleteAllLicenses(); virtual bool LicenseExists(const std::string& key_set_id); virtual bool ReserveLicenseId(const std::string& key_set_id); + virtual bool UnreserveLicenseId(const std::string& key_set_id); virtual bool StoreUsageInfo(const std::string& provider_session_token, const CdmKeyMessage& key_request, const CdmKeyResponse& key_response, - const std::string& app_id); + const std::string& app_id, + const std::string& key_set_id); virtual bool DeleteUsageInfo(const std::string& app_id, const std::string& provider_session_token); // Delete usage information from the file system. Puts a list of all the @@ -90,6 +92,12 @@ class DeviceFiles { const std::string& provider_session_token, CdmKeyMessage* license_request, CdmKeyResponse* license_response); + // Retrieve the usage info entry specified by |key_set_id|. + // Returns false if the entry could not be found. + virtual bool RetrieveUsageInfoByKeySetId(const std::string& app_id, + const std::string& key_set_id, + CdmKeyMessage* license_request, + CdmKeyResponse* license_response); private: // Helpers that wrap the File interface and automatically handle hashing, as diff --git a/core/include/license.h b/core/include/license.h index 7e7912e6..a6a9a82a 100644 --- a/core/include/license.h +++ b/core/include/license.h @@ -56,6 +56,10 @@ class CdmLicense { return provider_session_token_; } + virtual bool is_offline() { + return is_offline_; + } + static CdmResponseType VerifySignedServiceCertificate( const std::string& signed_service_certificate); @@ -89,6 +93,7 @@ class CdmLicense { std::set loaded_keys_; std::string provider_session_token_; bool renew_with_client_id_; + bool is_offline_; // Used for certificate based licensing CdmKeyMessage key_request_; diff --git a/core/include/wv_cdm_types.h b/core/include/wv_cdm_types.h index 4de2d9c1..06180447 100644 --- a/core/include/wv_cdm_types.h +++ b/core/include/wv_cdm_types.h @@ -207,6 +207,12 @@ enum CdmResponseType { DUPLICATE_SESSION_ID_SPECIFIED, LICENSE_RENEWAL_PROHIBITED, EMPTY_PROVISIONING_CERTIFICATE_2, + OFFLINE_LICENSE_PROHIBITED, + STORAGE_PROHIBITED, + EMPTY_KEYSET_ID_ENG_5, + SESSION_NOT_FOUND_11, + LOAD_USAGE_INFO_FILE_ERROR, + LOAD_USAGE_INFO_MISSING, }; enum CdmKeyStatus { @@ -229,6 +235,9 @@ enum CdmLicenseType { // If the original request was saved to make a service certificate request, // use Deferred for the license type in the subsequent request. kLicenseTypeDeferred, + // Like Streaming, but stricter. Does not permit storage of any kind. + // Named after the 'temporary' session type in EME, which has this behavior. + kLicenseTypeTemporary, }; enum SecurityLevel { diff --git a/core/src/cdm_engine.cpp b/core/src/cdm_engine.cpp index 620c7faf..18bcdeb4 100644 --- a/core/src/cdm_engine.cpp +++ b/core/src/cdm_engine.cpp @@ -2,6 +2,7 @@ #include "cdm_engine.h" +#include #include #include @@ -10,6 +11,7 @@ #include "cdm_session.h" #include "clock.h" #include "device_files.h" +#include "file_store.h" #include "license_protocol.pb.h" #include "log.h" #include "properties.h" @@ -227,7 +229,8 @@ CdmResponseType CdmEngine::GenerateKeyRequest( key_request->clear(); - if (license_type == kLicenseTypeRelease) { + if (license_type == kLicenseTypeRelease && + !iter->second->license_received()) { sts = iter->second->RestoreOfflineSession(key_set_id, kLicenseTypeRelease); if (sts != KEY_ADDED) { LOGE("CdmEngine::GenerateKeyRequest: key release restoration failed," @@ -338,7 +341,7 @@ CdmResponseType CdmEngine::RestoreKey(const CdmSessionId& session_id, if (sts != KEY_ADDED && sts != GET_RELEASED_LICENSE_ERROR) { LOGE("CdmEngine::RestoreKey: restore offline session failed = %d", sts); } - return sts; // TODO ewew + return sts; } CdmResponseType CdmEngine::RemoveKeys(const CdmSessionId& session_id) { @@ -602,6 +605,9 @@ CdmResponseType CdmEngine::GetProvisioningRequest( LOGE("CdmEngine::GetProvisioningRequest: invalid output parameters"); return INVALID_PROVISIONING_REQUEST_PARAM_2; } + + DeleteAllUsageReportsUponFactoryReset(); + if (NULL == cert_provisioning_.get()) { cert_provisioning_.reset(new CertificateProvisioning()); } @@ -663,6 +669,7 @@ CdmResponseType CdmEngine::HandleProvisioningResponse( } return NO_ERROR; } + CdmResponseType ret = cert_provisioning_->HandleProvisioningResponse( origin, response, cert, wrapped_key); // Release resources only on success. It is possible that a provisioning @@ -928,6 +935,66 @@ CdmResponseType CdmEngine::ReleaseUsageInfo( return status; } +CdmResponseType CdmEngine::LoadUsageSession(const CdmKeySetId& key_set_id, + CdmKeyMessage* release_message) { + LOGI("CdmEngine::LoadUsageSession"); + // This method is currently only used by the CE CDM, in which all session IDs + // are key set IDs. + assert(Properties::AlwaysUseKeySetIds()); + + if (key_set_id.empty()) { + LOGE("CdmEngine::LoadUsageSession: invalid key set id"); + return EMPTY_KEYSET_ID_ENG_5; + } + + CdmSessionMap::iterator iter = sessions_.find(key_set_id); + if (iter == sessions_.end()) { + LOGE("CdmEngine::LoadUsageSession: session_id not found = %s ", + key_set_id.c_str()); + return SESSION_NOT_FOUND_11; + } + + DeviceFiles handle; + if (!handle.Init(iter->second->GetSecurityLevel())) { + LOGE("CdmEngine::LoadUsageSession: unable to initialize device files"); + return LOAD_USAGE_INFO_FILE_ERROR; + } + + std::string app_id; + iter->second->GetApplicationId(&app_id); + + CdmKeyMessage key_message; + CdmKeyResponse key_response; + if (!handle.RetrieveUsageInfoByKeySetId(app_id, key_set_id, &key_message, + &key_response)) { + LOGE("CdmEngine::LoadUsageSession: unable to find usage information"); + return LOAD_USAGE_INFO_MISSING; + } + + CdmResponseType status = + iter->second->RestoreUsageSession(key_message, key_response); + if (KEY_ADDED != status) { + LOGE("CdmEngine::LoadUsageSession: usage session error %ld", status); + return status; + } + + std::string server_url; + status = iter->second->GenerateReleaseRequest(release_message, &server_url); + + switch (status) { + case KEY_MESSAGE: + break; + case KEY_CANCELED: // usage information not present in + iter->second->DeleteLicense(); // OEMCrypto, delete and try again + break; + default: + LOGE("CdmEngine::LoadUsageSession: generate release request error: %d", + status); + break; + } + return status; +} + CdmResponseType CdmEngine::Decrypt(const CdmSessionId& session_id, const CdmDecryptionParameters& parameters) { if (parameters.key_id == NULL) { @@ -1097,4 +1164,34 @@ std::string CdmEngine::MapHdcpVersion( return ""; } +void CdmEngine::DeleteAllUsageReportsUponFactoryReset() { + std::string device_base_path_level1 = ""; + std::string device_base_path_level3 = ""; + Properties::GetDeviceFilesBasePath(kSecurityLevelL1, + &device_base_path_level1); + Properties::GetDeviceFilesBasePath(kSecurityLevelL3, + &device_base_path_level3); + + File file; + if (!file.Exists(device_base_path_level1) && + !file.Exists(device_base_path_level3)) { + scoped_ptr crypto_session(new CryptoSession()); + CdmResponseType status = crypto_session->Open( + cert_provisioning_requested_security_level_); + if (NO_ERROR == status) { + status = crypto_session->DeleteAllUsageReports(); + if (NO_ERROR != status) { + LOGW( + "CdmEngine::GetProvisioningRequest: " + "Fails to delete usage reports: %d", status); + } + } else { + LOGW( + "CdmEngine::GetProvisioningRequest: " + "Fails to open crypto session: error=%d.\n" + "Usage reports are not removed after factory reset.", status); + } + } +} + } // namespace wvcdm diff --git a/core/src/cdm_session.cpp b/core/src/cdm_session.cpp index 050cfdba..46c0767b 100644 --- a/core/src/cdm_session.cpp +++ b/core/src/cdm_session.cpp @@ -37,6 +37,7 @@ CdmSession::CdmSession(CdmClientPropertySet* cdm_client_property_set, license_received_(false), is_offline_(false), is_release_(false), + is_temporary_(false), security_level_(kSecurityLevelUninitialized), requested_security_level_(kLevelDefault), is_initial_decryption_(true), @@ -66,7 +67,13 @@ CdmSession::CdmSession(CdmClientPropertySet* cdm_client_property_set, } } -CdmSession::~CdmSession() { Properties::RemoveSessionPropertySet(session_id_); } +CdmSession::~CdmSession() { + if (!key_set_id_.empty()) { + // Unreserve the license ID. + file_handle_->UnreserveLicenseId(key_set_id_); + } + Properties::RemoveSessionPropertySet(session_id_); +} CdmResponseType CdmSession::Init() { if (session_id_.empty()) { @@ -184,6 +191,9 @@ CdmResponseType CdmSession::GenerateKeyRequest( } switch (license_type) { + case kLicenseTypeTemporary: + is_temporary_ = true; + break; case kLicenseTypeStreaming: is_offline_ = false; break; @@ -207,6 +217,8 @@ CdmResponseType CdmSession::GenerateKeyRequest( license_type = kLicenseTypeRelease; } else if (is_offline_) { license_type = kLicenseTypeOffline; + } else if (is_temporary_) { + license_type = kLicenseTypeTemporary; } else { license_type = kLicenseTypeStreaming; } @@ -484,12 +496,22 @@ bool CdmSession::GenerateKeySetId(CdmKeySetId* key_set_id) { } CdmResponseType CdmSession::StoreLicense() { + if (is_temporary_) { + LOGE("CdmSession::StoreLicense: Session type prohibits storage."); + return STORAGE_PROHIBITED; + } + if (is_offline_) { if (key_set_id_.empty()) { LOGE("CdmSession::StoreLicense: No key set ID"); return EMPTY_KEYSET_ID; } + if (!license_parser_->is_offline()) { + LOGE("CdmSession::StoreLicense: License policy prohibits storage."); + return OFFLINE_LICENSE_PROHIBITED; + } + if (!StoreLicense(DeviceFiles::kLicenseStateActive)) { LOGE("CdmSession::StoreLicense: Unable to store license"); CdmResponseType sts = Init(); @@ -502,7 +524,7 @@ CdmResponseType CdmSession::StoreLicense() { return STORE_LICENSE_ERROR_1; } return NO_ERROR; - } + } // if (is_offline_) std::string provider_session_token = license_parser_->provider_session_token(); @@ -519,7 +541,7 @@ CdmResponseType CdmSession::StoreLicense() { std::string app_id; GetApplicationId(&app_id); if (!file_handle_->StoreUsageInfo(provider_session_token, key_request_, - key_response_, app_id)) { + key_response_, app_id, key_set_id_)) { LOGE("CdmSession::StoreLicense: Unable to store usage info"); return STORE_USAGE_INFO_ERROR; } diff --git a/core/src/device_files.cpp b/core/src/device_files.cpp index 4eda0f46..a17b948e 100644 --- a/core/src/device_files.cpp +++ b/core/src/device_files.cpp @@ -343,10 +343,20 @@ bool DeviceFiles::ReserveLicenseId(const std::string& key_set_id) { return true; } +bool DeviceFiles::UnreserveLicenseId(const std::string& key_set_id) { + if (!initialized_) { + LOGW("DeviceFiles::UnreserveLicenseId: not initialized"); + return false; + } + reserved_license_ids_.erase(key_set_id); + return true; +} + bool DeviceFiles::StoreUsageInfo(const std::string& provider_session_token, const CdmKeyMessage& key_request, const CdmKeyResponse& key_response, - const std::string& app_id) { + const std::string& app_id, + const std::string& key_set_id) { if (!initialized_) { LOGW("DeviceFiles::StoreUsageInfo: not initialized"); return false; @@ -372,6 +382,7 @@ bool DeviceFiles::StoreUsageInfo(const std::string& provider_session_token, provider_session_token.size()); provider_session->set_license_request(key_request.data(), key_request.size()); provider_session->set_license(key_response.data(), key_response.size()); + provider_session->set_key_set_id(key_set_id.data(), key_set_id.size()); file.SerializeToString(&serialized_file); return StoreFileWithHash(file_name, serialized_file); @@ -513,22 +524,48 @@ bool DeviceFiles::RetrieveUsageInfo(const std::string& app_id, LOGW("DeviceFiles::RetrieveUsageInfo: Unable to parse file"); return false; } + int index = 0; - bool found = false; for (; index < file.usage_info().sessions_size(); ++index) { if (file.usage_info().sessions(index).token() == provider_session_token) { - found = true; - break; + *license_request = file.usage_info().sessions(index).license_request(); + *license_response = file.usage_info().sessions(index).license(); + return true; } } - if (!found) { + return false; +} + +bool DeviceFiles::RetrieveUsageInfoByKeySetId( + const std::string& app_id, + const std::string& key_set_id, + CdmKeyMessage* license_request, + CdmKeyResponse* license_response) { + if (!initialized_) { + LOGW("DeviceFiles::RetrieveUsageInfoByKeySetId: not initialized"); + return false; + } + std::string serialized_file; + std::string file_name = GetUsageInfoFileName(app_id); + if (!RetrieveHashedFile(file_name, &serialized_file)) return false; + + video_widevine_client::sdk::File file; + if (!file.ParseFromString(serialized_file)) { + LOGW("DeviceFiles::RetrieveUsageInfoByKeySetId: Unable to parse file"); return false; } - *license_request = file.usage_info().sessions(index).license_request(); - *license_response = file.usage_info().sessions(index).license(); - return true; + int index = 0; + for (; index < file.usage_info().sessions_size(); ++index) { + if (file.usage_info().sessions(index).key_set_id() == key_set_id) { + *license_request = file.usage_info().sessions(index).license_request(); + *license_response = file.usage_info().sessions(index).license(); + return true; + } + } + + return false; } bool DeviceFiles::StoreFileWithHash(const std::string& name, diff --git a/core/src/device_files.proto b/core/src/device_files.proto index 468b4252..e9b793fd 100644 --- a/core/src/device_files.proto +++ b/core/src/device_files.proto @@ -46,6 +46,7 @@ message UsageInfo { optional bytes token = 1; optional bytes license_request = 2; optional bytes license = 3; + optional bytes key_set_id = 4; } repeated ProviderSession sessions = 1; diff --git a/core/src/license.cpp b/core/src/license.cpp index a2a5d297..72af4db7 100644 --- a/core/src/license.cpp +++ b/core/src/license.cpp @@ -132,6 +132,7 @@ CdmLicense::CdmLicense(const CdmSessionId& session_id) session_id_(session_id), initialized_(false), renew_with_client_id_(false), + is_offline_(false), clock_(new Clock()) {} CdmLicense::CdmLicense(const CdmSessionId& session_id, Clock* clock) @@ -139,7 +140,8 @@ CdmLicense::CdmLicense(const CdmSessionId& session_id, Clock* clock) policy_engine_(NULL), session_id_(session_id), initialized_(false), - renew_with_client_id_(false) { + renew_with_client_id_(false), + is_offline_(false) { clock_.reset(clock); } @@ -522,6 +524,10 @@ CdmResponseType CdmLicense::HandleKeyResponse( return NO_CONTENT_KEY; } + if (license.id().type() == video_widevine_server::sdk::OFFLINE && + license.policy().can_persist()) + is_offline_ = true; + if (license.id().has_provider_session_token()) provider_session_token_ = license.id().provider_session_token(); @@ -1102,6 +1108,7 @@ bool CdmLicense::PrepareContentId(const CdmLicenseType license_type, content_id->set_license_type(video_widevine_server::sdk::OFFLINE); break; case kLicenseTypeStreaming: + case kLicenseTypeTemporary: content_id->set_license_type(video_widevine_server::sdk::STREAMING); break; default: diff --git a/core/test/cdm_engine_test.cpp b/core/test/cdm_engine_test.cpp index 0418728a..84e6e71b 100644 --- a/core/test/cdm_engine_test.cpp +++ b/core/test/cdm_engine_test.cpp @@ -200,7 +200,7 @@ TEST_F(WvCdmEngineTest, BaseIsoBmffMessageTest) { } // TODO(juce): Set up with correct test data. -TEST_F(WvCdmEngineTest, DISABLED_BaseWebmMessageTest) { +TEST_F(WvCdmEngineTest, BaseWebmMessageTest) { GenerateKeyRequest(g_key_id_unwrapped, kWebmMimeType); GetKeyRequestResponse(g_license_server, g_client_auth); } @@ -220,7 +220,7 @@ TEST_F(WvCdmEngineTest, NormalDecryptionIsoBmff) { } // TODO(juce): Set up with correct test data. -TEST_F(WvCdmEngineTest, DISABLED_NormalDecryptionWebm) { +TEST_F(WvCdmEngineTest, NormalDecryptionWebm) { GenerateKeyRequest(g_key_id_unwrapped, kWebmMimeType); VerifyNewKeyResponse(g_license_server, g_client_auth); } diff --git a/core/test/device_files_unittest.cpp b/core/test/device_files_unittest.cpp index 4c757932..340ed059 100644 --- a/core/test/device_files_unittest.cpp +++ b/core/test/device_files_unittest.cpp @@ -21,6 +21,7 @@ const uint32_t kProtobufEstimatedOverhead = 75; const uint32_t kLicenseRequestLen = 300; const uint32_t kLicenseLen = 500; const uint32_t kProviderSessionTokenLen = 128; +const uint32_t kKeySetIdLen = 20; // Structurally valid test certificate. // The data elements in this module are used to test the storage and @@ -1536,6 +1537,16 @@ MATCHER_P4(Contains, str1, str2, str3, size, "") { data.find(str2) != std::string::npos && data.find(str3) != std::string::npos); } +MATCHER_P5(Contains, str1, str2, str3, str4, size, "") { + // Estimating the length of data. We can have gmock provide length + // as well as pointer to data but that will introduce a dependency on tr1 + std::string data(arg, size + str1.size() + str2.size() + str3.size() + + str4.size() + kProtobufEstimatedOverhead); + return (data.find(str1) != std::string::npos && + data.find(str2) != std::string::npos && + data.find(str3) != std::string::npos && + data.find(str4) != std::string::npos); +} MATCHER_P6(Contains, str1, str2, str3, str4, str5, str6, "") { // Estimating the length of data. We can have gmock provide length // as well as pointer to data but that will introduce a dependency on tr1 @@ -1549,7 +1560,6 @@ MATCHER_P6(Contains, str1, str2, str3, str4, str5, str6, "") { data.find(str5) != std::string::npos && data.find(str6) != std::string::npos); } - MATCHER_P7(Contains, str1, str2, str3, str4, str5, str6, map7, "") { // Estimating the length of data. We can have gmock provide length // as well as pointer to data but that will introduce a dependency on tr1 @@ -2140,6 +2150,8 @@ TEST_F(DeviceFilesTest, ReserveLicenseIdsDoesNotUseFileSystem) { EXPECT_TRUE(device_files.ReserveLicenseId(license_test_data[i].key_set_id)); // Validate that the license IDs are actually reserved. EXPECT_TRUE(device_files.LicenseExists(license_test_data[i].key_set_id)); + // Unreserve these IDs to avoid polluting other tests. + EXPECT_TRUE(device_files.UnreserveLicenseId(license_test_data[i].key_set_id)); } } @@ -2205,6 +2217,7 @@ TEST_P(DeviceFilesUsageInfoTest, Store) { std::string pst(GenerateRandomData(kProviderSessionTokenLen)); std::string license_request(GenerateRandomData(kLicenseRequestLen)); std::string license(GenerateRandomData(kLicenseLen)); + std::string key_set_id(GenerateRandomData(kKeySetIdLen)); std::string path = device_base_path_ + DeviceFiles::GetUsageInfoFileName(app_id); @@ -2234,8 +2247,10 @@ TEST_P(DeviceFilesUsageInfoTest, Store) { } EXPECT_CALL(file, - Write(Contains(pst, license_request, license, data.size()), - Gt(pst.size() + license_request.size() + license.size()))) + Write(Contains(pst, license_request, license, key_set_id, + data.size()), + Gt(pst.size() + license_request.size() + license.size() + + key_set_id.size()))) .WillOnce(ReturnArg<1>()); DeviceFiles device_files; @@ -2243,7 +2258,8 @@ TEST_P(DeviceFilesUsageInfoTest, Store) { device_files.SetTestFile(&file); ASSERT_TRUE( - device_files.StoreUsageInfo(pst, license_request, license, app_id)); + device_files.StoreUsageInfo(pst, license_request, license, app_id, + key_set_id)); } TEST_P(DeviceFilesUsageInfoTest, Delete) { diff --git a/oemcrypto/test/oemcrypto_test.cpp b/oemcrypto/test/oemcrypto_test.cpp index e70e7398..6f53fdc8 100644 --- a/oemcrypto/test/oemcrypto_test.cpp +++ b/oemcrypto/test/oemcrypto_test.cpp @@ -5285,9 +5285,7 @@ TEST_P(UsageTableTestWithMAC, OfflineBadNonce) { Session s; s.open(); s.GenerateTestSessionKeys(); - s.FillSimpleMessage( - 0, wvoec_mock::kControlNonceEnabled | wvoec_mock::kControlNonceOrEntry, - 42, pst); + s.FillSimpleMessage(0, wvoec_mock::kControlNonceOrEntry, 42, pst); s.EncryptAndSign(); uint8_t* pst_ptr = s.encrypted_license().pst; OEMCryptoResult sts = OEMCrypto_LoadKeys( @@ -5305,9 +5303,7 @@ TEST_P(UsageTableTestWithMAC, OfflineEmptyPST) { Session s; s.open(); s.GenerateTestSessionKeys(); - s.FillSimpleMessage( - 0, wvoec_mock::kControlNonceEnabled | wvoec_mock::kControlNonceOrEntry, - s.get_nonce()); + s.FillSimpleMessage(0, wvoec_mock::kControlNonceOrEntry, s.get_nonce()); s.EncryptAndSign(); OEMCryptoResult sts = OEMCrypto_LoadKeys( s.session_id(), s.message_ptr(), sizeof(MessageData), &s.signature()[0], @@ -5367,8 +5363,7 @@ TEST_P(UsageTableTestWithMAC, BadRange) { Session s; s.open(); s.GenerateTestSessionKeys(); - s.FillSimpleMessage(0, wvoec_mock::kControlNonceOrEntry, - s.get_nonce(), pst); + s.FillSimpleMessage(0, wvoec_mock::kControlNonceOrEntry,s.get_nonce(), pst); s.EncryptAndSign(); uint8_t* pst_ptr = s.license().pst; // Bad: not in encrypted_license. ASSERT_NE(