Commit Graph

4909 Commits

Author SHA1 Message Date
Rahul Frias
c21d40c68f Address CE CDM code review comments
Undoes a change to the buffer size from http://ag/13865723

Bug: 184813991
Test: WV unit/integration tests
Change-Id: I40cf786f149626ff65a3362020b3da859bb86159
2021-04-23 12:26:34 -07:00
Bob Badour
99b73280e6 Merge "[LSC] Add LOCAL_LICENSE_KINDS to vendor/widevine" into sc-dev 2021-04-23 04:07:59 +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
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
TreeHugger Robot
9c3c076cac Merge "Address review comments" into sc-dev 2021-04-17 03:49:56 +00:00
Rahul Frias
c997497aa6 Merge "Remove CBC1 and CENS test" into sc-dev 2021-04-17 00:12:17 +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
d59b009495 Merge "Address CE CDM test failures and code review comments" into sc-dev 2021-04-16 08:25:45 +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
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
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
Fred Gylys-Colwell
e998b08de7 Clean up duration tests
Merge from Widevine repo of http://go/wvgerrit/120903

Some comments in the duration tests had stale numbers in them. This
was fixed.

Also, the tests CdmUseCase_LicenseDuration were failing with a v16 CDM
and a v15 OEMCrypto because the exact cutoff time is different in
those two cases. That is exactly why specifying the license duration
is not recommended. The tests have been modified to handle both
acceptable behaviors.

Bug: 182237739
Change-Id: I05765beacfe69d02e7366bb3f651f0d5888ab3e5
2021-04-12 14:00:53 -07:00
Fred Gylys-Colwell
504b05492b Use either spelling of AllocateSecureBuffer in dynamic adapter
Merge from Widevine repo of http://go/wvgerrit/121883

There was a problem in the v16.3 header that did not rename
OEMCrypto_AllocateSecureBuffer to _oecc109 or
OEMCrypto_FreeSecureBuffer to _oecc110. These functions are only used
in testing.

This changes the dynamic adapter to accept either name for those
functions.

Bug: 171121061
Change-Id: I30121c7524e8db580ba85f3e686a7a7c429d80a9
2021-04-12 14:00:53 -07:00
Fred Gylys-Colwell
6a59fee30a Update ODK library for OPK compatibility
This is a merge from http://go/wvgerrit of several changes to the ODK
library that allow it to be used in the same compilation unit as the
OPK serialization/deserialization code.

Merge of:
http://go/wvgerrit/104403
http://go/wvgerrit/105663
http://go/wvgerrit/106004
http://go/wvgerrit/107903
http://go/wvgerrit/107985
http://go/wvgerrit/110167
http://go/wvgerrit/110403
http://go/wvgerrit/110423
http://go/wvgerrit/110663
http://go/wvgerrit/110703
http://go/wvgerrit/110985
http://go/wvgerrit/111703
http://go/wvgerrit/112563
http://go/wvgerrit/113243
http://go/wvgerrit/115204
http://go/wvgerrit/117803
http://go/wvgerrit/121949

bug: 174518179
bug: 175920940
bug: 175126254
Change-Id: I433459182043ca43a040cdbc16d04f2b8215067a
2021-04-12 13:59:59 -07:00
Fred Gylys-Colwell
fa0c9c3123 Use either spelling of AllocateSecureBuffer in dynamic adapter
Merge from Widevine repo of http://go/wvgerrit/121883

There was a problem in the v16.3 header that did not rename
OEMCrypto_AllocateSecureBuffer to _oecc109 or
OEMCrypto_FreeSecureBuffer to _oecc110. These functions are only used
in testing.

This changes the dynamic adapter to accept either name for those
functions.

