Commit Graph

6736 Commits

Author SHA1 Message Date
Alex Dale
0c353d6851 Revert "Core CDM: Remove secure stop from LRU algorithm."
This reverts commit 7a34c1748c.

Reason for revert: Feature rejected by Android

Bug: 242289743
Change-Id: I63a730a6e5fa16d0d2425d216fd7f0fff8c09a4c
2022-12-01 23:50:05 +00:00
Alex Dale
7a34c1748c Core CDM: Remove secure stop from LRU algorithm.
[ Merge of http://go/wvgerrit/158877 ]

The UsageTableHeader's LRU algorithm for determining which entry to
evict when full uses special considerations based on the type of
entry (offline or secure stop).

This CL removes all secure-stop-specific considerations, and instead
treats secure stop's the same as an unused entry.  Secure stop entries
will always be selected for removal before offline licenses (expired
or not).

Additionally, LRU table upgrading will ignore secure-stop entries.
This has no effect in practice as DeviceFiles will not load secure
stop usage entries when UsageTableHeader is initialized on a real
file system.

Bug: 242289743
Test: run_x86_64_tests and request_license_test
Change-Id: Ib3f71f191aed94aad62951667426911e4e202068
2022-11-08 12:16:14 -08:00
Alex Dale
da9ba6c3ba Core CDM: Retrieving USAGE_INFO triggers clean-up.
[ Merge of http://go/wvgerrit/158722 ]

The CDM will delete all usage info / secure stop files on the device
when usage table entries labeled as USAGE_INFO are detected when
restoring the usage table.  DeviceFiles no longer transfers the
stored USAGE_INFO entry info into the run-time entry info vector for
the table.

This CL makes only minor changes to test data.  Significant updates
to both device file and usage table header unittests are required to
remove usage info / secure stop run-time resources.

Bug: 242289743
Test: run_x86_64_tests
Change-Id: I2d1fc0d6a4c994bc10bfce47818f101f95883979
2022-11-08 12:16:14 -08:00
Alex Dale
b039f31b27 Core CDM: Removed secure stop support.
[ Merge of http://go/wvgerrit/158721 ]

This CL removes support for secure stop / usage info sessions from the
CDM engine and CDM session.  APIs for related to secure stop
operations will return NOT_IMPLEMENTED_ERROR.

New secure stop licenses will be rejected by the CDM when added.

Bug: 242289743
Test: run_x86_64_tests request_license_test
Change-Id: I30cd47e580d63014e001c903382a28238746f6d4
2022-11-08 12:16:14 -08:00
Alex Dale
f5fbfa6176 Merge changes I9f51e07c,I3f65a6ec
* changes:
  CDM core: Removed support for v15 provisioning responses.
  CDM Core: Removed support for v15 licenses.
2022-11-05 02:11:55 +00:00
TreeHugger Robot
b2d0ab968b Merge "Output metrics in YAML format" 2022-11-04 22:01:14 +00:00
Alex Dale
6b9aa2c12d CDM core: Removed support for v15 provisioning responses.
[ Merge of http://go/wvgerrit/160277 ]

OEMCrypto v15 did not require core messages during DRM certificate
provisioning.  The CDM's certificate provisioning flow was allowing
for either case (with or without core messages) when provisioning.

Now, devices can safely assume that all provsisioning responses will
be v16 or newer; all requests/response must contain a core message.

Bug: 252670759
Test: run_x86_64_tests and request_license_test
Change-Id: I9f51e07caf642eaf646ef40bdd640b3ccfe2533c
2022-11-04 14:50:24 -07:00
Alex Dale
b26126d3aa CDM Core: Removed support for v15 licenses.
[ Merge of http://go/wvgerrit/160000 ]

OEMCrypto v15 licenses made use of several now-obsolete API functions
of OEMCrypto (mainly LoadKeys and RefreshKeys).  All license handled
by the CDM must be v16 or newer.  The CDM can now rely on all license
requests/responses containing a core message, using v16 policy timers,
and requires loading using LoadLicense() / LoadRenewal().

Bug: 252670759
Test: run_x86_64_tests and policy_engine_unittest
Change-Id: I3f65a6ec0326b4c89d1919b8911e065079cb90d2
2022-11-04 14:47:11 -07:00
Rahul Frias
4a4ee80cad Merge "Add "version" to device info in prov4 upload tool" 2022-11-04 20:38:18 +00:00
Rahul Frias
8764c60fd4 Add "version" to device info in prov4 upload tool
[ Merge of http://go/wvgerrit/160457 ]

Bug: 255921326
Test: WV android unit tests
Merged from https://widevine-internal-review.googlesource.com/160427

Change-Id: I3e2b7158c72fb4321b67053995f62483da934a18
2022-11-04 11:34:02 -07:00
Seth Moore
d986e6568c Revert "Add dependency on split out RKP HAL"
Revert "Split rkp from keymint."

Revert "Add dependency on newly-split RKP HAL"

Revert "Add dependencies on newly-split RKP HAL"

Revert "Add dependency on split out RKP HAL"

Revert submission 20364235-split-rkp-aidl

Reason for revert: Build break in android.hardware.identity-api
Reverted Changes:
Ib86454bbb:Update dependencies on HAL types moved from keymin...
I501c967e2:Add dependencies on newly-split RKP HAL
I08560f9af:Add dependency on split out RKP HAL
I87133e385:Add dependency on split out RKP HAL
Ia13374cbc:Add dependency on split out RKP HAL
I72bc1774c:Add dependency on newly-split RKP HAL
I71ac265e3:Add dependency on newly-split RKP HAL
Ie0e17bb2c:Update the RKP aidl dependency
I5d24f47ce:Update README and CHANGELOG for RKP
I4b2498dd1:Split rkp from keymint.
I266009d75:Add dependency on newly-split rkp HAL

Change-Id: I4192940d5013a079f3d15f6ffaf44bc1634d7538
2022-11-04 16:41:10 +00:00
Edwin Wong
c70e3deb8b Output metrics in YAML format
Merge from http://go/wvgerrit/158917

Use go/yamllint as reference and obfuscate portion of output to
run on an online yaml validator.

Sample output: http://go/cl/481370906

Test: Netflix, Play TV and Movies, Youtube
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine
Test: ./build_and_run_all_unit_tests.sh

Bug: 239462891
Change-Id: I1abf1aa50aa25b97b1f6c10995c324d6de04d056
2022-11-03 19:50:27 +00:00
Seth Moore
25f180da45 Add dependency on split out RKP HAL
Bug: 254112961
Test: N/A
Change-Id: I87133e385db890bd50422c4cad226a7ddb4b8154
2022-11-02 21:44:23 -07:00
TreeHugger Robot
9c19e7bdf6 Merge "Adding vintf fragment to the apex" 2022-10-27 23:56:28 +00:00
TreeHugger Robot
859f26f1b7 Merge "Remove "rebootless" related stuff" 2022-10-26 02:58:19 +00:00
Tri Vo
a51fea4572 Add stub for IRPC v3
Bug: 254569740
Test: m android.hardware.security.keymint-service.widevine
Change-Id: Ia79d53921258ccd755f1b753c0081aad84a8e85e
2022-10-20 10:58:13 -07:00
Jooyung Han
ca21643c32 Adding vintf fragment to the apex
Now vintf fragments can be embedded to APEX.

Bug: 239054171
Test: m check-vintf-all
Change-Id: I09a136915820fa4b34d4063f488dee4b8623a159
2022-10-20 16:49:21 +09:00
Jooyung Han
10b782484d Remove "rebootless" related stuff
The widevine apex is supposed to be installed in a "staged" way.

- apex_manifest: remove supportsRebootlessUpdate flag
- .rc: remove apex.com.google.android.widevine.ready=true

Bug: 243333942
Test: m
Change-Id: Ibb963937e6d8d889d9281d22972e12a148f59b94
2022-10-20 16:17:48 +09:00
Alex Dale
8451afe58a Merge "Android CDM: Removed secure stop tests." 2022-10-19 21:04:25 +00:00
Alex Dale
d027236719 Android CDM: Removed secure stop tests.
[ Merge of http://go/wvgerrit/158720 ]

Support for secure stop licenses have been dropped.  The MediaDRM
APIs have already documented their deprecation.  Before support can
be removed from the plugin and CDM core implementation, the tests
associated with them must be removed.

This CL removes secure stop tests from the Android CDM integration
test `request_license_test` and from the MediaDRM plugin test
`libwvdrmdrmplugin_hal_test` and `libwvdrmdrmplugin_hidl_test`.

Bug: 242289743
Test: libwvdrmdrmplugin_hal_test request_license_test
Change-Id: Idb7ee53ab8115ce9b9a173eaf0a00f54325863a2
2022-10-14 12:57:49 -07:00
Robert Shih
6dd81b195e libwvhidl@1.3.so: use static libprotobuf am: c09bb48955
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/20181997

Change-Id: If66684ca3c591d4d97337bc35d3ec79e48d7375e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-13 20:22:09 +00:00
Robert Shih
c09bb48955 libwvhidl@1.3.so: use static libprotobuf
libwvhidl picked from the following builds
(built from change 20109884):

+--------+--------------+
| arch   | build        |
+--------+--------------+
| arm    | ab/P41744857 |
| arm64  | ab/P41675377 |
| x86    | ab/P41675376 |
| x86_64 | ab/P41675378 |
+--------+--------------+

Ran patchelf to set DT_SONAME to libwvhidl@1.3.so

Bug: 249811494
Change-Id: I1ec8304bab4d81b958b6be056a0b32da386bc997
(cherry picked from commit 6bad0134d3c9ca8d479f121c71d66ac2d3e017b9)
2022-10-13 00:58:58 +00:00
Kyle Zhang
af0168dbed Merge cdm changes to android repo
Bug: 251924225
Test: GtsMediaTestCases
Change-Id: I1b4e64c0abf701fe1f5017f14dc72b72c3ea6770
2022-10-11 00:40:42 +00:00
TreeHugger Robot
3cfe7c7299 Merge "Use devkeys for widevine apex only if they are available" 2022-10-07 01:37:19 +00:00
Jooyung Han
b6f624e85a Use devkeys for widevine apex only if they are available
In partner branches devkeys are not available. Use devkeys only when
they are available. Otherwise, use testkeys.

Bug: 249309699
Test: m com.google.android.widevine
Change-Id: I75fd50fe78d0fd2e797275c50ddf00b116700178
2022-10-06 23:27:52 +00:00
Jeffrey Kardatzke
8f9f25ca35 libwvdrmengine: Change ChromeOS ro.product props to ro.vendor
As of Android T, these need to start with the ro.vendor prefix. We are
doing it now so we can update ChromeOS to be in sync for either version.

Bug: 237492145, 248584954
Test: No properties errors in logcat during playback
Change-Id: Ic6fac64e621be65385d16808dbef52914a66967a
(cherry picked from commit 28a040d407b28d24dd4d5496dd08cfa2f6579d71)
(cherry picked from commit a932781fcc7d2d89d73c546bf244399daf02f5ac)
2022-09-30 18:30:01 +00:00
Jooyung Han
56ee5f052c Merge "Configure WV HAL APEX to be updatable" 2022-09-26 07:15:37 +00:00
Jeffrey Kardatzke
ea5825643b Merge "libwvdrmengine: Limit custom property check to ChromeOS" 2022-09-23 21:26:24 +00:00
Wilson Sung
538313c903 Merge "Revert "Apply dev keys for signing widevine apex"" 2022-09-23 15:23:17 +00:00
Wilson Sung
a0834d473e Revert "Apply dev keys for signing widevine apex"
This reverts commit 33796a29cf.

Reason for revert: PDK BB
Bug: 248436066
Change-Id: Ib0073f96e7b0326898b2384ea4279833211b1ff0
2022-09-23 06:25:30 +00:00
Kyle Zhang
f1c1e13019 Merge "Apply dev keys for signing widevine apex" 2022-09-22 18:54:39 +00:00
Jooyung Han
b278b4170e Configure WV HAL APEX to be updatable
- add "supportRebootless" to apex_manifest.json
- add <allowed-vendor-apex> sysconfig
- add "on property:apex.com.google.android.widevine.ready=true" to .rc

Now, we can test `adb install` new version of the APEX and see the
service is restarted from the new version.

Note that this doesn't mean that DRM Framework works fine with the
update.

Bug: 248192031
Test: adb install --force-non-staged \
   -i com.android.vending \
   $OUT/vendor/com.google.android.widevine.apex
Change-Id: I7c41b224f0bb55742c0023c23196bba4a09e555f
2022-09-22 19:22:57 +09:00
Kyle Zhang
33796a29cf Apply dev keys for signing widevine apex
Bug: 243699259
Change-Id: Idaeb65ea29c6a62edac0e30e44d444415c528afb
2022-09-22 05:26:19 +00:00
Alex Dale
84badb3109 Merge "Create custom gtest matcher for similar URLs." 2022-09-21 00:52:32 +00:00
Jeffrey Kardatzke
06c1343153 libwvdrmengine: Limit custom property check to ChromeOS
We added custom properties that are only used on ChromeOS and to avoid
having to bloat the sepolicy for all of Android we are adding a check
here so that we only query the properties on ChromeOS based on the
bertha hardware property.

Bug: b:237492145
Test: Access denied message is gone w/ ExoPlayer
Change-Id: I3a5781ad980dfae2e16501b655386287b5e245b7
(cherry picked from commit 890f71ef367aed683a89892000e40d0e0ca6fbdd)
(cherry picked from commit 4379b0545a2ae866ba9fc315551a5534fa163924)
2022-09-19 16:52:24 +00:00
Bob Badour
dcc11d56cb [LSC] Add LOCAL_LICENSE_KINDS to vendor/widevine
Added SPDX-license-identifier-Apache-2.0 to:
  libwvdrmengine/apex/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Change-Id: Ibd3b1e73709de25ddfdddbdd2ecc56abe87a4c2f
2022-09-15 07:10:54 -07:00
Kyle Zhang
249404a8df Add widevine vendor apex
Bug: 243699259
Change-Id: Ie1ff0aa9c82f19e0c5412508ac6b67d9083c0cab
2022-09-14 05:31:29 +00:00
TreeHugger Robot
20388e323d Merge "Revert "Add widevine vendor apex"" 2022-09-13 19:35:10 +00:00
Kyle Zhang
eee0d4b88e Revert "Add widevine vendor apex"
Revert submission 19794159-wv-vapex

Reason for revert: Breaking build in branch ndk_translation_all
Reverted Changes:
I48004b8cb:Add widevine apex
Ifa5c1b621:Add widevine vendor apex

Change-Id: I056369265fb341d723b8ff31a0efd7ae3eeec0bb
2022-09-13 18:05:51 +00:00
Kyle Zhang
c68012cd2f Merge "Add widevine vendor apex" 2022-09-13 16:57:54 +00:00
Kyle Zhang
b9c4bfdaf7 Add widevine vendor apex
Bug: 243699259
Change-Id: Ifa5c1b621a9fc0b6d370124fad7de1334c537c65
2022-09-13 01:29:10 +00:00
Alex Dale
66a3ec64d2 Create custom gtest matcher for similar URLs.
[ Cherry-pick of http://ag/19893913 ]
[ Merge of http://go/wvgerrit/157098 ]

Several of the Android integration tests perform direct URL comparisons
between fixed URLs and the server URL returned by the CDM.  With
provisioning 4.0, the CDM will append additional query parameters to
the server URL.  This updated URL still contains all of the original
expected information, but with additional parameters.  So long as the
URL contains the required fields, any additional parameter should be
considered valid.

The gtest framework used by the integration tests allow for the
creation of custom "matchers", rules that can be used to validate data
and create informative failure logs.  The CL creates a new matcher for
checking that a tested URL is a superset of content of the expected
URL.

Bug: 244319313
Test: request_license_test on prov 4 device
Change-Id: Ie721058fa628b3a4a74dc56f4172a3dfcb1f1ef3
(cherry picked from commit fa8c0a9a62)
2022-09-09 22:57:14 +00:00
Tri Vo
f4732ee667 Merge "Use latest KM AIDL API" 2022-09-08 16:49:59 +00:00
Edwin Wong
c39a485e35 Merge "Rename aidl_ include and src directories." 2022-09-06 23:59:59 +00:00
Tri Vo
c46372cc57 Use latest KM AIDL API
This makes it easier to upgrade KM AIDL version.

Test: m android.hardware.security.keymint-service.widevine
Change-Id: I251d7f3222617cbb3ba8b084c146aeb629f8eb6f
2022-09-06 11:18:34 -07:00
Edwin Wong
e176b20509 Rename aidl_ include and src directories.
Test: unit tests
Test: Google TV and Netflix
Test: atest GtsMediaTestCases

Bug: 216527109
Change-Id: I3fd02c2c60da588dba3db27cea3593de25a7180f
2022-09-05 21:08:25 +00:00
TreeHugger Robot
ac23526e15 Merge "Revert "Rename aidl_ include and src directories."" 2022-09-02 18:28:20 +00:00
Edwin Wong
a7aa1c5013 Revert "Rename aidl_ include and src directories."
This reverts commit 5400741601.

Reason for revert: broke hidl build

Change-Id: I3954a1c0d6c0d7a663bd2a1c8c8888cae37cee80
2022-09-02 17:17:20 +00:00
TreeHugger Robot
3ec4679ff2 Merge "Allow running tests without test keybox." 2022-09-01 22:21:11 +00:00
Edwin Wong
5400741601 Rename aidl_ include and src directories.
[ Merged from http://go/wvgerrit/152549 ]

Test: unit tests
Test: Google TV and Netflix
Test: atest GtsMediaTestCases

Bug: 216527109
Change-Id: Id70e43315550508e6fedacfee4f4ec009a24d0e3
2022-09-01 19:01:23 +00:00