Commit Graph

3145 Commits

Author SHA1 Message Date
Prashanth Swaminathan
6f16f52e29 Provide placeholder OEMCrypto file for RISCV
In order to build RISCV targets in internal master, a value must be
supplied to libwvdrmengine to satisfy the build for riscv64. For now,
point the build to the x86_64 file as a workaround.

Change-Id: I632198279586f2ab974aed9daadd72f378e13094
2023-04-26 07:09:44 -07:00
Kyle Zhang
9a44708e37 Merge "Set drm@latest to widevine service NOT apex" into udc-dev am: 6fda7dfc49 am: a15cf030ea
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22655798

Change-Id: If7bba9c5626fd60e3f8f2fc4fca2de91f3f48d2f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-25 20:20:17 +00:00
Cong Lin
134347adc0 Merge "Use device info from OS property when TEE returns empty" into udc-dev am: 7e3821885b am: c252d79287
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22824076

Change-Id: If70b3c6addb6a2c17dcf5027d5d27ec66fb959c2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-25 20:19:55 +00:00
Kyle Zhang
6fda7dfc49 Merge "Set drm@latest to widevine service NOT apex" into udc-dev 2023-04-25 18:47:14 +00:00
Cong Lin
7e3821885b Merge "Use device info from OS property when TEE returns empty" into udc-dev 2023-04-25 18:22:02 +00:00
Alex Dale
2084c51b63 Merge "Fixed WV metrics YAML formating." into udc-dev am: d09c640c69 am: fa1bc9116d
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22792935

Change-Id: Idcb57c5ff074a4ba16f3b59d885ebe419ac5a869
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-25 00:55:25 +00:00
Robert Shih
3c1592dca8 dumpsys properties: fix indent & quotation am: 5036a0fc07 am: 13077f55fb
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22822564

Change-Id: I45affad2ff3fc1a21e7c5828a395d0cd0caa6aff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-24 23:56:47 +00:00
Alex Dale
d09c640c69 Merge "Fixed WV metrics YAML formating." into udc-dev 2023-04-24 22:04:34 +00:00
Cong Lin
65f50d4662 Use device info from OS property when TEE returns empty
Some mandatory device info fields like manufacturer can be empty string
when returned from TEE on devices which have not been provisioned with
attestation IDs.

The extraction tool also needs to check for empty string in the
response, and if so, populates the field with Android property values.

Test: extracting device info from new Pixel EVT 1.1 and uploading
Bug: 276958001
Change-Id: I6e1b3dee8ffcd991335bc50b59a0c80f030cdc79
2023-04-24 14:14:42 -07:00
Robert Shih
5036a0fc07 dumpsys properties: fix indent & quotation
[ Merge of go/wvgerrit/c/cdm/+/171352 ]

Bug: 239462891
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine -p
Change-Id: I0b9ea26a4027b7fbbd277536c0e705885eef408e
2023-04-24 12:54:11 -07:00
Robert Shih
0eec5a8088 Merge "Return apex name for PROPERTY_VENDOR" into udc-dev am: a658e076dc am: ff346a7bea
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22606352

