Commit Graph

5131 Commits

Author SHA1 Message Date
Fred Gylys-Colwell
a87eec804c Fix unused param warnings in oemcrypto fuzz test
Merge from Widevine repo of http://go/wvgerrit/122403

Re-merge of http://go/wvgerrit/105184 which was accidentally
undone by http://go/wvgerrit/107063.

Unused params are reported as warning when built in Android.

Test: Ran oemcrypto unit tests
Bug: 160734070
Change-Id: Id8384c58c8ace0b214464380fb961d108f1b5c3b
2021-04-23 10:11:48 -07:00
Fred Gylys-Colwell
5a58b6d8d2 Add http socket tests to other tests
Merge from Widevine repo of http://go/wvgerrit/122224

This CL removes the separate main() in http_socket_test that
allowed the user to set the server on the command line.  I
don't think anybody was using this, and it conflicted with
our desire to include this suite of tests with the other CE
CDM tests running on Luci.

test: ran http_socket_test
bug: 118657876
Change-Id: I9228b9cc97a0af2afd1bb4a99bc40b88ce956d67
2021-04-23 10:11:48 -07:00
Fred Gylys-Colwell
14a034209c Turn on ODK tests in CE CDM test and fix test helper
Merge from Widevine repo of http://go/wvgerrit/122223

This adds the ODK unit tests to the CE CDM tests so that they run as
part of the presubmit tests.

The test helper had some pointer problems converting a bool to a
uint32, so it has been updated to handle this correctly.

Some other tests failed comparing signed to unsigned, to these have
also been fixed.

