Commit Graph

3637 Commits

Author SHA1 Message Date
Alex Dale
3ea91f35dd Add HDCP cap logging on HDCP-based failures.
[ Merge of http://go/wvgerrit/181152 ]
[ Cherry-pick of http://ag/24137228 ]

Partners have requested that we log HDCP information during certain
operation:
1) Current and max HDCP capability when calls to decrypt or select
   key failure due to insufficient or mixed HDCP levels.
2) Current, desired and default HDCP level when video contraints
   are not met.

To avoid spamming the logs, decrypt failures are only logged on their
first occurrence, and unmet video constrains when one of the
requirements change.

Bug: 276686656
Bug: 292005982
Test: license_keys_unittest
Test: Android WVTS on oriole
Change-Id: I98b18e66d7ce1c474a018ae83af4f1c0b03308df
(cherry picked from commit c84b9afd38)
2023-08-05 09:21:50 +00:00
Kyle Zhang
81a63e05ae Add dumping provision request functionality
[ Merge of http://go/wvgerrit/179590 ]

Bug: 277788529
Test: dumpsys android.hardware.drm.IDrmFactory/widevine -prov
Change-Id: Ife88d1323bf5ee423eb8827ca324b73db3cc984a
(cherry picked from commit afbfe173a8)
2023-07-31 19:32:08 +00:00
Robert Shih
4597bf8a3c WVDrmPlugin: expose processorWidth am: d655ffbfe7 am: e391af47e4
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23834436

Change-Id: I18d386594b4294e7dbbc69110873d6e2ec1c2cf1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-29 09:50:51 +00:00
Robert Shih
d655ffbfe7 WVDrmPlugin: expose processorWidth
[ Merge of go/wvgerrit/c/cdm/+/177750 ]

Bug: 287093494
Test: MediaDrmParameterizedTests#testDrmPropertyStrings
Change-Id: I6d616deb69e6313c031bb3294ec3fcf62cabbacb
2023-06-29 08:22:26 +00:00
Cong Lin
b534ae59d1 Fix a few Vts failures in factory_upload_tool am: 2caa832158 am: 3140bdd9f9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23753310

Change-Id: Ia7efe805e82b050a38bef3a5e271d0637639a5d7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-24 00:07:42 +00:00
Pawan Wagh
5dab69064a Merge "Disable leak detection in widevine aidl fuzzer" 2023-06-23 22:13:13 +00:00
Cong Lin
2caa832158 Fix a few Vts failures in factory_upload_tool
1. Fix getHardwareInfo
2. Allow unused param to be empty
3. Deprecate generateCertificateRequestV1
4. Update Wv IRPC Hal version to 3

Test: run VtsHalRemotelyProvisionedComponentTargetTest
Test: vts_treble_vintf_vendor_test.DeviceManifest SingleAidlTest
Bug: 285527325
Bug: 285289790
Change-Id: Id4080e8630d01ad5540f49ae0d13b707e541b36a
2023-06-23 13:52:45 -07:00
Kyle Zhang
5dcda4f4f8 Drop Widevine apex prebuilt files to android source tree. am: a1d7a42cf6 am: fe1f5f77c4
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23479543

Change-Id: I3478cbb3bf1a61b091fcaa311bede82f235c7598
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-31 01:05:34 +00:00
Kyle Zhang
a1d7a42cf6 Drop Widevine apex prebuilt files to android source tree.
The following files have been updated as part of this change:

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

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

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

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

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

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

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

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

Built here: ab/10167125

The change is generated with prebuilt drop tool.

Bug: 279835636
Change-Id: Ic4cb80f7e20e7cee6e89ae1c0197d9cb624e6211
2023-05-30 21:37:16 +00:00
John Bruce
959982c2d1 Revert "Sony Patch to LicenseKeys::GetAllowedUsage()"
This reverts commit 7f16e103e6.

Reason for revert: Widevine has historically kept the Widevine and Android master branches in sync. But since the impact to Android is minimal, this change doesn't meet the bar for Android UDC-QPR2 or any other QPR. And in the new rolling release model, master(main) is now UDC-QPR2, so there's nowhere this code can be checked in on the Android side at this time. Reverting the original, premature sync of the change from the Widevine repo.

Change-Id: I4382750956cf7e472741760cef315f0871d5f4f5
2023-05-25 19:00:20 +00:00
John "Juce" Bruce
7f16e103e6 Sony Patch to LicenseKeys::GetAllowedUsage()
Merged from http://go/wvgerrit/175350.

Sony has identified a 5-year-old copy-and-paste error in
LicenseKeys::GetAllowedUsage(). For entitled keys, it was calling
CanDecryptContent() instead of GetAllowedUsage() on the entitlement key
session. This meant that for entitled keys, the allowed_usage parameter
was never updated and the return value of the function was indicating
something different than intended.

Bug: 280902715
Test: build_and_run_all_unit_tests
Change-Id: Ic1db01b6dce08d444572f53157ff08b337c48d31
2023-05-23 18:08:31 +00:00
Jooyung Han
9baac89008 Fix build script: set output path explicitly am: 49cc8da350 am: ac1ede5d73
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23246770

Change-Id: I56c63b308731e158e9a01ac470fc6985ee19b3ea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 21:03:06 +00:00
Jooyung Han
49cc8da350 Fix build script: set output path explicitly
dev_sign_bundle uses `out/dist` as default out directory. It should
respect DIST_DIR setting.

Bug: 281617982
Test: git_mainline-widevine-release/mainline_modules-user
Change-Id: I2ede21b099b512c948e4e83702a1478982acc779
2023-05-16 13:35:34 +09:00
Vicky Min
8132bb7e84 Fix oec session id in dynamic adpater am: 74a9f80790 am: 197bb32b42
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23246132

Change-Id: Ibb2ab6d79d389d836c1949a503c31b334a4e40b4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 03:49:26 +00:00
Vicky Min
74a9f80790 Fix oec session id in dynamic adpater
[ Merge of http://go/wvgerrit/175310 ]

Pass the real oemcrypto session id from `pair.session` instead of
`session` for LoadEntitledContentKeys, since `session` can be
changed when L1 and L3 are running in parallel and `session` in
that case may not be the correct oemcrypto session id any more.

Bug: 279967915, 282180589
Test: wvts
Change-Id: I127ff37abf8b618dfbcb623f59bc999e58e7a028
2023-05-15 18:40:21 +00:00
Treehugger Robot
f83700273d Merge "Update gts/cts helper script with WVTS paths" into udc-dev am: 99b760c857 am: 8485b9a3d2
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22961195

Change-Id: Iab36e3e345589d8c795d1414fa27775f4fc3523f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-13 09:49:19 +00:00
Treehugger Robot
99b760c857 Merge "Update gts/cts helper script with WVTS paths" into udc-dev 2023-05-13 08:13:55 +00:00
Rahul Frias
1fbaded0f8 Merge changes I5cbfcc73,I3070b3f3 into udc-dev am: 75c1b88603 am: baa6824d9a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23094536

Change-Id: I24032e5564998d45043d2a1fe2627fcf0b719c54
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-13 05:18:19 +00:00
Treehugger Robot
234b58cec7 Merge "Fix oec session id in dynamic adpater" into udc-dev am: 81cb2ba955 am: 90269c3633
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23218888

Change-Id: I5c0cd405cbcb34592a814086a439e5d9f7298bb4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-13 05:18:11 +00:00
Rahul Frias
75c1b88603 Merge changes I5cbfcc73,I3070b3f3 into udc-dev
* changes:
  Indicate support for initial_renewal_delay_base
  Fixes for renew on license load
2023-05-13 04:08:22 +00:00
Treehugger Robot
81cb2ba955 Merge "Fix oec session id in dynamic adpater" into udc-dev 2023-05-13 03:59:16 +00:00
Jooyung Han
6dc6d87624 Fix build_test breakage am: 5a6c57b11a am: ccb93ea4b1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23213877

Change-Id: Ic31362276d4aaa8b06e7b5e3a4266319fb225f12
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-13 01:26:55 +00:00
Jooyung Han
5a6c57b11a Fix build_test breakage
CI build_test target tests every product, which invokes the new
widevine_generic product out of the build script. This makes build fail
due to the missing TARGET_BASE_PRODUCT.

Fix it by fallback to module_arm as base product.

Bug: 281617982
Test: TH
Change-Id: I36d437a56609865e64aea86c5d3af02887b42bc7
2023-05-13 07:34:07 +09:00
Rahul Frias
0c288c1cda Indicate support for initial_renewal_delay_base
[ Merge of http://go/wvgerrit/174555 ]

This is only announced if OEMCrypto is v18+

Bug: 278751387
Test: Duration use case tests, wvts tests
Change-Id: I5cbfcc733ed2af2c940fde381b40a5be850e7e88
2023-05-12 15:05:44 -07:00
Rahul Frias
669fc9c7af Fixes for renew on license load
[ Merge of http://go/wvgerrit/173290 ]

* Renew timer offset from when license is loaded verifies that the
  rental duration has not expired and begins decryption.
* Renew timer offset from first decrypt bugfix
* Feature is enabled based on oemcrypto v18 presence
* Renewal logic verifies that |can_renew| is enabled
* Unit tests were added to reflect use cases from duration
  and renewal documentation

Bug: 278751387
Test: policy unittests, CdmUseCase tests, wvts tests
Change-Id: I3070b3f31b316e150c28ebe38d0440ab1eeb89b9
2023-05-12 15:02:32 -07:00
Vicky Min
5026c50ebc Fix oec session id in dynamic adpater
[ Merge of http://go/wvgerrit/175058 ]

Pass the real oemcrypto session id from `pair.session` instead of
`session` for LoadEntitledContentKeys, since `session` can be
changed when L1 and L3 are running in parallel and `session` in
that case may not be the correct oemcrypto session id any more.

Bug: 279967915, 282180589
Test: wvts
Change-Id: Iad0ac5e505d3b38d220f1484d4cf5f8bc3b5337f
2023-05-12 21:17:58 +00:00
Rahul Frias
cba5f6df51 Merge changes Ied664ce8,I90004025 into udc-dev am: 13368f4076 am: ff69157968
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23088670

Change-Id: I685780940b18d74a03f76e82009201b8613da7cf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-12 16:09:37 +00:00
Rahul Frias
13368f4076 Merge changes Ied664ce8,I90004025 into udc-dev
* changes:
  Test refactoring to support load on renewal tests
  Fix formatting of renew on license load integration tests
2023-05-12 15:08:16 +00:00
Jooyung Han
1af120c6db Merge "Add build script for widevine apkset." into udc-dev am: d13f8124ff am: 4c18d98bc7
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23157000

Change-Id: If9f983906bc12706449008318ca0895f4ef6aa2e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-12 09:30:00 +00:00
Jooyung Han
d13f8124ff Merge "Add build script for widevine apkset." into udc-dev 2023-05-12 08:14:22 +00:00
Rahul Frias
d50b9031c9 Test refactoring to support load on renewal tests
[ Merge of http://go/wvgerrit/174470 ]

There are two sets of changes
* Mocking CryptoSession so that OEMCrypto API version can be queried
* Creating a PolicyEngineTestV16 so that API version expectations
  can be set and V18 can be accommodated.

Bug: 278751387
Test: policy_engine_unittest
Change-Id: Ied664ce87e22f697b6a45d3c573e22273e65e37f
2023-05-11 16:16:20 -07:00
Alex Dale
358846f286 Remove duplicate session ID in metrics dump. am: ed81ae2b11 am: 6204d8b5fe
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23149071

Change-Id: Ia77107eecbc3441a15f4ee2111479fc68a2f76f4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-11 20:38:18 +00:00
Rahul Frias
f0e546d703 Fix formatting of renew on license load integration tests
[ Merge of http://go/wvgerrit/174270 ]

Bug: 240995342
Test: Duration use case tests
Change-Id: I900040256b4accf2b695a6da0827033eadb4f2e4
2023-05-11 01:52:08 -07:00
Jooyung Han
6808813f46 Add build script for widevine apkset.
This builds Widevine APEXes for every target arch and then build APKS
file signed with devkeys.

Bug: 281617982
Test: DIST_DIR=out/dist UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true \
  TARGET_BUILD_APPS="com.google.android.widevine \
    com.google.android.widevine.nonupdatable \
    com.google.android.widevine.lazy" \
  vendor/widevine/libwvdrmengine/apex/device/build.sh
Change-Id: I6b47d9de3d572298e84b26b744710818e9f75210
2023-05-11 16:01:39 +09:00
Alex Dale
ed81ae2b11 Remove duplicate session ID in metrics dump.
[ Merge of http://go/wvgerrit/174932 ]

Bug: 281794097
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine -m
Change-Id: Id29e1c4298ed5b86453f22012cfccc2cb5ee7d05
2023-05-10 16:20:45 -07:00
Kyle Zhang
79575fcdf6 Merge changes Icd280b53,I6eed117e into udc-dev am: 1a42aed25b am: 41990b43b9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23049485

Change-Id: Ib59bb191ea45d18ae29240abad4ed59a9010d7aa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-10 22:53:48 +00:00
Kyle Zhang
1a42aed25b Merge changes Icd280b53,I6eed117e into udc-dev
* changes:
  Cast Receiver integration test
  Combine provisioning code for tests and improve logging
2023-05-10 18:40:30 +00:00
Fred Gylys-Colwell
d211195f92 Cast Receiver integration test
Merge from Widevine repo of http://go/wvgerrit/169471

Remove the test in android tests and add it to the
core tests.

Bug: 276464340
Test: GTEST_FILTER="CorePIGTest.CastReceiverProvisioning*" jenkins/run_fake_l1_tests
Change-Id: Icd280b532ddae274f66b2fab3e65520e96adb7cb
2023-05-10 18:40:21 +00:00
Fred Gylys-Colwell
836b1a30a6 Combine provisioning code for tests and improve logging
Merge from Widevine repo of http://go/wvgerrit/169018

This CL adds a provisioning holder that attempts to
provision and logs the request and response for
failures. The server team can replay the request to debug
problems on their end.

Bug: 276464340
Test: ran cast and ota tests
Change-Id: I6eed117e504ae3287f2ba16c3c507cfdc7456f8d
2023-05-10 18:38:50 +00:00
Rahul Frias
8e57831133 Fix oec session id in dynamic adpater am: 09d7572ece am: 6dbee88175
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23104917

Change-Id: I3fc0abfc7987afb5680a5a24f2ec500ca88f35eb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-10 07:52:39 +00:00
Pawan Wagh
acbfc3ce7d Disable leak detection in widevine aidl fuzzer
Setting up ASAN and HWASAN options to ignore leaks while fuzzing.

Test: m android.hardware.drm-service.widevine.aidl_fuzzer
Bug: 272721367
Change-Id: Icc9aebeb579a224b0f1aa4c0e4e60cb282830682
2023-05-09 19:01:43 +00:00
Rahul Frias
09d7572ece Fix oec session id in dynamic adpater
[ Merge of http://go/wvgerrit/174572 ]

Pass the real oemcrypto session id from `pair.session` instead of
`session` for CopyBuffer, since `session` can be changed when L1
and L3 are running in parallel and `session` in that case may not
be the correct oemcrypto session id any more.

Bug: 279967915
Test: wvts
Change-Id: Ic5e21ccb227d4c4992ef500435fa3b68812c4d9b
2023-05-08 23:21:47 -07:00
Treehugger Robot
daada605c0 Merge "Skip RenewOnLicenseLoad tests for v17 OEMCrypto" into udc-dev am: 24c3bbb783 am: 49891001a6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23049486

Change-Id: I197ded77d47304a7e0f62b5cf8ee60634547163b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-09 02:08:08 +00:00
Treehugger Robot
5c07b90b2b Merge "Expect failure on license load for expired LDL license" into udc-dev am: 6511d44f3c am: e7a5379e2b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23049483

Change-Id: I660eb6bba17a58c9d0fb427fc4f762cf93a67be9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-09 01:43:55 +00:00
Alex Dale
3e2a153669 Updated usage test to expect v16 duration values. am: f2bf164914 am: 766904974b am: 340fd56fe1 am: ecb9cef2f6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/23066555

Change-Id: I34f29cdd6cda47f01fd4483265063d5e6cb3b1df
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-08 21:16:48 +00:00
Treehugger Robot
24c3bbb783 Merge "Skip RenewOnLicenseLoad tests for v17 OEMCrypto" into udc-dev 2023-05-08 20:38:47 +00:00
Treehugger Robot
6511d44f3c Merge "Expect failure on license load for expired LDL license" into udc-dev 2023-05-08 19:03:33 +00:00
Rahul Frias
fa4f9ca07d Skip RenewOnLicenseLoad tests for v17 OEMCrypto
[ Merge of http://go/wvgerrit/173950 ]

Bug: 280641992
Test: duration use case tests
Change-Id: If81df367c9359592b1ba797f6192d413afe55273
2023-05-08 11:55:40 -07:00
Alex Dale
f2bf164914 Updated usage test to expect v16 duration values.
[ Merge of http://go/wvgerrit/174431 ]

It is possible that the initial license duration was limited due to
the finit rental duration; however, if the license has a soft rental
duration, it will be considered unlimited after playback has begun.

The *.UsageTest* have been updated to ignore cases where initial
license durations are finit, but later report as unlimited.

Bug: 275651559
Test: cdm_extended_duration_test
Change-Id: I689163b1066b2bc9f9345e2279e9373010f844cc
2023-05-05 17:30:13 -07:00
Fred Gylys-Colwell
65d52908af Expect failure on license load for expired LDL license
Merge from Widevine repo of http://go/wvgerrit/170970

RenewOnLicenseLoad.Case2 tests are failing because they
are expecting to load an expired license. However, the spec
says that the license should return KEY_EXPIRED. The test is
being updated.

Some other RenewOnLicenseLoad tests were failing because
they forgot to request the renewal.

Bug: 278750980
Test: Run tests on Luci
Change-Id: I7196db11fcf43859ba9310b87fd8ccb609e47039
2023-05-04 21:18:06 -07:00