Change-Id: Ie401a12a18232708dd85b9b28196f50446017e10
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-21 21:41:36 +00:00
Alex Dale
1e1f11f5b1 Fixed WV metrics YAML formating.
[ Merge of http://go/wvgerrit/171270 ]

The metrics dump tool for the Widevine DRM factory was producing
malformed YAML output.  This is compounded by the formatting using
fixed indentation for its output.

Bug: 239462891
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine -m
Test: atest GtsMediaTestCases
Change-Id: I784d107085721ad0dabe94bdab33e9cc073f98e4
2023-04-21 13:32:52 -07:00
Robert Shih
a658e076dc Merge "Return apex name for PROPERTY_VENDOR" into udc-dev 2023-04-21 19:37:03 +00:00
Cong Lin
36a07f8686 Fix spurious wake up in dynamic adapter am: 5ccb147bb8 am: 6f9245c7ff
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22686796

Change-Id: I773cfe69e1cd3aa5e63aeb2d957ecfd06afb70bc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-20 23:05:07 +00:00
Cong Lin
5ccb147bb8 Fix spurious wake up in dynamic adapter
The predicate version of wait_for() to avoid spurious wake up by
checking running_ status.

This is a fix to ag/21439870

Test: build widevine
Bug: 272424659
Bug: 271811708
Change-Id: I446fef8f4c8c58bcd47b885dba50643b3e5e1185
2023-04-20 19:16:19 +00:00
Kyle Zhang
555b381e81 Set drm@latest to widevine service NOT apex
Bug: 277761241
Change-Id: I71f8a7e6b6a1c3cce24a8b33e0bb7748bbdd7230
2023-04-20 17:29:54 +00:00
Treehugger Robot
f97e8dd55d Merge "fix widevine fuzzer: c++_static and cc_fuzz" 2023-04-18 00:56:41 +00:00
Cong Lin
efd05207c8 Re-generate Android L3 after zero-initializer fix
Merge of https://widevine-internal-review.googlesource.com/c/cdm/+/170631

Original fix:

Array intializer "= {0}" may involve compiler specific behaviors which
can cause haystack hang on arm32 target. Fix is to use memset() instead.

Test: debug build verified on arm32 device
Test: Ran GTS media tests on Pixel 7
Bug: 274637461
Change-Id: I02f5df232934e0c78e259c85e4faf313c01c0b6b
2023-04-14 12:38:49 -07:00
Rahul Frias
333fe249e4 Merge "Force a reprovisioning on device renewal" into udc-dev 2023-04-14 05:49:14 +00:00
Steven Moreland
680b990aee fix widevine fuzzer: c++_static and cc_fuzz
c++_static and cc_fuzz interact badly

Fixes: 275500903
Test: widevine fuzzer starts and runs
Change-Id: I06b89b710c6f1f11d05756651391df3f682f872b
2023-04-14 00:49:37 +00:00
Robert Shih
d258acb879 Return apex name for PROPERTY_VENDOR
[ Merge of go/wvgerrit/c/cdm/+/170370 ]

Bug: 277620071
Test: WidevineHalTest
Change-Id: I05385358875723e20b13d3abb21a0deee9f35c29
2023-04-12 15:36:38 -07:00
Alex Dale
de779e7545 Moved OEMCryptoResult string converter.
[ Merge of http://go/wvgerrit/170073 ]

Removed the file "error_string_util.cpp" and its header, moving the
OEMCryptoResult to string converter to "wv_cdm_types.cpp".  This extra
file served little purpose, and created a dependency on the CDM utils
to the CDM itself.

This is part of the effort to fix the formatting of WV metrics; making
enum-to-string conversion uniform throughout the CDM.

Bug: 239462891
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine -m
Test: Manual testing with Google TV
Change-Id: I4bf95d26b623f5b8fa86bdb2578cbc4ee65125cb
2023-04-11 14:08:30 -07:00
Cong Lin
9c844682a6 Merge "Fix invalid key session id" into udc-dev 2023-04-05 17:41:43 +00:00
Rahul Frias
d31a4dec56 Force a reprovisioning on device renewal
[ Merge of http://go/wvgerrit/169374 ]

Device renewals used to require that OEMs remove provisioning
certificates as part of the OTA update process. Instead, a change
in system ID is relied upon to indicate a change in root of trust.
If a change in System ID is detected, reprovisioning will be forced.

This is not enabled for ATSC devices or L3 devices. For the latter a
change in system ID may occurs without a change in RoT.

Bug: 258361396
Test: GtsMediaTestCases
Change-Id: I6e8b0b2149fc2ed5362a32bb6e869826f5fa8ef7
2023-04-05 08:30:47 -07:00
Cong Lin
1b5bf5a71a Fix invalid key session id
Merge of https://widevine-internal-review.googlesource.com/c/cdm/+/169871

The default invalid entitled key session id was 0, which in fact could
be a valid value depending on how the key session id is allocated by the
implementation. This can be a possible cause of L3 entitled key session
failure since L3 can recycle a regular oemcrypto session id 0 and
re-assign it to an entitled key session later.

Bug: 264688931
Test: Run GTS media tests

Change-Id: Iae79d08378d61be8a3402f606992765f24298508
2023-04-05 00:34:40 +00:00
Kyle Zhang
0ab8f029a0 Merge "Drop Widevine CDM v17 prebuilt files" into udc-dev 2023-04-04 20:12:57 +00:00
Alex Dale
6bddc2e43e Merge "Add mutex to CdmEngine for use of usage_session_." into udc-dev 2023-04-03 06:25:56 +00:00
Alex Dale
e5834cb27d Merge "Added support for additional HDCP levels." into udc-dev 2023-04-01 00:56:04 +00:00
Rahul Frias
adf03c92f4 Address CDM compilation warnings for android
[ Merge of http://go/wvgerrit/169230 ]

Bug: 275675184
Test: Compile and GtsMediaTestCases
Change-Id: I3dc01f383a1fae07c126782e8d3561ab724316a8
2023-03-31 11:46:28 -07:00
Alex Dale
6cbd75bb6c Added support for additional HDCP levels.
[ Merge of http://go/wvgerrit/169450 ]

OEMCrypto v17 introduced several new HDCP levels that OEMCrypto may
report; however, the CDM never updated to support them.  The enum
values of the additional levels are no longer sequential with their
level of support (v1.1 is 7, and v2.1 is 3), this requires more
considerations when comparing the required HDCP levels (as specified
by the license) and current HDCP level supported by OEMCrypto.

The following rules were used:
1) HDCP_NONE is the absolute lowest level
2) HDCP_NO_DIGITAL_OUTPUT is the absolute highest level
3) HDCP_V1 is treated as equal to all V1.x levels
4) All other versions are based on their major-minor pairs

Bug: 269671291
Test: license_unittest
Test: policy_engine_constraints_unittest
Test: policy_engine_unittest
Test: GtsMediaTestCases
Change-Id: Ibecfcb981d7e019c68cb8e0c7286222253d18369
2023-03-30 23:33:25 -07:00
TreeHugger Robot
68e1eac8ec Merge changes I3002f705,If33f0616,Ifb971bf0,If8fc484f,I65a879fb, ... into udc-dev
* changes:
  Filter RSA 3072  tests
  Add MemorySanitizer support for opk_ta tests
  Filter CAS tests
  Refactor missed provisioning and renewal tests
  Use GTEST_SKIP to skip prov40 tests
  Update test updates and known issues to ChangeLog
  Update oemcrypto unit tests version number
  Update CHANGELOG for late-breaking OPK v17.1.1 changes
  Filter Cast Reciver tests
  Document RSA keypair issue on OP-TEE 64-bit
  Use GTEST_SKIP to skip prov 3.0 tests
  Remove V17 backwards-compatibility decrypt functions
  Small changes to refactored unit tests
  Add CHANGELOG entry for OPK v17.1.1
  Refactor usage table tests
  Refactor decrypt unit tests
  Update OPK v18 documentation
  Fix null passed to memcpy in generic verify fuzz
  Update documentation for Cast
  Document lacking signature of Prov 3.0 message
2023-03-31 02:13:24 +00:00
Cong Lin
779a5413ef Merge "Update Android L3 after CloseSession() fix" into udc-dev 2023-03-31 01:30:38 +00:00
Kyle Zhang
a053a34e13 Drop Widevine CDM v17 prebuilt files
The following files have been updated as part of this change:

libwvdrmengine/prebuilt/v17/android.hardware.drm-service.widevine

Built here: ab/P53529894


The change is generated with prebuilt drop tool.

Bug: 274815205
Change-Id: I9acb9b4ce62548763f9345b645221c5bea0d3b21
2023-03-30 22:01:26 +00:00
Alex Dale
d66177a257 Add mutex to CdmEngine for use of usage_session_.
[ Merge of http://go/wvgerrit/169430 ]

Bug: 263314813
Test: GtsMediaTestCases
Test: request_license_test
Change-Id: I0859865d26b14d492832001e55897f89853577f1
2023-03-30 13:50:34 -07:00
Kyle Zhang
d210d9d5d1 Clean up files no longer needed.
libwvdrmengine/apex/nonupdatable/device.mk is vendor/widevine/libwvdrmengine/apex/device/device-nonupdatable.mk now.

Bug: 251299786
Change-Id: Ibdd315c70ea4ec261f1490d8cd9eacca269105d6
2023-03-30 18:22:46 +00:00
Kyle Zhang
4d94891fab Merge "Drop Widevine Apex release key signed prebuilts" into udc-dev 2023-03-30 18:11:30 +00:00
Alex Dale
9d82b224eb Merge "Android CDM: Restored secure stop tests." into udc-dev 2023-03-30 06:11:58 +00:00
Cong Lin
c0f1a22890 Update Android L3 after CloseSession() fix
Merge of https://widevine-internal-review.googlesource.com/c/cdm/+/169301/

Orignial commit message:

Fix session open flag when closing entitled key session

When a session is closed, it also closes all its entitled key sessions.
A bug in L3 accidentally resets session_open flags in other active
sessions.

Re-generated Android L3.

Test: L3 key rotation tests in Pixel 7
Test: Run GTS media test on Pixel 7
Bug: 264688931
Change-Id: Ia02aeb2b0914a1634874871f1b82ed82f8069dbb
2023-03-29 21:50:19 -07:00
Kyle Zhang
57a954bc49 Drop Widevine Apex release key signed prebuilts
The following files have been updated as part of this change:

libwvdrmengine/apex/prebuilt/com.google.android.widevine.apks[standalones/standalone-arm64_v8a.apex]
package: name=com.google.android.widevine
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

libwvdrmengine/apex/prebuilt/com.google.android.widevine.apks[standalones/standalone-armeabi_v7a.apex]
package: name=com.google.android.widevine
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

libwvdrmengine/apex/prebuilt/com.google.android.widevine.apks[standalones/standalone-x86.apex]
package: name=com.google.android.widevine
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

libwvdrmengine/apex/prebuilt/com.google.android.widevine.apks[standalones/standalone-x86_64.apex]
package: name=com.google.android.widevine
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

libwvdrmengine/apex/prebuilt/com.google.android.widevine.lazy.apks[standalones/standalone-arm64_v8a.apex]
package: name=com.google.android.widevine.lazy
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

libwvdrmengine/apex/prebuilt/com.google.android.widevine.lazy.apks[standalones/standalone-armeabi_v7a.apex]
package: name=com.google.android.widevine.lazy
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

libwvdrmengine/apex/prebuilt/com.google.android.widevine.lazy.apks[standalones/standalone-x86.apex]
package: name=com.google.android.widevine.lazy
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

libwvdrmengine/apex/prebuilt/com.google.android.widevine.lazy.apks[standalones/standalone-x86_64.apex]
package: name=com.google.android.widevine.lazy
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

libwvdrmengine/apex/prebuilt/com.google.android.widevine.nonupdatable.apks[standalones/standalone-arm64_v8a.apex]
package: name=com.google.android.widevine.nonupdatable
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

libwvdrmengine/apex/prebuilt/com.google.android.widevine.nonupdatable.apks[standalones/standalone-armeabi_v7a.apex]
package: name=com.google.android.widevine.nonupdatable
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

libwvdrmengine/apex/prebuilt/com.google.android.widevine.nonupdatable.apks[standalones/standalone-x86.apex]
package: name=com.google.android.widevine.nonupdatable
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

libwvdrmengine/apex/prebuilt/com.google.android.widevine.nonupdatable.apks[standalones/standalone-x86_64.apex]
package: name=com.google.android.widevine.nonupdatable
versionCode=340514000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=33
compileSdkVersionCodename=UpsideDownCake
sdkVersion:UpsideDownCake
targetSdkVersion:10000

Built here: ab/9842411

The change is generated with prebuilt drop tool.

Bug: 251299786
Change-Id: I741feb00f9b749ad26910c8ee85a256e21d6399f
2023-03-29 23:47:06 +00:00
Rahul Frias
98543b50cb Merge changes I44095261,I30829ad7 into udc-dev
* changes:
  Dump BCC on failed provisioning request
  Refresh corpus for oemcrypto fuzz tests with modified format
2023-03-29 23:34:40 +00:00
Alex Dale
e928670c85 Android CDM: Restored secure stop tests.
[ Semi-revert of http://ag/20183443 ]
[ Merge of http://go/wvgerrit/168898 ]

These tests were removed from Android last quarter; however, they
now need to be restored.  These tests will be removed in Android V.

To help with ambiguity around where the CDM is operating on a single
or set of usage info messages, the variables have been renamed to
propery indicate plurality.

Bug: 263319220
Test: cdm_extended_duration_test
Test: request_license_test
Test: libwvdrmdrmplugin_hal_test
Change-Id: I38b16dd5811069fafaeab5ffc19d0f8a8095f0cf
2023-03-28 21:26:06 -07:00
Kyle Zhang
b5ec1ae108 Merge "Integrate apex version info to Widevine CDM property" into udc-dev 2023-03-28 22:31:45 +00:00
Vicky Min
6d494fa76c Filter RSA 3072 tests
Merge from Widevine repo of http://go/wvgerrit/169089

We want to transition to using GTEST_SKIP to skip unit tests instead of
modifying the GTEST_FILTER variable. This does so for tests that require
RSA 3072 support. Note: I think part of this CL got lost in
go/wvgerrit/167740, so this is adding the rest in.

Bug: 251240681
Merged from https://widevine-internal-review.googlesource.com/168237

Change-Id: I3002f705f7e3f4b38d0e5efef355e5c3f3529218
2023-03-28 20:30:22 +00:00
Ian Benz
f2cc88c0f7 Add MemorySanitizer support for opk_ta tests
Merge from Widevine repo of http://go/wvgerrit/169087

- Add opk_ta_msan platform and CI script
- Fix uninitialized memory reads identified by MemorySanitizer

Merged from https://widevine-internal-review.googlesource.com/163237
Merged from https://widevine-internal-review.googlesource.com/168058

Bug: 260089091
Change-Id: If33f061631da92a41b9c507843772f104b76515f
2023-03-28 20:30:22 +00:00
Vicky Min
0972c59fc0 Filter CAS tests
Merge from Widevine repo of http://go/wvgerrit/169080

We want to transition to using GTEST_SKIP to skip unit tests instead of
modifying the GTEST_FILTER variable. This does so for tests that require
CAS support.

Bug: 251240681
Merged from https://widevine-internal-review.googlesource.com/167739

Change-Id: Ifb971bf01e2c21fe672bbe4bfa15c797456256ef
2023-03-28 20:30:22 +00:00
Vicky Min
f83698a164 Refactor missed provisioning and renewal tests
Merge from Widevine repo of http://go/wvgerrit/169079

Bug: 253779846
Merged from https://widevine-internal-review.googlesource.com/167738

Change-Id: If8fc484f02fc1544977f1fb3a5fe1fa42d7367d7
2023-03-28 20:30:22 +00:00
Vicky Min
225a3e50ed Use GTEST_SKIP to skip prov40 tests
Merge from Widevine repo of http://go/wvgerrit/169076

We want to transition to using GTEST_SKIP to skip unit tests instead of
modifying the GTEST_FILTER variable. This does so for provisioning 4.0
tests.

Bug: 251240681
Merged from https://widevine-internal-review.googlesource.com/167497

Change-Id: I65a879fba24b199bd115980bdd556c123fcc1cdc
2023-03-28 20:30:22 +00:00
Fred Gylys-Colwell
6c834acc50 Update test updates and known issues to ChangeLog
Merge from Widevine repo of http://go/wvgerrit/169075

Merged from https://widevine-internal-review.googlesource.com/167677

Bug: 275264353
Test: luci tests
Change-Id: I247e5fd73ad53d526a662badbca43520fed5f1bd
2023-03-28 20:30:22 +00:00
Fred Gylys-Colwell
2f45350921 Update oemcrypto unit tests version number
Merge from Widevine repo of http://go/wvgerrit/169074

And update a few scripts that check for version number.

Merged from https://widevine-internal-review.googlesource.com/167657

Bug: 275264353
Test: luci tests
Change-Id: Ic3c16323e993075c9bfe206fc73bf82c0e67f65b
2023-03-28 20:30:22 +00:00
John "Juce" Bruce
8dd8fc5a79 Update CHANGELOG for late-breaking OPK v17.1.1 changes
Merge from Widevine repo of http://go/wvgerrit/169073

Due to the late-breaking maximum_minor_version change, we had to revise
the CHANGELOG on the release branch. This patch ports this change to the
development branches.

Bug: 275264353
Test: luci tests
Change-Id: I46a18bd05ad1ae2afc766eaaf39c563f82f4eeea
2023-03-28 20:30:22 +00:00