Source release 14.2.0

This commit is contained in:
John W. Bruce
2018-10-12 19:55:47 -07:00
parent c32e8d0490
commit f51edaba5a
632 changed files with 196557 additions and 66444 deletions

View File

@@ -2,6 +2,69 @@
[TOC]
## 14.2.0 (2018-10-12)
Features:
- `build.py` now supports a `-j` flag that allows the caller to control the
level of parallelism. This flag can be specified with a number argument to
limit the build to that many processes in parallel (`build.py x86-64 -j 56`)
or can be specified bare to build with unlimited parallelism.
(`build.py x86-64 -j`) On build systems without suport for unlimited
parallelism, using the bare flag will instead set the limit to 1000
processes.
- The Reference OEMCrypto no longer uses `danger_do_not_use.bin`, and this
file will no longer be written to the filesystem when running tests. The
Reference OEMCrypto has no keybox. The tests install a test keybox into
OEMCrypto temporarily when they run.
Dependency Updates:
- We have cherry-picked an unreleased Protobuf 3.5.1 fix that makes it
compatible with GCC 7. Those having trouble using Protobuf 3.5.1 on GCC 7
should switch to the Protobuf included with Widevine CE CDM or should
cherry-pick commit
[`39c3654e901b4fc35386989cbad49fad8a68c024`][proto-gcc-fix].
- The bundled version of BoringSSL has been updated to commit
[`28babde159253bfa9003a445242605806fff5f1f`][boringssl-28babde1].
[proto-gcc-fix]: https://github.com/google/protobuf/commit/39c3654e901b4fc35386989cbad49fad8a68c024
[boringssl-28babde1]: https://boringssl.googlesource.com/boringssl/+/28babde159253bfa9003a445242605806fff5f1f
Bugfixes:
- A bug was introduced in CE CDM 14.0.0 that could prevent the clear lead of
a video from playing if the key was not usable, even though the samples were
not encrypted. Clear samples are now allowed through even when the key is
not usable.
- Additional locks have been added to protect sessions from concurrent access,
particularly races between destruction and other calls.
- Generating a release request and then closing and reloading the persistent
session before returning the release response was not working correctly.
This flow has been fixed.
- Various minor problems, mostly warnings being treated as errors, that
prevented the Widevine CE CDM from building cleanly on GCC 7 have been
fixed.
- LicenseKeysTest.ConstraintChanges was not testing all the variants it was
meant to test. It has been fixed to test the full range of constraint
scenarios again.
- Explicit references to TR1 have been removed from the test code, in order
to be compatible with the widest possible range of platforms and gTest
versions.
- Some typos in comments and names have been corrected.
- Additional comments have been added clarifying how ITimer will be used by
the CDM and what implementations are and are not responsible for.
- The header comments regarding how to install a service certificate were
outdated and have been updated to reflect the correct behavior of the CDM.
- The CDM will now more gracefully recover from cases where OEMCrypto has run
out of resources for storing the usage table information. This can result in
the loss of usage info if there is large amount of unreleased usage info in
the system, beyond the minimum amount OEMCrypto must support, but it will
allow the CDM to continue working even in this state.
- The framework running the unit tests has been significantly re-architected
and should now be more robust, particularly when running only a subset of
the tests.
- Additional unit tests have been added.
- The CDM will reject erroneous content that has embedded keys that are too
short earlier in the process.
## 14.1.2 (2018-08-21)
Bugfixes:
@@ -80,7 +143,7 @@ Dependency Updates:
recommend v3.5.1.
- As part of this update, the compilation flags for Protocol Buffers were
changed. Depending on the flags partners use by default, they may need to
make changes to their flags to accomodate the new version of Protocol
make changes to their flags to accommodate the new version of Protocol
Buffers.
- The bundled version of BoringSSL has been updated to commit
[`0080d83b9faf8dd325f5f5f92eb56faa93864e4c`][boringssl-0080d83b].
@@ -164,7 +227,7 @@ Features:
version of BoringSSL included with the CE CDM, which can be used to guide
decisions about compatible versions of BoringSSL.
- The Widevine CE CDM no longer supports OpenSSL. Those wishing to use the
CE CDM as a static libary with OpenSSL will have to make small
CE CDM as a static library with OpenSSL will have to make small
modifications to the code where it uses BoringSSL-only APIs in order to
compile with OpenSSL.
- New build configuration setting: `asm_target_arch`