Bug: 171121061
Change-Id: Ide5b3f959ee5ebc54cbf0caa07cbd7d5e85a6031
2021-04-10 10:54:02 -07:00
Alex Dale
36dc9bb97b Extended Android file store error logs.
[ Merge of http://go/wvgerrit/120763 ]

This change introduces additional logging information for files and
file system operations on Android.

File reading and writing will attempt to make sense of |errno| and
log useful information.   In the event that the file must be closed,
the file stat will be printed.

Failures in determining the file size will print potential reasons for
the encountered error.

This partly restructures the File interface implementation to use file
descriptors instead of the C standard libraries FILE handle.  This is
done to ensure that |errno| is set to an expected value.

This change also introduces the utility functions SafeWrite() and
SafeRead() to handle common, retriable errors.

Bug: 178232354
Test: Android MediaDrm GTS and Android file-based unittests
Change-Id: I15a3c47a271098c9edb4bd9f619ed1a12dca6143
2021-04-09 14:23:24 -07:00
Alex Dale
985d0b5129 Merge "Cleaned up OEMCrypto security level getter." into sc-dev 2021-04-09 20:59:39 +00:00
Alex Dale
9903798373 Merge "Restructed reference root of trust (3/3 OEM Cert)" into sc-dev 2021-04-09 20:48:47 +00:00
Alex Dale
cae8f6a04e Merge "Restructed reference root of trust (2/3 DRM Cert)" into sc-dev 2021-04-09 20:48:27 +00:00
Alex Dale
ca335b2c11 Only one function for reporting usage support.
[ Merge of http://go/wvgerrit/121567 ]

Replaced the two usage support functions GetUsageSupportType() and
UsageInformationSupport() into a single function HasUsageInfoSupport().

Since moving to only supporting a single usage info system (usage table
header + usage entries), the different usage support functions have
lost their purpose.

One version of the method works on an open session and will use a
cached value of the property if previously set.  The other can be
called without opening the session (as used for query calls).

This is part of larger fix for the usage table initialization process.

Bug: 169195093
Test: CE CDM unit tests
Change-Id: I637c24dd143e995dbb0f8848850e3c71ff1018eb
2021-04-09 01:34:57 -07:00
Alex Dale
ccda4faf7b Cleaned up OEMCrypto security level getter.
[ Merge of http://go/wvgerrit/121566 ]

This clean up is part of a larger usage table initialization fix.

Bug: 169195093
Change-Id: I3ee818d1e5621f1f2fa64b189da4e66503d5e680
2021-04-09 01:34:56 -07:00
Rahul Frias
574dc28df5 Merge "Reword "blacklisted" to "forbidden"" into sc-dev 2021-04-09 07:38:26 +00:00
Rahul Frias
6af4d181d1 Merge "Correction to addition of LOCAL_LICENSE_KINDS to vendor/widevine" into sc-dev 2021-04-09 02:14:01 +00:00
Robert Shih
1f8f0f1ccc Merge "libvtswidevine: replace appspot with uat" into sc-dev 2021-04-08 21:36:07 +00:00
Rahul Frias
a40af9d1ef Reword "blacklisted" to "forbidden"
[ Merge of http://go/wvgerrit/113563 ]

Bug: 159847851
Test: WV unit/integration tests
Change-Id: I138b3e3291cb9e75841d092ca1bfa9a652ad9f9a
2021-04-08 11:54:06 -07:00
Rahul Frias
7c8d3e287e Correction to addition of LOCAL_LICENSE_KINDS to vendor/widevine
Remove incorrectly identified license files in http://go/ag/13998816

Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: mm
Change-Id: I676a63598c8a7df11a1cef6d8bebcc9940c961dc
2021-04-08 07:56:48 +00:00
Edwin Wong
c287730627 [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into qt-dev am: aabd91204a am: 389837df8c -s ours am: e2f3b13c78 am: 28d30a0af9 am: c3c05be7b6 -s ours
am skip reason: subject contains skip directive

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

Change-Id: Ia65ed5196c9da55432844476a86caa6a1702fe78
2021-04-07 01:19:25 +00:00
Edwin Wong
4786786b6b [automerger skipped] [RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability. am: 9c278174c8 am: 605ae2e217 -s ours am: a423695ea0 am: 94cf4a7137 am: 6216c6e024 -s ours
am skip reason: subject contains skip directive

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

Change-Id: I6ccf8ac5b3b596669b003c2034bd75342765f5d2
2021-04-07 01:19:23 +00:00
Edwin Wong
6f1b7fab1e [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into qt-dev am: aabd91204a am: 389837df8c -s ours am: e2f3b13c78 am: f21b00847b -s ours
am skip reason: subject contains skip directive

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

Change-Id: I011a4171cce3e92bd0d0f38438c894c44a348abd
2021-04-07 00:36:49 +00:00
Edwin Wong
4a55a10d16 [automerger skipped] [RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability. am: 9c278174c8 am: 605ae2e217 -s ours am: a423695ea0 am: c82acab577 -s ours
am skip reason: subject contains skip directive

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

Change-Id: Ibdf9f8c5c666c19075350805ea1fa44472e0c5eb
2021-04-07 00:36:48 +00:00
Edwin Wong
c3c05be7b6 [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into qt-dev am: aabd91204a am: 389837df8c -s ours am: e2f3b13c78 am: 28d30a0af9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13499846

Change-Id: I0cb9769784651c4a1b8c6267ccfea3b591a5eef1
2021-04-07 00:32:24 +00:00
Edwin Wong
6216c6e024 [automerger skipped] [RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability. am: 9c278174c8 am: 605ae2e217 -s ours am: a423695ea0 am: 94cf4a7137
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13499846

Change-Id: Ia241a9673a9cf281763f268fe8ea9b5f1a4f2a9c
2021-04-07 00:32:23 +00:00
Edwin Wong
f21b00847b [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into qt-dev am: aabd91204a am: 389837df8c -s ours am: e2f3b13c78
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13499846

Change-Id: Ic51d0acefb24d6265cb42adc5b7447e43c6bc681
2021-04-06 23:52:20 +00:00
Edwin Wong
c82acab577 [automerger skipped] [RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability. am: 9c278174c8 am: 605ae2e217 -s ours am: a423695ea0
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13499846

Change-Id: I9ffa3d2b096e62f92848ea103be82ecad48e6c08
2021-04-06 23:52:20 +00:00
Edwin Wong
28d30a0af9 [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into qt-dev am: aabd91204a am: 389837df8c -s ours am: e2f3b13c78
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13499846

Change-Id: I893384792c4cf7677fff871433cf6228df7f0e7a
2021-04-06 23:47:33 +00:00
Edwin Wong
94cf4a7137 [automerger skipped] [RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability. am: 9c278174c8 am: 605ae2e217 -s ours am: a423695ea0
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13499846

Change-Id: I14c7cdded7ca2e41298594ac7df706ecb75989f1
2021-04-06 23:47:32 +00:00
Edwin Wong
e2f3b13c78 [automerger skipped] Merge "[RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability." into qt-dev am: aabd91204a am: 389837df8c -s ours
am skip reason: subject contains skip directive

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

Change-Id: I57e1cda75c201ab7c722d077be6aa94b22ebb617
2021-04-06 23:27:20 +00:00
Edwin Wong
a423695ea0 [automerger skipped] [RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability. am: 9c278174c8 am: 605ae2e217 -s ours
am skip reason: subject contains skip directive

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

Change-Id: Id2b6c02ef85c826ce7b74b0a95797082b0845f5a
2021-04-06 23:27:19 +00:00