Commit Graph

3299 Commits

Author SHA1 Message Date
Kyle Zhang
1ca62c9275 Drop Widevine apex prebuilt files for release 12934205
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=342710000
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=342710000
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=342710000
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=342710000
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=342710000
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=342710000
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=342710000
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=342710000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

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

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

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

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

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

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

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

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

The change is generated with prebuilt drop tool.

Change-Id: Id06e9e7f40944a9693ab6f3dda97b47fba9c63c6
2025-01-21 18:54:15 +00:00
Alex Dale
2dabb89aca Trim trailing zeros from build information.
[ Merge of http://go/wvgerrit/212252 ]

Certain OEMCrypto implementations are returning build info with
trailing C-string null bytes; others are returning all null bytes.

This change attempts to trim any trailing zeros.  For build info
with a single trailing zero, this should fix the format; for those
containing all zeros, this will indicate a failure on OEMCrypto's part
for returning all zeros.  The CDM will not prevent request generation,
but will omit the result in the ClientIdentification.  The server
will decide whether to provide a response or not.

Bug: 348497732
Bug: 348498112
Bug: 366819137
Change-Id: I281ab14e0e46116825321a7965d971b9d68c49fc
(cherry picked from commit 7c81f7bed4fec8199f7fbdb5e95452eacdf3b3c7)
2025-01-08 11:20:32 -08:00
Treehugger Robot
a886b3764b Merge "Fix key type used in InstallOemPrivateKeyCanBeUsed test" into udc-widevine-dev 2024-12-03 19:10:33 +00:00
Alex Dale
aeae529c10 Ignore certain errors on RemoveOfflineLicense().
[ Merge of http://go/wvgerrit/209671 ]

The CDM API RemoveOfflineLicense() is used to remove an offline
license by key set ID.  From the app's perspective, removing the
offline license should not depend on an app to be provisioned, or
the license being loadable.  However, internally, the CDM attempts
to restore the license to lock out its usage entry.

An issue arises when the license is not able to be restored, which
will cause errors related to the restoration to be returned to the
app.  The license is still deleted in case of errors, but certain
partners have experienced GTS failures when using the MediaDRM API
removeOfflineLicense().

This change attempts to catch some of the common errors, but not all.
If certain errors are encountered during the restoration process, the
are not returned to the app.

Additional error cases may be added later, depending on vendor
feedback.

Bug: 319055420
Bug: 357863269
Bug: 370195605
Bug: 288118860
Bug: 302049654
Bug: 346845333
Bug: 312595506
Bug: 345232142
Bug: 303261245
Bug: 287735498
Bug: 372105842
Test: WVTS on Oriole
Change-Id: I020bbea30e5f6e0ae2777d8a1d4858c4f2af107b
2024-11-19 18:33:42 -08:00
Alex Dale
528645f5ab Patch Android FileSystem::List for non-existing directory.
[ Merge of http://go/wvgerrit/209670 ]

The Android FileSystem implementation for List() would return an error
if the directory does not exist.  This creates an issue for the case
where the CDM attempts to list offline licenses after clearing all
data.  This typically won't effect a regular user, it causes
integration tests which re-provision to fail.

Bug: 372105842
Test: file_store_unittest on Oriole
Change-Id: I121b52ab95e36249ae5b196e987bc950a278131f
2024-11-19 18:33:36 -08:00
Kyle Zhang
e6b9669255 Add missing OEMCrypto metrics to WVDRM metrics adapter.
1. oemcrypto_prep_and_sign_provisioning_request_time_us
2. oemcrypto_prep_and_sign_license_request_time_us
3. oemcrypto_prep_and_sign_renewal_request_time_us
4. oemcrypto_load_license_time_us

Bug: 379352348
Change-Id: Ieb299b82f5dfa4b9b84e9261c05decd073736528
2024-11-19 22:42:32 +00:00
Treehugger Robot
c8fc23126e Merge "Skip entitlement session test that is only supported on CAS devices" into udc-widevine-dev 2024-11-19 18:18:55 +00:00
Treehugger Robot
d966955ddb Merge "Remove RSAPerformance test" into udc-widevine-dev 2024-11-19 18:17:56 +00:00
Treehugger Robot
6246eb6b24 Merge changes Ia70e3fd7,I601c332e,I1513f869 into udc-widevine-dev
* changes:
  Fix clear lead integration tests
  Skip RenewOnLicenseLoad test when not viable
  Fix LicenseRenewalSpecifiedServer for SDK servers
2024-11-19 18:16:55 +00:00
Alex Dale
bc4382b075 Cleaned up file_store_unittest.cpp
[ Merge of http://go/wvgerrit/209590 ]

The filestore unit tests have not been updated in a while, and
contained several test statements which could crash the test
when failed (accessing elements in a vector or characters in a
string without proper size checks).  Other parts of the tests
had non-obvious purposes without detailed knowledge of how the
file system works on the different platforms.

Significant parts of the tests have been refactored to include
better checking and to add error messages to explain the
expectations.  Several of the tests have been documented, and the
FileSystem header has been updated to explain what the API does.

Bug: 376533901
Test: file_store_unittest on Oriole
Change-Id: I5af9fd2a2ed01aa6186026761c9e0814604ec610
2024-11-08 14:29:34 -08:00
Kyle Zhang
f80e6667f3 Drop Widevine apex prebuilt files for release 12490387
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=342415000
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=342415000
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=342415000
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=342415000
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=342415000
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=342415000
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=342415000
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=342415000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

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

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

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

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

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

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

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

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

The change is generated with prebuilt drop tool.

Change-Id: Idb5255f4f1b25477deaecf487cdbbe35bd8f90e0
2024-10-14 17:18:34 +00:00
Kyle Zhang
c7b46a1119 Merge "Revert "Limit output buffer size during decrypt fallback"" into udc-widevine-dev 2024-10-11 19:18:10 +00:00
Kyle Zhang
79ab04a34e Revert "Limit output buffer size during decrypt fallback"
This reverts commit df29c42108.

Reason for revert: b/372348308

Change-Id: Ib87b0f3045f9962a3cc0bf725cf535a3409fe5bd
2024-10-11 18:05:18 +00:00
Alex Dale
0aa6aad1af removeOfflineLicense() respects plugin security level.
[ Merge of http://go/wvgerrit/208116 ]

The MediaDrm plugin API removeOfflineLicense() would check both
L1 and L3 for the offline license.  While this is generally acceptable,
apps might force set L3 via the setStringProperty(), which should
cause the DRM plugin to behave as if it is L3 only.

This change will cause the WVDrmPlugin only remove L3 key set IDs while
in L3 mode.  L1 key set IDs in this case will be treated as non-existing.

Bug: 357863269
Bug: 372105842
Test: DRM Compliance ATP via ABTD
Test: libwvdrmdrmplugin_hal_test on Oriole
Change-Id: I81dddbacaee28da6c0a94527b0e390e86f55f81f
2024-10-10 14:06:21 -07:00
Alex Dale
26b888b094 getOfflineLicenseKeySetIds() respects plugin security level.
[ Merge of http://go/wvgerrit/208155 ]

The MediaDrm plugin API getOfflineLicenseKeySetIds() was listing
both L1 and L3 offline licenses.  While this is generally acceptable,
apps might force set L3 via the setStringProperty(), which should
cause the DRM plugin to behave as if it is L3 only.

This change will cause the WVDrmPlugin list L3 only if the app had
set the security level to L3.

Bug: 357863269
Bug: 372105842
Test: DRM Compliance ATP via ABTD
Test: libwvdrmdrmplugin_hal_test on Oriole
Change-Id: I1a6e10b7eb880eef4ba36ed31b12ebfe8617f002
2024-10-09 14:44:41 -07:00
Cong Lin
077594eb2e Fix key type used in InstallOemPrivateKeyCanBeUsed test
Merge of https://widevine-internal-review.git.corp.google.com/c/cdm/+/208110

Signature is generated from public_key1, so we should use key_type1 for
signature verification.

Test: opk_ta_p40
Bug: 355011375
Change-Id: If532f3814c7a4b7899d574fc09d3d09b9bb18976
2024-10-08 18:06:06 +00:00
Alex Dale
d4e11f1727 Update test data for entitled license test
[ Merge of http://go/wvgerrit/199355 ]

A new set of license data was created on UAT so that we
could have keys that match those in the license returned by
a License SDK and by those generated by UAT.

It should be more clear now which data is just made up, and
which data has to match some golden values based on the made
up data.

Bug: 338323091
Test: WVTS
Change-Id: Ic112b4594afb99c6f43e011f59ee7592d4809189
2024-10-03 14:29:37 -07:00
Alex Dale
b8a80cf3e8 Fixed HLS parsing of bad content IDs.
[ Merge of http://go/wvgerrit/207456 ]

When parsing Widevine's HLS key data, the key details are contained
in a data URI in the HLS X-KEY URI field.  The data of the URI is a
base64 encoded JSON object, containing the information required to
generate the license request.  The "content_id" field of the JSON
object is expected to be a base64 encoded; however, the HLS parser
did not verify that the decoding was successful.  In the event that
was not successful, the decoder would return an empty string, which
the parser would attempt to access the first element by reference
which may be a null reference.

In C++, creating a reference from a null point (without actually
accessing the value) is undefined; however most C++ implemenations
will not cause a segment fault; but it is not guarenteed by the
standard.

This change checks if the decoding was successful before attempting
to store the decoded "content_id" value.

A unit test is added to ensure that a parser fails gracefully.

Bug: 356210640
Test: HlsParseTest.BadHlsData_InvalidContentId
Change-Id: Ie2ad42d69953258659178dd1464d830b2723c6c7
2024-10-01 18:53:23 -07:00
Kyle Zhang
2c533e71d0 Drop Widevine apex prebuilt files for release 12435096
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=342410000
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=342410000
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=342410000
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=342410000
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=342410000
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=342410000
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=342410000
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=342410000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

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

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

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

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

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

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

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

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

The change is generated with prebuilt drop tool.

Change-Id: I73392e1681893665c4140f0e45901a6af2cdc0a0
2024-10-01 08:05:28 +00:00
Kyle Zhang
816791aac2 Merge "Remove level1_failed_ cache" into udc-widevine-dev 2024-09-30 19:13:54 +00:00
Cong Lin
881b7236f4 Fix a naming issue to reduce confusion in cast test
Merge of https://widevine-internal-review.git.corp.google.com/c/cdm/+/206706

Change "digest" to "prefix".

Test: run_fake_l1_tests
Change-Id: I4205367c9a77979992130f4e2aeca90e761e2616
2024-09-12 17:45:54 +00:00
Cong Lin
80fedfcd2f Fix test message format for cast receiver
Merge of https://widevine-internal-review.git.corp.google.com/c/cdm/+/206071

Message to be signed by CAST funciton is supposed to be in a certain
format: "constant prefix + SHA1(message)".

Some of our current CAST tests uses random message which break this
specification. This fixes the input message.

Test: Cast tests with run_fake_l1_tests
Bug: 359893908
Change-Id: I6b318d749971d837f13daa7b147313e8e0b1d3d0
2024-09-12 17:43:41 +00:00
Vicky Min
6cef431276 Allow key_session to be set to oec_session when creating entitled key
session

Bug: 358042250
Change-Id: If636f252aec6c95e23a91ee410f9cadf0ebad5d9
(cherry picked from commit 232d01b83abb6fe9ff9f4148bf79dc5dab8ee946)
2024-09-09 18:01:56 +00:00
Rahul Frias
d63811fa6e Merge "Add OEMCrypto_WrapClearPrivateKey()" into udc-widevine-dev 2024-08-17 17:23:21 +00:00
Matt Feddersen
77e8597bf9 Add OEMCrypto_WrapClearPrivateKey()
Bug: 306059409
Test: WVTS

Change-Id: Ifce5824b455c276c6fc0753de7932a5b69dffd1f
(cherry picked from commit f4679aac18de5dbe2bc22501294e719a55d51199)
2024-08-15 01:37:30 -07:00
John W. Bruce
df29c42108 Limit output buffer size during decrypt fallback
This is based on a patch submitted by Amlogic.

When we're doing decrypt fallback, either in the CDM or the OEMCrypto
tests, we sometimes fall back to a point where we're synthesizing new
samples and/or subsamples for the content being decrypted. When this
happens and the output buffer is clear, we should limit the size of the
output buffer to only the space needed to hold the output.

Previously, we've been passing the entire output buffer to every call.
This can create a problem if the reason for the fallback is a lack of
enough memory to communicate the buffers to the TA, since the output
buffer will remain the same size as the total output. Restricting the
buffer passed to each call to only the space needed by that call will
reduce the memory requirement.

Cherry-picked from http://go/wvgerrit/205311

Bug: 354834629
Test: x86-64
Merged from https://widevine-internal-review.googlesource.com/204810

Change-Id: I412f43d8f88c72072ef1dd5293436bdb58e500b3
2024-08-14 00:40:35 +00:00
John W. Bruce
48388efcf4 Increase size of BCC buffer in OEC tests
We are receiving reports from partners in the field that they are
failing the OEMCrypto tests only because the tests assume the BCC will
fit into 5k of memory but their BCC is nearly 8k in size.

This patch increases the buffer to 10k.

Cherry-picked from http://go/wvgerrit/205312

Bug: 354834629
Test: x86-64
Merged from https://widevine-internal-review.googlesource.com/204773

Change-Id: I360196518b7651139c003505253d1aed6a0c3907
2024-08-14 00:40:35 +00:00
John W. Bruce
0f28592676 Remove OEMCryptoLicenseTest.RejectCbc1API16
This test should have been removed in v17, when we allowed this pattern
to be used with cbcs. Although we can't start enforcing the correct
behavior until v20 now, we can remove enforcement of the incorrect
behavior.

Cherry-picked from http://go/wvgerrit/205310

Bug: 356173926
Merged from https://widevine-internal-review.googlesource.com/204832

Change-Id: Idc6e3109286daabb83874d52ad3abaff5e14badb
2024-08-14 00:40:30 +00:00
John W. Bruce
6089f50d28 Fix OEMCrypto documentation for (0,0) patterns
The docs on OEMCrypto_DecryptCENC() weren't updated correctly when we
allowed the (0,0) pattern in v17. This patch brings the header docs
in-line with the handwritten part of the devsite documentation.

Merged from http://go/wvgerrit/204611

Bug: 336330529
Change-Id: Ic6c81d8f04904b83c34fbc0235ebbae8705a4182
2024-08-01 16:29:37 +00:00
Vicky Min
f9049a58ed Update DecryptZeroSizeSubSample test to accept success or error
Bug: 338010108
Merged from https://widevine-internal-review.googlesource.com/198002

Change-Id: I52c72a5c1a287e8556a243b6072faf23ce4bbdad
(cherry picked from commit 8b806d128e450ab0bf9cba17e21b5ed5ff97c277)
(cherry picked from commit 1c6ec56725)
2024-07-19 15:55:20 +00:00
Alex Dale
9b3d1b24b7 Improved SystemIdExtractor's opened/closed session behavior.
[ Merge of http://go/wvgerrit/200415 ]

UDC specific: No DRM reprovisioning support

The SystemIdExtractor did not properly define behavior when working
with opened/closed CryptoSessions.  Due to the CryptoSession's class
dual role of being both a session and a general handle into the
crypto engine, small bugs relying on undefined behavior which happened
to return expected output allowed tests to pass.

This CL makes the following changes:
1) Have SystemIdExtractor verify caller expectations when session is
   open.
2) Improved SystemIdExtractor to operate when CryptoSession is opened
   or closed.
3) Updates several SystemIdExtractorTest cases to better test defined
   behavior without relying on undefined behavior.
4) Better code comments; hopefully some which will help prevent future
   misuse of the internal APIs.

Test: system_id_extractor_unittest on Oriole
Test: WVTS on oriole
Bug: 329713288
Change-Id: I65518fe62f43e8060ea752852eb08a3d7132e2a0
2024-07-01 13:45:02 -07:00
Robert Shih
3623c19c4b Remove level1_failed_ cache
Bug: 313497311
Test: Samsung QA
Change-Id: Ic3bddf5340f37a19bd44800681fec6f0c0520d19
2024-06-24 20:29:55 +00:00
Kyle Zhang
b47eb3ffbd Drop Widevine apex prebuilt files for release 11868851
Note: Apexes in this change are signed with different release key than previous versions.

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=341910000
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=341910000
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=341910000
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=341910000
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=341910000
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=341910000
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=341910000
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=341910000
versionName=
platformBuildVersionName=UpsideDownCake
compileSdkVersion=34
compileSdkVersionCodename=UpsideDownCake
sdkVersion:34
targetSdkVersion:34

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

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

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

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

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

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

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

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

The change is generated with prebuilt drop tool.

Bug: 343556226
Change-Id: Ie0ca9d28ce66d831dba19a99316e252b587b1464
2024-06-04 18:06:04 +00:00
Cong Lin
a65f9d8806 Re-generate Android U L3 after renewal policy fix
Merge of
https://widevine-internal-review.git.corp.google.com/c/cdm/+/198672

Fix to L3 renewal policy bypass attack:
OEMCrypto_DeriveKeysFromSessionKey cannot be called after a license is
loaded.

System IDs:
build_arm_u_2024() { build_arm_with_id 34136; }
build_arm64_u_2024() { build_arm64_with_id 34137; }
build_x86_u_2024() { build_x86_with_id 34138; }
build_x86_64_u_2024() { build_x86_64_with_id 34139; }

Test: tested with
https: //widevine-internal-review.git.corp.google.com/c/cdm/+/196392
Test: run_level3_static_tests
Test: run wvts on Pixel7
Bug: 334154045
Change-Id: I3ffad1ccec288d89456db98a2055d453f571fb5c
2024-05-17 21:50:51 +00:00
Vicky Min
1eb9710080 Skip entitlement session test that is only supported on CAS devices
Bug: 335398236
Change-Id: I7f67dfbc8725cbe0a67d8eda082fa184286d2e84
(cherry picked from commit a35129440254c91a261903e499e3f2417425cfb0)
(cherry picked from commit 87d58f48d62dbc4cdbb6c2af1c5a7bda2e209efa)
2024-05-12 23:10:37 -07:00
Vicky Min
66cb747792 Remove RSAPerformance test
Bug: 336702087
Change-Id: I4e12ee2c43b964aa44aa6fefe9cb838d314018ab
(cherry picked from commit c84e8a09a63a791d7902c5838c81156dfd948f7e)
2024-05-12 22:51:57 -07:00
Vicky Min
38dd9897f3 Fix clear lead integration tests
The original clear lead integration tests weren't following the flow of
the original bug because there was only one sample, so
DecryptMultipleSamples wasn't being called in the same way. This should
fix this.

Bug: 320785945
Change-Id: Ia70e3fd78381d8d34261b95931fdb303f77f73fd
(cherry picked from commit 4141e271d44c32da88dc0f02a0173fae0b45ead9)
2024-05-12 22:46:37 -07:00
Fred Gylys-Colwell
0971a805f0 Skip RenewOnLicenseLoad test when not viable
The feature RenewOnLicenseLoad is not expected to work for an offline
license when the device has no usage table.


Bug: 310498829
Change-Id: I601c332ed6cd17f9682082ea6acda7e67492b381
2024-05-12 22:41:02 -07:00
Fred Gylys-Colwell
ca20d3255e Fix LicenseRenewalSpecifiedServer for SDK servers
The test only needs to verify that the license has a renewal
server url. It does not need to fetch a renewal from that url.

bug: 338103523
Merged from https://widevine-internal-review.googlesource.com/197955

Change-Id: I1513f8692089c3f51a53ffd6ecb62348702b8fb8
2024-05-12 20:12:15 -07:00
Vicky Min
a7a1d49256 Integration tests to verify clear lead content plays successfully
Also added a unit test to verify that decryption without a license fails
with the correct error code. Also changed comment types for policy
integration tests and core integration tests to be picked up by Doxygen.

Bug: 320785945
Merged from https://widevine-internal-review.googlesource.com/194910

Change-Id: Ibdb70683003bb430dde9b4a1bd9fc9839bace342
(cherry picked from commit d05d3738b4)
2024-04-04 17:40:31 +00:00
Treehugger Robot
1552592420 Merge "Do not fall back to L3 if L1 has test keybox" into udc-widevine-dev 2024-03-27 19:23:44 +00:00
Fred Gylys-Colwell
608c278be0 Reduce clock skew in flaky duration tests
There are three changes here that should help reduce the
amount of duration test failures caused by clock skew.

First, we reported some skew when the test expected playback
to start immediately after loading the license. However,
with round-off, this could easily be more than 1 second. So
this does not warrent even a warning.

Second, the fake and real clocks were only synced after
computing how long to sleep. This is fixed by moving
SleepUntil to the TestSleep class and having it sync before
computing the delta and after doing the sleep.

Third, I am guessing that some failures due to unexpected
lenience were caused by the rental or playback clock being
started at the end of signing the license or the end of the
first decrypt instead of the beginning. We work around this
by recording how long these operations take, and then adding
this extra time at the end of the check for FailDecrypt.

Bug: 275003529
Bug: 279249646
Bug: 207500749
Test: Luci tests
Change-Id: I6a973565edfbebca53ee7f239b4b93f8f73d1e0a
2024-03-27 03:19:22 +00:00
Alex Dale
d098c7df56 Merge "Update support for HDCP levels on Android and CE CDM." into udc-widevine-dev 2024-03-25 21:21:05 +00:00
Treehugger Robot
170b2bcc93 Merge "Revert CDM changes from oemcrypto 18.4" into udc-widevine-dev 2024-03-25 05:50:59 +00:00
Alex Dale
a19e487c47 Update support for HDCP levels on Android and CE CDM.
[ Merge of http://go/wvgerrit/194930 ]
[ Cherry-pick of http://ag/26577931 ]

OEMCrypto v17 introduced higher granularity in the device's HDCP V1
levels.  Previously, all HDCP v1.x were group together.  The change
was aimed towards server policy enforcement, not device enforcement.

Core code was updated, and could then be reflected in license
requests; however, reporting the new v1.x subversions was never
exposed to the higher app layers.

It is likely that devices which attempted to use specific 1.x versions
encountered test failures (for both CE CDM and Android CDM) as neither
implementations could handle such versions when communicating with
the app.

This change updates both CE CDM and Android CDM:
1) The CE CDM now uses the same subversion version comparisons as
   performed by the core code.
2) The Android CDM will now recognize new HDCP levels, and not return
   unexpected values.

Bug: 329155501
Test: run_x86_64_tests
Test: request_license_test on Oriole
Change-Id: I61fc0f11808f594456bd00210fd9b2bb5ed16c0e
2024-03-21 14:13:41 -07:00
Treehugger Robot
8d23655439 Merge "Fix default cipher mode for CAS unit test" into udc-widevine-dev 2024-03-20 19:39:12 +00:00
Alex Dale
bb71b1261e Reset crypto session pointers on RemoveKeys.
[ Merge of http://go/wvgerrit/189650 ]

The CDM session shares its CryptoSession instance with a few additional
member objects (CdmLicense and PolicyEngine).  When the CDM session's
crypto session is reset, it must also reset the CdmLicense and
PolicyEngine otherwise, a potential stale pointer reference may occur.

Test: request_license_test on Oriole
Test: WVTS on Oriole
Bug: 311239278
Change-Id: Ie175513ae652dcd96e12e5e1def574a8a56d5863
2024-03-18 16:24:47 -07:00
Kyle Zhang
069782c6f6 Do not fall back to L3 if L1 has test keybox
ag/26105061 accidentally reverted some of these changes so I am pushing
up another patch to add them back in.

[ Merged of go/wvgerrit/186370 ]

CDM by default allows test keybox from device side.

Bug: 299987160
Bug: 301669353
Change-Id: I6acf93c78f76a13f2c4539aabfd0262670b54c48
2024-03-18 16:47:44 +00:00
Cong Lin
89871ba834 Fix default cipher mode for CAS unit test
Merge of
https://widevine-internal-review.git.corp.google.com/c/cdm/+/193670

Default to OEMCrypto_CipherMode_CBC instead of OEMCrypto_CipherMode_CENC
which is not used by CAS.

Test: CAS unit tests
Bug: 325639114
Bug: 322928572
Change-Id: I8876d5262643015fb6a322eae6444ef4001d146d
2024-03-15 17:30:19 +00:00
Vicky Min
7fd4541eab Call CopyBuffer in Decrypt if key handle is empty
(Merged from go/wvgerrit/193672)

Bug: 320785945
Test: GTS + unit tests
Change-Id: I4a0c7568bf8323187f1156874ea98718511120f4
2024-03-13 18:51:44 +00:00