Snap for 6309958 from 86a5f9810c to sc-release
Change-Id: Ifadbd3fc4e071453572b2131cc38b259791015e5
This commit is contained in:
@@ -1787,27 +1787,35 @@ Return<void> WVDrmPlugin::sendEvent(
|
|||||||
EventType eventType,
|
EventType eventType,
|
||||||
const hidl_vec<uint8_t>& sessionId,
|
const hidl_vec<uint8_t>& sessionId,
|
||||||
const hidl_vec<uint8_t>& data) {
|
const hidl_vec<uint8_t>& data) {
|
||||||
|
Return<void> err{};
|
||||||
if (mListenerV1_2 != NULL) {
|
if (mListenerV1_2 != NULL) {
|
||||||
mListenerV1_2->sendEvent(eventType, sessionId, data);
|
err = mListenerV1_2->sendEvent(eventType, sessionId, data);
|
||||||
} else if (mListener != NULL) {
|
} else if (mListener != NULL) {
|
||||||
mListener->sendEvent(eventType, sessionId, data);
|
err = mListener->sendEvent(eventType, sessionId, data);
|
||||||
} else {
|
} else {
|
||||||
ALOGE("Null event listener, event not sent");
|
ALOGE("Null event listener, event not sent");
|
||||||
}
|
}
|
||||||
return Void();
|
if (!err.isOk()) {
|
||||||
|
ALOGW("sendEvent failed %s", err.description().c_str());
|
||||||
|
}
|
||||||
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
Return<void> WVDrmPlugin::sendExpirationUpdate(
|
Return<void> WVDrmPlugin::sendExpirationUpdate(
|
||||||
const hidl_vec<uint8_t>& sessionId,
|
const hidl_vec<uint8_t>& sessionId,
|
||||||
int64_t expiryTimeInMS) {
|
int64_t expiryTimeInMS) {
|
||||||
|
Return<void> err{};
|
||||||
if (mListenerV1_2 != NULL) {
|
if (mListenerV1_2 != NULL) {
|
||||||
mListenerV1_2->sendExpirationUpdate(sessionId, expiryTimeInMS);
|
err = mListenerV1_2->sendExpirationUpdate(sessionId, expiryTimeInMS);
|
||||||
} else if (mListener != NULL) {
|
} else if (mListener != NULL) {
|
||||||
mListener->sendExpirationUpdate(sessionId, expiryTimeInMS);
|
err = mListener->sendExpirationUpdate(sessionId, expiryTimeInMS);
|
||||||
} else {
|
} else {
|
||||||
ALOGE("Null event listener, event not sent");
|
ALOGE("Null event listener, event not sent");
|
||||||
}
|
}
|
||||||
return Void();
|
if (!err.isOk()) {
|
||||||
|
ALOGW("sendExpirationUpdate failed %s", err.description().c_str());
|
||||||
|
}
|
||||||
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
@@ -1815,7 +1823,10 @@ void WVDrmPlugin::_sendKeysChange(
|
|||||||
const hidl_vec<uint8_t>& sessionId,
|
const hidl_vec<uint8_t>& sessionId,
|
||||||
const hidl_vec<KeyStatus>& keyStatusList,
|
const hidl_vec<KeyStatus>& keyStatusList,
|
||||||
bool hasNewUsableKey) {
|
bool hasNewUsableKey) {
|
||||||
mListener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
|
auto err = mListener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
|
||||||
|
if (!err.isOk()) {
|
||||||
|
ALOGW("sendKeysChange failed %s", err.description().c_str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
@@ -1823,41 +1834,56 @@ void WVDrmPlugin::_sendKeysChange(
|
|||||||
const hidl_vec<uint8_t>& sessionId,
|
const hidl_vec<uint8_t>& sessionId,
|
||||||
const hidl_vec<KeyStatus_V1_2>& keyStatusList,
|
const hidl_vec<KeyStatus_V1_2>& keyStatusList,
|
||||||
bool hasNewUsableKey) {
|
bool hasNewUsableKey) {
|
||||||
mListenerV1_2->sendKeysChange_1_2(sessionId, keyStatusList, hasNewUsableKey);
|
auto err = mListenerV1_2->sendKeysChange_1_2(sessionId, keyStatusList, hasNewUsableKey);
|
||||||
|
if (!err.isOk()) {
|
||||||
|
ALOGW("sendKeysChange_1_2 failed %s", err.description().c_str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Return<void> WVDrmPlugin::sendKeysChange(
|
Return<void> WVDrmPlugin::sendKeysChange(
|
||||||
const hidl_vec<uint8_t>& sessionId,
|
const hidl_vec<uint8_t>& sessionId,
|
||||||
const hidl_vec<KeyStatus>& keyStatusList, bool hasNewUsableKey) {
|
const hidl_vec<KeyStatus>& keyStatusList, bool hasNewUsableKey) {
|
||||||
|
Return<void> err{};
|
||||||
if (mListenerV1_2 != NULL) {
|
if (mListenerV1_2 != NULL) {
|
||||||
mListenerV1_2->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
|
err = mListenerV1_2->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
|
||||||
} else if (mListener != NULL) {
|
} else if (mListener != NULL) {
|
||||||
mListener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
|
err = mListener->sendKeysChange(sessionId, keyStatusList, hasNewUsableKey);
|
||||||
} else {
|
} else {
|
||||||
ALOGE("Null event listener, event not sent");
|
ALOGE("Null event listener, event not sent");
|
||||||
}
|
}
|
||||||
return Void();
|
if (!err.isOk()) {
|
||||||
|
ALOGW("sendKeysChange failed %s", err.description().c_str());
|
||||||
|
}
|
||||||
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
Return<void> WVDrmPlugin::sendKeysChange_1_2(
|
Return<void> WVDrmPlugin::sendKeysChange_1_2(
|
||||||
const hidl_vec<uint8_t>& sessionId,
|
const hidl_vec<uint8_t>& sessionId,
|
||||||
const hidl_vec<KeyStatus_V1_2>& keyStatusList, bool hasNewUsableKey) {
|
const hidl_vec<KeyStatus_V1_2>& keyStatusList, bool hasNewUsableKey) {
|
||||||
|
Return<void> err{};
|
||||||
if (mListenerV1_2 != NULL) {
|
if (mListenerV1_2 != NULL) {
|
||||||
mListenerV1_2->sendKeysChange_1_2(sessionId, keyStatusList, hasNewUsableKey);
|
err = mListenerV1_2->sendKeysChange_1_2(sessionId, keyStatusList, hasNewUsableKey);
|
||||||
} else {
|
} else {
|
||||||
ALOGE("Null event listener, event not sent");
|
ALOGE("Null event listener, event not sent");
|
||||||
}
|
}
|
||||||
return Void();
|
if (!err.isOk()) {
|
||||||
|
ALOGW("sendKeysChange_1_2 failed %s", err.description().c_str());
|
||||||
|
}
|
||||||
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
Return<void> WVDrmPlugin::sendSessionLostState(
|
Return<void> WVDrmPlugin::sendSessionLostState(
|
||||||
const hidl_vec<uint8_t>& sessionId) {
|
const hidl_vec<uint8_t>& sessionId) {
|
||||||
|
Return<void> err{};
|
||||||
if (mListenerV1_2 != NULL) {
|
if (mListenerV1_2 != NULL) {
|
||||||
mListenerV1_2->sendSessionLostState(sessionId);
|
err = mListenerV1_2->sendSessionLostState(sessionId);
|
||||||
} else {
|
} else {
|
||||||
ALOGE("Null event listener, event not sent");
|
ALOGE("Null event listener, event not sent");
|
||||||
}
|
}
|
||||||
return Void();
|
if (!err.isOk()) {
|
||||||
|
ALOGW("sendSessionLostState failed %s", err.description().c_str());
|
||||||
|
}
|
||||||
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WVDrmPlugin::OnSessionRenewalNeeded(const CdmSessionId& cdmSessionId) {
|
void WVDrmPlugin::OnSessionRenewalNeeded(const CdmSessionId& cdmSessionId) {
|
||||||
|
|||||||
@@ -70,12 +70,12 @@ void ValidateRequest(uint32_t message_type,
|
|||||||
|
|
||||||
// non-empty buf, expect core message length to be set correctly, and buf is
|
// non-empty buf, expect core message length to be set correctly, and buf is
|
||||||
// filled with ODK_Field values appropriately
|
// filled with ODK_Field values appropriately
|
||||||
uint8_t* buf = new uint8_t[message_size];
|
uint8_t* buf = new uint8_t[message_size]{};
|
||||||
EXPECT_EQ(OEMCrypto_SUCCESS,
|
EXPECT_EQ(OEMCrypto_SUCCESS,
|
||||||
odk_prepare_func(buf, &core_message_length, &nonce_values));
|
odk_prepare_func(buf, &core_message_length, &nonce_values));
|
||||||
EXPECT_EQ(core_message_length, message_size);
|
EXPECT_EQ(core_message_length, message_size);
|
||||||
|
|
||||||
uint8_t* buf_expected = new uint8_t[message_size];
|
uint8_t* buf_expected = new uint8_t[message_size]{};
|
||||||
size_t buf_len_expected = 0;
|
size_t buf_len_expected = 0;
|
||||||
EXPECT_EQ(OEMCrypto_SUCCESS, ODK_IterFields(ODK_WRITE, buf_expected, SIZE_MAX,
|
EXPECT_EQ(OEMCrypto_SUCCESS, ODK_IterFields(ODK_WRITE, buf_expected, SIZE_MAX,
|
||||||
&buf_len_expected, total_fields));
|
&buf_len_expected, total_fields));
|
||||||
@@ -94,7 +94,7 @@ void ValidateRequest(uint32_t message_type,
|
|||||||
nonce_values.api_major_version = t.api_major_version;
|
nonce_values.api_major_version = t.api_major_version;
|
||||||
nonce_values.nonce = t.nonce;
|
nonce_values.nonce = t.nonce;
|
||||||
nonce_values.session_id = t.session_id;
|
nonce_values.session_id = t.session_id;
|
||||||
uint8_t* buf2 = new uint8_t[message_size];
|
uint8_t* buf2 = new uint8_t[message_size]{};
|
||||||
EXPECT_EQ(OEMCrypto_SUCCESS,
|
EXPECT_EQ(OEMCrypto_SUCCESS,
|
||||||
odk_prepare_func(buf2, &core_message_length, &nonce_values));
|
odk_prepare_func(buf2, &core_message_length, &nonce_values));
|
||||||
EXPECT_EQ(core_message_length, message_size);
|
EXPECT_EQ(core_message_length, message_size);
|
||||||
@@ -126,7 +126,7 @@ void ValidateResponse(ODK_CoreMessage* core_message,
|
|||||||
uint32_t buf_size = 0;
|
uint32_t buf_size = 0;
|
||||||
ODK_BuildMessageBuffer(core_message, extra_fields, &buf, &buf_size);
|
ODK_BuildMessageBuffer(core_message, extra_fields, &buf, &buf_size);
|
||||||
|
|
||||||
uint8_t* zero = new uint8_t[buf_size];
|
uint8_t* zero = new uint8_t[buf_size]{};
|
||||||
size_t bytes_read = 0;
|
size_t bytes_read = 0;
|
||||||
// zero-out input
|
// zero-out input
|
||||||
EXPECT_EQ(OEMCrypto_SUCCESS, ODK_IterFields(ODK_READ, zero, buf_size,
|
EXPECT_EQ(OEMCrypto_SUCCESS, ODK_IterFields(ODK_READ, zero, buf_size,
|
||||||
@@ -185,13 +185,13 @@ TEST(OdkTest, SerializeFieldsStress) {
|
|||||||
total_size += ODK_FieldLength(fields[i].type);
|
total_size += ODK_FieldLength(fields[i].type);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t* buf = new uint8_t[total_size];
|
uint8_t* buf = new uint8_t[total_size]{};
|
||||||
for (int i = 0; i < total_size; i++) {
|
for (int i = 0; i < total_size; i++) {
|
||||||
buf[i] = std::rand() & 0xff;
|
buf[i] = std::rand() & 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t bytes_read = 0, bytes_written = 0;
|
size_t bytes_read = 0, bytes_written = 0;
|
||||||
uint8_t* buf2 = new uint8_t[total_size];
|
uint8_t* buf2 = new uint8_t[total_size]{};
|
||||||
ODK_IterFields(ODK_READ, buf, total_size, &bytes_read, fields);
|
ODK_IterFields(ODK_READ, buf, total_size, &bytes_read, fields);
|
||||||
EXPECT_EQ(bytes_read, total_size);
|
EXPECT_EQ(bytes_read, total_size);
|
||||||
ODK_IterFields(ODK_WRITE, buf2, total_size, &bytes_written, fields);
|
ODK_IterFields(ODK_WRITE, buf2, total_size, &bytes_written, fields);
|
||||||
|
|||||||
@@ -477,7 +477,7 @@ void ODK_BuildMessageBuffer(ODK_CoreMessage* core_message,
|
|||||||
// update message_size
|
// update message_size
|
||||||
*(reinterpret_cast<uint32_t*>(total_fields[1].value)) = *buf_size;
|
*(reinterpret_cast<uint32_t*>(total_fields[1].value)) = *buf_size;
|
||||||
|
|
||||||
*buf = new uint8_t[*buf_size];
|
*buf = new uint8_t[*buf_size]{};
|
||||||
size_t bytes_written = 0;
|
size_t bytes_written = 0;
|
||||||
// serialize ODK fields to message buffer
|
// serialize ODK fields to message buffer
|
||||||
EXPECT_EQ(OEMCrypto_SUCCESS, ODK_IterFields(ODK_WRITE, *buf, SIZE_MAX,
|
EXPECT_EQ(OEMCrypto_SUCCESS, ODK_IterFields(ODK_WRITE, *buf, SIZE_MAX,
|
||||||
|
|||||||
Reference in New Issue
Block a user