Source release 19.4.0

This commit is contained in:
Vicky Min
2024-11-27 00:07:23 +00:00
parent 11c108a8da
commit 22759672a8
72 changed files with 5321 additions and 2622 deletions

View File

@@ -1,6 +1,6 @@
# Widevine CE CDM 19.3.0
# Widevine CE CDM 19.4.0
Released 2024-09-04
Released 2024-11-27
## Getting Started
@@ -10,37 +10,48 @@ following to learn more about the contents of this project and how to use them:
The [Widevine Developer Site][wv-devsite] documents the CDM API and describes
how to integrate the CDM into a system.
## New in v19.3.0
## New in v19.4.0
This is a minor release with bug fixes and test improvements, as well as
internal code-quality cleanups that do not affect the CDM's behavior. However,
because of improvements to the BCC Factory Upload Tool, we recommend that all
partners who use this tool upgrade to version 19.3.0.
This is a minor release with bug fixes and test improvements.
### Features
- Added workaround for OEMCrypto implementations with slightly corrupted build
information
- The BCC Factory Upload Tool supports new command-line options for dry runs,
batch checks, version-checking, and verbose output.
- Add support for new OEMCrypto_GetBCCSignatureType() API. This API is optional
and only used on devices that support Provisioning 4 with a Phase 3 DICE
chain.
- Add credential types to client identification protobuf
- Return BCC signature type into client identification protobuf
- BCC extraction tool updates and refactoring
- Rewrite BCC, DeviceInfo and CSR Payload validators to cover info parsing,
validating and updating unit tests
- Update error codes returned by cbor/provisioning 4.0 validators to be less
severe when possible
- Add a few required fields for test-generated BCC
- Include licensing files with this release and future CE CDM releases
### Tests
- Added new tests to better validate the behavior of
`OEMCrypto_BuildInformation()`
- Verifies output length is set correctly
- Verifies content is ASCII JSON without trailing null bytes
- Verifies documented JSON fields: required fields are present, and optional
and required fields are the correct JSON types
- Update license release tests to accomodate differences in behavior for CE
CDM and Android
- Update some CAST tests to enforce format of the message signed by
OEMCrypto_GenerateRSASignature()
- Add tool to extract BCC and build info for BCC uploading test
- Skip usage table tests on devices that don't support usage tables
- Fix key type used in InstallOemPrivateKeyCanBeUsed test
- Re-enable OEMCrypto security tests
- Allow multiple callbacks in TestSleep class to prevent multiple classes
trying to register a callback
- Improve error logging for tests
- Add log statement on failure when device with a TEST_ONLY system ID cannot
play production content
### Bug Fixes
- Fixed decrypt failures on devices with low TEE memory caused by sending an
output buffer to decrypt that was much larger than necessary
- Several BCC Factory Upload Tool fixes:
- Added the missing `FileSystem::Exists()` function
- Fixed a bug causing the output to be unnecessarily padded
- Fixed an issue where fields containing JSON were not properly escaped
- Fix HLS parsing of bad content IDs
- Revert change to limit output buffer size during decrypt fallback due to
failures seen in 19.3 because the output buffer was not big enough
- Update blank OEMCrypto devsite test pages
- Small fixes to reduce compiler warnings
[CHANGELOG.md](./CHANGELOG.md) lists the major changes for each past release.