Source release 19.1.0
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// Copyright 2019 Google LLC. All rights reserved. This file and proprietary
|
||||
// Copyright 2019 Google LLC. This file and proprietary
|
||||
// source code may only be used and distributed under the Widevine
|
||||
// License Agreement.
|
||||
|
||||
@@ -266,6 +266,14 @@ void ODK_SetDefaultLicenseResponseParams(ODK_LicenseResponseParams* params,
|
||||
}
|
||||
}
|
||||
|
||||
void ODK_SetDefaultReleaseResponseParams(ODK_ReleaseResponseParams* params) {
|
||||
ODK_SetDefaultCoreFields(&(params->core_message), ODK_Release_Response_Type);
|
||||
params->status = kActive;
|
||||
params->clock_security_level = 0;
|
||||
params->seconds_since_license_requested = 0;
|
||||
params->seconds_since_first_decrypt = 0;
|
||||
}
|
||||
|
||||
void ODK_SetDefaultRenewalResponseParams(ODK_RenewalResponseParams* params) {
|
||||
ODK_SetDefaultCoreFields(&(params->core_message), ODK_Renewal_Response_Type);
|
||||
params->system_time = 0xfaceb00c;
|
||||
@@ -350,22 +358,22 @@ size_t ODK_FieldLength(ODK_FieldType type) {
|
||||
return sizeof(uint32_t);
|
||||
case ODK_UINT64:
|
||||
return sizeof(uint64_t);
|
||||
case ODK_BOOL: // Booleans are stored in the message as 32 bit ints.
|
||||
return sizeof(uint32_t);
|
||||
case ODK_INT64:
|
||||
return sizeof(uint64_t);
|
||||
case ODK_SUBSTRING:
|
||||
return sizeof(uint32_t) + sizeof(uint32_t);
|
||||
case ODK_DEVICEID:
|
||||
return ODK_DEVICE_ID_LEN_MAX;
|
||||
case ODK_MESSAGECOUNTER:
|
||||
return ODK_MESSAGECOUNTERINFO_SIZE;
|
||||
case ODK_DEVICEINFO:
|
||||
return ODK_DEVICE_INFO_LEN_MAX;
|
||||
case ODK_MESSAGECOUNTER:
|
||||
return ODK_MESSAGECOUNTERINFO_SIZE;
|
||||
case ODK_RENEWALDATA:
|
||||
return ODK_KEYBOX_RENEWAL_DATA_SIZE;
|
||||
case ODK_HASH:
|
||||
return ODK_SHA256_HASH_SIZE;
|
||||
default:
|
||||
return SIZE_MAX;
|
||||
case ODK_BOOL: // Booleans are stored in the message as 32 bit ints.
|
||||
return sizeof(uint32_t);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -406,6 +414,12 @@ OEMCryptoResult ODK_WriteSingleField(uint8_t* buf, const ODK_Field* field) {
|
||||
memcpy(buf, &u64, sizeof(u64));
|
||||
break;
|
||||
}
|
||||
case ODK_INT64: {
|
||||
const int64_t i64 =
|
||||
oemcrypto_htobe64(*static_cast<int64_t*>(field->value));
|
||||
memcpy(buf, &i64, sizeof(i64));
|
||||
break;
|
||||
}
|
||||
case ODK_BOOL: {
|
||||
const bool value = *static_cast<bool*>(field->value);
|
||||
const uint32_t u32 = oemcrypto_htobe32(value ? 1 : 0);
|
||||
@@ -485,6 +499,12 @@ OEMCryptoResult ODK_ReadSingleField(const uint8_t* buf,
|
||||
*u64p = oemcrypto_be64toh(*u64p);
|
||||
break;
|
||||
}
|
||||
case ODK_INT64: {
|
||||
memcpy(field->value, buf, sizeof(int64_t));
|
||||
int64_t* i64p = static_cast<int64_t*>(field->value);
|
||||
*i64p = oemcrypto_be64toh(*i64p);
|
||||
break;
|
||||
}
|
||||
case ODK_BOOL: {
|
||||
uint32_t value;
|
||||
memcpy(&value, buf, sizeof(uint32_t));
|
||||
@@ -604,6 +624,14 @@ OEMCryptoResult ODK_DumpSingleField(const uint8_t* buf,
|
||||
<< "\n";
|
||||
break;
|
||||
}
|
||||
case ODK_INT64: {
|
||||
int64_t val;
|
||||
memcpy(&val, buf, sizeof(int64_t));
|
||||
val = oemcrypto_be64toh(val);
|
||||
std::cerr << field->name << ": " << val << " = 0x" << std::hex << val
|
||||
<< "\n";
|
||||
break;
|
||||
}
|
||||
case ODK_SUBSTRING: {
|
||||
uint32_t off = 0;
|
||||
uint32_t len = 0;
|
||||
@@ -708,15 +736,15 @@ void ODK_ExpectEqualBuf(const void* s1, const void* s2, size_t n,
|
||||
if (temp_fd >= 0) {
|
||||
close(temp_fd);
|
||||
} else {
|
||||
std::cerr << "Failed to open temp file." << std::endl;
|
||||
std::cerr << "Failed to open temp file." << '\n';
|
||||
break;
|
||||
}
|
||||
std::string tmp(_tmp);
|
||||
std::fstream out(tmp, std::ios::out | std::ios::binary);
|
||||
out.write(static_cast<const char*>(buffers[i]), n);
|
||||
out.close();
|
||||
std::cerr << std::endl
|
||||
<< "Message buffer " << i << " dumped to " << tmp << std::endl;
|
||||
std::cerr << '\n'
|
||||
<< "Message buffer " << i << " dumped to " << tmp << '\n';
|
||||
size_t bytes_written;
|
||||
uint8_t* buf =
|
||||
const_cast<uint8_t*>(reinterpret_cast<const uint8_t*>(buffers[i]));
|
||||
|
||||
Reference in New Issue
Block a user