test: ran odk_test
bug: 118657876
Change-Id: I744a1e89f4e4729c31d3f53e729984ffac1d96fd
2021-04-23 10:11:48 -07:00
Rahul Frias
87e84d5498 Use Usage information from OEMCrypto on clock rollback
[ Merge of http://go/wvgerrit/123103 ]

This corrects setting of first and last playback times stored by the
CDM on rollback. Earlier usage information from the usage entry in
OEMCrypto would be ignored on rollback even when available.
Information stored along with the license in persistent storage would
be used instead.

A new test with longer duration expiry has been added as well as some
additional verification.

Bug: 186199213
Test: WV unit/integration test
Change-Id: I601f9584a8a0c5137ce68546f8ec833bf2e70cc5
2021-04-23 03:58:31 -07:00
Rahul Frias
2a316f65fe Correct request_license_test failures
[ Merge of http://go/wvgerrit/122885 ]

A recent change to the license service resulted in PSTs being inserted
into persistent renewable licenses even when not specified by the
content provider. This caused ReleaseOfflineKeySessionUsageDisabledTest
to fail. The asset was changed to use a policy for a persistent
license without renewal.

Offline_RollbackBeforeRestoreKey failed because the duration of the
license is short. It has expired when the clock is restored after a
rollback.

Bug: 181693982
Test: request_license_test
Change-Id: I0a2c2a09e563c81c134fba1f310deb1eb4de26a3
2021-04-23 01:52:18 -07:00
Bob Badour
dc7573bb82 Merge "[LSC] Add LOCAL_LICENSE_KINDS to vendor/widevine" into sc-dev am: 99b73280e6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14284399

Change-Id: Iff5ab07b28fb47c09e5e21898d76e43c5db56532
2021-04-23 04:40:37 +00:00
Bob Badour
847559d5d5 Merge "[LSC] Add LOCAL_LICENSE_KINDS to vendor/widevine" into sc-dev am: 99b73280e6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14284399

Change-Id: Ia6cca7b3500b1e6a7a78f63ca0388c90be0cfcee
2021-04-23 04:38:18 +00:00
Bob Badour
99b73280e6 Merge "[LSC] Add LOCAL_LICENSE_KINDS to vendor/widevine" into sc-dev 2021-04-23 04:07:59 +00:00
Alex Dale
5eed0446da Clean up CdmEngine logs.
[ Merge of http://go/wvgerrit/121568 ]

The CdmEngine logs had both too much and too little information.

Since our logging has been enabled to print function names natively,
many of the log information has become superfluous.  Needless
information has been removed, and many of the important INFO logs have
been reduced to only the information not present in the function name.

Some of the INFO and ERROR logs were missing identifiers to match
failures with the same session request should the failures take more
than a few milliseconds to occur.  CDM session IDs and key set IDs
have been included in all the logs that _appeared_ to have a slow
operation between the top of the method and log.

To help make enum values more readable, several enums-to-string
functions have been implemented.  These converters are intended for
INFO logging and as such, do not log any addition information should
the enum be out of range.

To help make empty and null identifiers more readable in the logs,
empty strings will be logged as <empty> and null strings will be
logged as <null>.

While working through the "cdm_engine.cpp" file, a few minor changes
have been made:
- Adjust if statements to match with Google C++ style guidelines
  - Skipped anything that was not obvious
- Added a const qualifier to variables where appropriate
- Moved some null checks to the top of the method
  - Only where sequence is non-critical to normal operation
- Removed unnecessary string to vector to string conversions
- Reject empty |force_session_id|
  - Already enforced on CE CDM code and not uesd on Android

Bug: 183576879
Test: CE CDM unittests
Change-Id: Id165373055f7ce6097c93c48f84af74bd353c8cb
2021-04-21 21:05:10 -07:00
Edwin Wong
25988720e3 Merge "[RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow." into sc-dev am: 8c0769d8a9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14238895

Change-Id: Ibb95d8ec81baf4f66fca92ace929651ff94e9317
2021-04-21 23:49:56 +00:00
Edwin Wong
deece4f746 [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: 68b5b00567
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14238895

Change-Id: I3078fc60223d3cfc7454deddbec3bbbd83cc155e
2021-04-21 23:49:55 +00:00
Edwin Wong
a85c9a8f4c [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow." into sc-dev am: 8c0769d8a9 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14238895

Change-Id: I94553b57cd8b7ae050e19f0154cd7eb25a682c41
2021-04-21 23:47:16 +00:00
Edwin Wong
8c0769d8a9 Merge "[RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow." into sc-dev 2021-04-21 23:16:47 +00:00
Bob Badour
7e3dcfe54a [LSC] Add LOCAL_LICENSE_KINDS to vendor/widevine
Added legacy_by_exception_only to:
  libwvdrmengine/test/castv2/Android.mk
  libwvdrmengine/test/java/MediaDrmApiTest/Android.mk

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I71c2aaa0efb3730f56863bc9047f8794e6a9de01
2021-04-21 14:31:12 -07:00
TreeHugger Robot
b8c670a32f Merge "Use either spelling of AllocateSecureBuffer in dynamic adapter" into sc-dev am: 347bba5261
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14150100

Change-Id: I6985e1ef316728fe36d45cc971184967f4ad2633
2021-04-20 22:04:27 +00:00
TreeHugger Robot
671713d4af Merge "Use either spelling of AllocateSecureBuffer in dynamic adapter" into sc-dev am: 347bba5261
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14150100

Change-Id: Ic4b981837a0e66329c2ec820a52bbe9196f11e49
2021-04-20 22:02:24 +00:00
TreeHugger Robot
347bba5261 Merge "Use either spelling of AllocateSecureBuffer in dynamic adapter" into sc-dev 2021-04-20 21:44:53 +00:00
Edwin Wong
68b5b00567 [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow.
sc-dev branch is missing this fix, it did not auto merge from
http://ag/13617980

There is a potential integer overflow to bypass the
destination base size check in decrypt. The destPtr
can then point to the outside of the destination buffer.

Test: sts-tradefed
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176444622#testPocBug_176444622

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-17644462264

Bug: 176444622
Bug: 176496353
Change-Id: I88fff54de09d6753672b2a46c029960b5c30f5e7
2021-04-20 16:36:11 +00:00
Robert Shih
9776979f75 metrics: set OEMCrypto initialization errors correctly
[ Merge of http://go/wvgerrit/122663 ]

Bug: 162763203
Test: adb shell dumpsys media.metrics
Change-Id: I4e34d2ca924e271d31952ca4258287f0c9c96f38
2021-04-19 22:18:16 +00:00
TreeHugger Robot
db2c579afe Merge "Address review comments" into sc-dev am: 9c3c076cac
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14207160

Change-Id: Ibde98424546e05dae4f33abf73d3483aff486814
2021-04-17 04:06:44 +00:00
TreeHugger Robot
56f8abb9b7 Merge "Address review comments" into sc-dev am: 9c3c076cac
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14207160

Change-Id: I7d38d5fffb5e3d1dd128b0bd9c9cf097acb3c90e
2021-04-17 04:04:52 +00:00
TreeHugger Robot
9c3c076cac Merge "Address review comments" into sc-dev 2021-04-17 03:49:56 +00:00
Rahul Frias
93c6f6521a Merge "Remove CBC1 and CENS test" into sc-dev am: c997497aa6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14188281

Change-Id: I4f4f7983b5ae6f8d59bbe94240406d71dd62e8b1
2021-04-17 00:29:10 +00:00
Rahul Frias
d32ccfa859 Merge "Remove CBC1 and CENS test" into sc-dev am: c997497aa6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14188281

Change-Id: I50c1b2e60a17db5bddf97cac0b04d9670eb49e48
2021-04-17 00:27:12 +00:00
Rahul Frias
c997497aa6 Merge "Remove CBC1 and CENS test" into sc-dev 2021-04-17 00:12:17 +00:00
Alex Dale
73016e1f2e Merge "Only one function for reporting usage support." into sc-dev am: d4b24490f2
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14137666

Change-Id: Ifb59fc8325682c657b41c58d0a77a18860926819
2021-04-16 20:00:10 +00:00
Alex Dale
b003744817 Merge "Only one function for reporting usage support." into sc-dev am: d4b24490f2
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14137666

Change-Id: I295763f3af61727205b77a3914681ec635e8ab02
2021-04-16 19:57:23 +00:00
Alex Dale
d4b24490f2 Merge "Only one function for reporting usage support." into sc-dev 2021-04-16 19:47:10 +00:00
Rahul Frias
f83251974e Merge "Address CE CDM test failures and code review comments" into sc-dev am: d59b009495
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14123999

Change-Id: I394726302f60638db9120e36466bcca16496f368
2021-04-16 08:47:55 +00:00
Rahul Frias
022d27efd9 Merge "Address CE CDM test failures and code review comments" into sc-dev am: d59b009495
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14123999

Change-Id: I1e3ff44fb37f519f8f737107c523a3870ede9e8b
2021-04-16 08:45:55 +00:00
Rahul Frias
d59b009495 Merge "Address CE CDM test failures and code review comments" into sc-dev 2021-04-16 08:25:45 +00:00
Rahul Frias
a90414daae Merge "Correct request_license_test failures" into sc-dev am: 5343a90f1f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14185068

Change-Id: Iac7252505d55e21aaae994db1435786abdd4de5b
2021-04-16 08:13:54 +00:00
Rahul Frias
093b39426b Merge "Correct request_license_test failures" into sc-dev am: 5343a90f1f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14185068

Change-Id: Ia583bbf0d58165d60989045f43f506ca8f3e0c4e
2021-04-16 08:11:28 +00:00
Rahul Frias
5343a90f1f Merge "Correct request_license_test failures" into sc-dev 2021-04-16 07:52:43 +00:00
Fred Gylys-Colwell
bcc1db9b69 Address review comments
Merge from Widevine repo of http://go/wvgerrit/122383

Fix a few grammar errors found in http://go/ag/14154405 and
http://go/ag/14150103.

Bug: 185536454
Test: comments changed only
Change-Id: Ied2af940d705fbfc4af60c1d76a051c8c163097f
2021-04-15 22:07:18 -07:00
TreeHugger Robot
6a3f8ee02d Merge changes Ic7459870,I655babf1,I463642fb,Iccdbcc0b,I2ebbd8f7, ... into sc-dev am: c1d423487f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14185071

Change-Id: I74ea67d7f152f47df6cd9d65619868d22095e4cd
2021-04-16 03:43:54 +00:00
TreeHugger Robot
672a7c909b Merge changes Ic7459870,I655babf1,I463642fb,Iccdbcc0b,I2ebbd8f7, ... into sc-dev am: c1d423487f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14185071

Change-Id: Ib74f5f4c86337b5897055db2ea19bb565d69ff33
2021-04-16 03:41:51 +00:00
TreeHugger Robot
c1d423487f Merge changes Ic7459870,I655babf1,I463642fb,Iccdbcc0b,I2ebbd8f7, ... into sc-dev
* changes:
  Fix another typo
  Update license comment
  Update Version Compatibility Document
  Modify OEMCrypto unit tests to allow 16.3 or 16.4
  Update OEMCrypto test comments and logs
  Update OEMCryptoCENC.h header to obfuscate missing functions
  Clean up duration tests
  Use either spelling of AllocateSecureBuffer in dynamic adapter
  Update ODK library for OPK compatibility
2021-04-16 03:10:10 +00:00
Alex Dale
a4332714bc Merge "Extended Android file store error logs." into sc-dev am: 93cfe22910
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13736812

Change-Id: I5f2f7e828b28bc8eec9e6405195f80f14f4cd36c
2021-04-14 23:56:06 +00:00
Alex Dale
fdd3816858 Merge "Extended Android file store error logs." into sc-dev am: 93cfe22910
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13736812

Change-Id: I8c7cc8bd3347684e3953e275e98bbb6f2eb637a9
2021-04-14 23:50:56 +00:00
Alex Dale
93cfe22910 Merge "Extended Android file store error logs." into sc-dev 2021-04-14 23:05:55 +00:00
Rahul Frias
69f29bbcb2 Remove CBC1 and CENS test
[ Merge of http://go/wvgerrit/122183 ]

Support for CBC1 and CENS encryption modes is no longer required with
OEMCrypto v16. Removing tests to enforce them. The tests will validate
CENC and CBCS mode.

Bug: 181693982
Test: request_license_test
Change-Id: I350d315528c753b70dbf1b1cc46f2897002333fb
2021-04-14 13:33:41 -07:00
Fred Gylys-Colwell
79b2a933e4 Fix another typo
Merge from Widevine repo of http://go/wvgerrit/122123

Bug: 171912044
Change-Id: Ic7459870ac532f04f254913e685a306dbdfe1f7a
2021-04-14 09:53:02 -07:00
Rahul Frias
a674c7cdd0 Correct request_license_test failures
[ Merge of http://go/wvgerrit/122103 ]

When in CTR mode an encryption pattern should no longer be specified.
This will address failures in Cdm/WvCenc30Test.DecryptionTest/* and
Cdm/WvCenc30SwitchCipherModeTest.DecryptionTest/*

Bug: 181693982
Test: WV unit/integration tests
Change-Id: Iecbf28b51115501439aebf057056657c796896ae
2021-04-14 02:57:50 -07:00
Rahul Frias
d802baa4d4 Address CE CDM test failures and code review comments
The android CL ag/13947818 was submitted before some CE CDM test
failures were noticed and code review comments were received.

Bug: 184813991
Test: WV unit/integration test
Change-Id: Ic31ca5bc5e46994e01eca56248e6bdffedd779f3
2021-04-13 11:23:18 -07:00
Fred Gylys-Colwell
e51c9fbbb8 Update license comment
Merge from Widevine repo of http://go/wvgerrit/121950

Remove term "Master" from "Widevine Master License Agreement".

Bug: 168562298
Change-Id: I655babf1bc447f4872f6a0f849107262be42df7a
2021-04-12 14:10:08 -07:00
Fred Gylys-Colwell
64e2176047 Update Version Compatibility Document
Merge from Widevine repo of http://go/wvgerrit/110024

The document now has a date for the R release, and talks about 16.4.

It also more clearly describes how the CDM matches the HIDL interface
version, not the Android OS version.

Test: Doc change only
Bug: 169155700
Change-Id: I463642fbb779388a2ff7758db1a03d998e89510c
2021-04-12 14:00:53 -07:00
Fred Gylys-Colwell
ef65e86ee2 Modify OEMCrypto unit tests to allow 16.3 or 16.4
Merge from Widevine repo of http://go/wvgerrit/121790

Some unit tests expected OEMCrypto to be the latest ODK version,
but we do not require this for v16.

Bug: 184905579
Change-Id: Iccdbcc0b28587aad79a2a63d8c39a564a47fb585
2021-04-12 14:00:53 -07:00
Fred Gylys-Colwell
6628c7f693 Update OEMCrypto test comments and logs
Merge from Widevine repo of http://go/wvgerrit/121886

This CL merges some changes from branch rvc-dev to sc-dev
that prepared it for merge.

One change is that the unit tests now say they are part of
Android S instead of R.

Bug: 180546871
Change-Id: I2ebbd8f7b8586389ebb75f3743a2dc2ad8caa214
2021-04-12 14:00:53 -07:00
Fred Gylys-Colwell
d265a5fe73 Update OEMCryptoCENC.h header to obfuscate missing functions
This CL adds AllocateSecureBuffer and FreeSecureBuffer to the list of
function names that are obfuscated. It also corrects some spelling and
formatting in OEMCrypto headers. This is still version 16.4.

Merge from Widevine repo of
http://go/wvgerrit/115803
http://go/wvgerrit/111104
http://go/wvgerrit/108703
http://go/wvgerrit/108703

Bug: 139814713
Bug: 141202789
bug: 168634557
bug: 168635928
bug: 168637230
bug: 168639188
Change-Id: I6f06549b2cf104c6751b2947964569e974fcdcd2
2021-04-12 14:00:53 -07:00