Commit Graph

6260 Commits

Author SHA1 Message Date
Edwin Wong
edad992f42 Merge "Only use libbinder_ndk for aidl service." into tm-dev am: f607802265 am: e72d16e49f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18092491

Change-Id: I33215173280f8dd3291b3700a0c1d3e380aa78de
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-05 18:49:36 +00:00
Edwin Wong
e72d16e49f Merge "Only use libbinder_ndk for aidl service." into tm-dev am: f607802265
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18092491

Change-Id: I8de18718e7dffdabc660223bf61b44f2780e62ce
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-05 18:23:20 +00:00
Edwin Wong
388ea1e988 Merge "Only use libbinder_ndk for aidl service." into tm-dev am: f607802265
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18092491

Change-Id: Iaea267d837a01a39ee5da93b2c0d69b1cc94ea4d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-05 18:21:33 +00:00
Edwin Wong
f607802265 Merge "Only use libbinder_ndk for aidl service." into tm-dev 2022-05-05 17:53:05 +00:00
Cong Lin
e2c6ceec3c Merge "Include SPOID in provisioning 4 request" into tm-dev am: e06c526d3b am: 2bc51795c9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18014492

Change-Id: I27e50e059191569aac92e1fc3c2b271c19acd681
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-05 15:43:28 +00:00
Cong Lin
209fd5bac3 Merge "Include SPOID in provisioning 4 request" into tm-dev am: e06c526d3b am: c23c689c0a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18014492

Change-Id: Ic25f6e9a6db42545daf97771b3cfeaf11d29acfb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-05 15:42:21 +00:00
Cong Lin
c23c689c0a Merge "Include SPOID in provisioning 4 request" into tm-dev am: e06c526d3b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18014492

Change-Id: Iab06782791e7761188a04970ece4fb5da155990e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-05 15:18:45 +00:00
Cong Lin
2bc51795c9 Merge "Include SPOID in provisioning 4 request" into tm-dev am: e06c526d3b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18014492

Change-Id: I6a5b61051507751917a30974b204c05aeef53635
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-05 15:17:21 +00:00
Edwin Wong
af5f57a46c Only use libbinder_ndk for aidl service.
[ Merged from http://go/wvgerrit/151169 ]

Test: Netflix and Google TV streaming and downloaded playback
Test: unit tests
Test: atest VtsAidlHalDrmTargetTest
Test: adb shell readelf -d /vendor/bin/hw/android.hardware.drm-service.widevine
Test: adb shell readelf -d /vendor/lib64/libwvaidl.so

Bug: 230791937
Change-Id: Ia60d9fc838bf228b40d99b076a837ae789fa2d03
2022-05-05 15:12:55 +00:00
Cong Lin
e06c526d3b Merge "Include SPOID in provisioning 4 request" into tm-dev 2022-05-05 14:56:01 +00:00
Alex Dale
1069ae39cc Resize OEMCrypto buffer-based results on success.
[ Merge of http://go/wvgerrit/151191 ]

Within the CDM and OEMCrypto tests, there were a few OEMCrypto function
calls where the final size of the output buffers were not being
resized.  For several of these functions, an initial call is made with
zero-length output buffers, expecting OEMCrypto to return
ERROR_SHORT_BUFFER; followed by a call with buffers at least as large
as specified by OEMCrypto.  However, for some operations, OEMCrypto
makes an estimate on the final size on the first call, specifying the
exact size only after performing the operations.

This is the case for the wrapped key returned by
OEMCrypto_LoadProvisioning().  The provisioning response contains a
padded + encrypted DRM key.  OEMCrypto does not know the actual size
of the key until decrypted, and the actual DRM key might be smaller.

There was a OEMCrypto test for OEMCrypto_BuildInformation() which
was enforcing the wrong behaviour.  This has been updated.

Bug: 230661565
Test: oemcrypto_test
Change-Id: Iad297d56ffbb085894641fdf8698ce5fd18edbf2
2022-05-04 21:32:08 -07:00
Vicky Min
ab3ee4d73c Fix TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths() am: 1563fb2a27 am: ad7a07b234
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18151647

Change-Id: I9228c47fe7d301029bc17aa2f8f5f00e0cad0376
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-04 15:35:09 +00:00
Vicky Min
edcd9fe9f1 Fix TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths() am: 1563fb2a27 am: 9c122a40ea
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18151647

Change-Id: I05d17d0d374871c5d9dbb81cc60954cb1c771186
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-04 15:35:00 +00:00
Vicky Min
ad7a07b234 Fix TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths() am: 1563fb2a27
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18151647

Change-Id: I8632a274c3ca239b4342a639d3566214a54dd689
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-04 15:10:57 +00:00
Vicky Min
9c122a40ea Fix TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths() am: 1563fb2a27
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18151647

Change-Id: I8de55fc7626dec605b18b5ccc1de1d51c65efed0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-04 15:09:39 +00:00
Vicky Min
1563fb2a27 Fix TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths()
In TestLoadLicenseForOutOfRangeSubStringOffSetAndLengths(),
LoadResponse() should be called after EncryptAndSignResponse() so this
is moved in this CL.

Bug: 231368221
Test: OEMCryptoMemoryLoadLicense tests
Change-Id: I7a0224afb21c3ab1d896ce3cfb64e1ad544a581a
2022-05-03 23:36:05 +00:00
Fred Gylys-Colwell
2899924d42 Update TestMaxDRMKeys to use 2048 bit keys only
Merge from Widevine repo of http://go/wvgerrit/151254

Test: Ran tests on reference oemcrypto
Bug: 228996670
Change-Id: I6ea69bad49fa2d4272fc8bb02895c17f314c7f49
2022-05-02 17:36:36 -07:00
Fred Gylys-Colwell
0d6fbb2d0e Restrict CAS unit tests to devices that support CAS
Merge from Widevine repo of http://go/wvgerrit/151253

This updates the OEMCrypto unit test filters to remove
CasOnly tests if the device does not implement the cas
function OEMCrypto_LoadCasECMKeys.

Test: unit tests on Luci
Bug: 221256887
Change-Id: I7026c4318153ada1d85055704e87b2cef397ffca
2022-05-02 15:41:52 -07:00
Lu Chen
534589fd2e Include SPOID in provisioning 4 request
Merged from https://widevine-internal-review.googlesource.com/148554

This change was merged to master but missed in tm-dev when we stopped
the auto merging to tm-dev. Manually cherry picked it.

Test: ran OPK unit tests
Bug: 230820162
Bug: 180530495

Change-Id: Ib23f07f84096650beb4dd1950105db01e004d484
2022-04-29 21:36:51 -07:00
TreeHugger Robot
5c089b687d Merge "Added mutex for reserved_license_ids_." into tm-dev am: da1e3c5de2 am: addc7921ce
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17919183

Change-Id: Icd408f6bf4212c75380adf09a48008fafc84893f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 20:13:26 +00:00
TreeHugger Robot
4d2d355983 Merge "Added mutex for reserved_license_ids_." into tm-dev am: da1e3c5de2 am: 0657c15214
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17919183

Change-Id: I52e282400d629b5964db5fb72dcc5ec5a4bd9246
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 20:12:21 +00:00
TreeHugger Robot
addc7921ce Merge "Added mutex for reserved_license_ids_." into tm-dev am: da1e3c5de2
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17919183

Change-Id: Ie9cdc9f0ea3e2ee6582f537f980bf55e94a10d8e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 19:56:05 +00:00
TreeHugger Robot
0657c15214 Merge "Added mutex for reserved_license_ids_." into tm-dev am: da1e3c5de2
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17919183

Change-Id: I97b0a7e61e52d14135e2ddd29e56da410cb88015
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 19:54:44 +00:00
TreeHugger Robot
da1e3c5de2 Merge "Added mutex for reserved_license_ids_." into tm-dev 2022-04-29 19:36:30 +00:00
John Bruce
5ebb827ecf Merge "First-stage Provisioning 4.0 client ID encryption" into tm-dev am: 7d78ce9ac8 am: 48a64d2240
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17949160

Change-Id: Id57a18e8d34d0ab41afa16b825242d4a591f8c1d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 19:19:27 +00:00
John Bruce
4812f775d8 Merge "First-stage Provisioning 4.0 client ID encryption" into tm-dev am: 7d78ce9ac8 am: 22d2ba8bf1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17949160

Change-Id: I28d73f99f951a7ac37607c97c0cc98f9bf264961
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 19:13:24 +00:00
Alex Dale
adff500240 Merge "Specify DRM certificate duration in tests." into tm-dev am: 38b639f920 am: e4cb3e49b1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17779678

Change-Id: I4362428aab8ee1b5ba0cbaa6ea635cd17d9f10d2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 19:03:45 +00:00
Alex Dale
05c41a56be Merge "Specify DRM certificate duration in tests." into tm-dev am: 38b639f920 am: cae67a0b19
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17779678

Change-Id: If611de42b11d4b61fcf0cb384d0d2b4d96c621be
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:52:29 +00:00
John Bruce
22d2ba8bf1 Merge "First-stage Provisioning 4.0 client ID encryption" into tm-dev am: 7d78ce9ac8
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17949160

Change-Id: I20a06b97e6cd2a97b688c744a73981fbe4c98700
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:05:10 +00:00
Alex Dale
e4cb3e49b1 Merge "Specify DRM certificate duration in tests." into tm-dev am: 38b639f920
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17779678

Change-Id: Ib0903a3afd461b8d053a5bbcc10533bd74f1f22a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:02:27 +00:00
John Bruce
48a64d2240 Merge "First-stage Provisioning 4.0 client ID encryption" into tm-dev am: 7d78ce9ac8
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17949160

Change-Id: I8497ffcc5af5f19727fdf5ff0b8d5034994e0f49
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:01:50 +00:00
Alex Dale
cae67a0b19 Merge "Specify DRM certificate duration in tests." into tm-dev am: 38b639f920
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17779678

Change-Id: Ie78be345758fc67e01f185a01fe91119abfb61e8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-29 18:00:18 +00:00
John Bruce
7d78ce9ac8 Merge "First-stage Provisioning 4.0 client ID encryption" into tm-dev 2022-04-29 17:38:39 +00:00
Alex Dale
38b639f920 Merge "Specify DRM certificate duration in tests." into tm-dev 2022-04-29 17:34:59 +00:00
Robert Shih
7c8c12797a Merge "WVCdm: no destroy global log buffer on exit" into tm-dev am: 5c38b38514 am: 71a89e2daa
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17570520

Change-Id: Id29cc4e198a89e52ddc88f91a1b9343850d871af
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 22:11:14 +00:00
Robert Shih
9a66b5a614 Merge "Widevine PRODUCT_PACKAGES makefiles" into tm-dev am: 3b44c810d6 am: 022c86d666
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17133103

Change-Id: I884a2db9719e069705e1ee422aa694ed3926dd3a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 22:10:49 +00:00
Robert Shih
965a198106 Merge "WVCdm: no destroy global log buffer on exit" into tm-dev am: 5c38b38514 am: 470f49f87c
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17570520

Change-Id: Icb1e0942b54fa39ffb541b22a04d0ab2ead8e917
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 22:09:13 +00:00
Robert Shih
34d9771f06 Merge "Widevine PRODUCT_PACKAGES makefiles" into tm-dev am: 3b44c810d6 am: fbec9a1c8b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17133103

Change-Id: Ifcd11fecace4529cac7053f4d44408980a2b4201
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 22:08:57 +00:00
Robert Shih
470f49f87c Merge "WVCdm: no destroy global log buffer on exit" into tm-dev am: 5c38b38514
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17570520

Change-Id: I57a2da0c868d7e26c655115a4f6bd08197d32d86
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 21:44:57 +00:00
Robert Shih
fbec9a1c8b Merge "Widevine PRODUCT_PACKAGES makefiles" into tm-dev am: 3b44c810d6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17133103

Change-Id: I8591e0f7fac5a499165ae45634d2989d54bdc06e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 21:44:32 +00:00
Robert Shih
71a89e2daa Merge "WVCdm: no destroy global log buffer on exit" into tm-dev am: 5c38b38514
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17570520

Change-Id: I75fff489cf7945b9aca39990ceea1ea34f08c35a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 21:43:30 +00:00
Robert Shih
022c86d666 Merge "Widevine PRODUCT_PACKAGES makefiles" into tm-dev am: 3b44c810d6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17133103

Change-Id: I7841f278f3e70bb0513c7bfa0b889e4f6a2b0376
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27 21:43:13 +00:00
Robert Shih
5c38b38514 Merge "WVCdm: no destroy global log buffer on exit" into tm-dev 2022-04-27 21:23:53 +00:00
Robert Shih
3b44c810d6 Merge "Widevine PRODUCT_PACKAGES makefiles" into tm-dev 2022-04-27 21:23:47 +00:00
Robert Shih
5a1d5e8837 WVCdm: no destroy global log buffer on exit
[ Merge of go/wvgerrit/149989 ]

Bug: 227848537
Change-Id: I9407b133654c20ddcd3c15404dd19b3719064e6e
Test: Irdeto monkey test
2022-04-26 16:57:13 +00:00
John "Juce" Bruce
c823a85e7d First-stage Provisioning 4.0 client ID encryption
(This is a merge of http://go/wvgerrit/150131 to the Android repo.)

This patch changes the code path in the CDM so that the first-stage
provisioning request for Provisioning 4.0 is always encrypted with the
Widevine service certificate instead of the client-set service
certificate, reflecting that the first-stage provisioning is always
handled by Widevine.

This patch also makes several methods on the ServiceCertificate class
const. This has no impact on their behavior.

Bug: 221443151
Test: prov40 tests
Change-Id: Ide4c3927afadcd45ae7fb629b99e2f55cc29d56e
2022-04-25 17:33:53 -07:00
Alex Dale
a80a9fef26 Added mutex for reserved_license_ids_.
[ Merge of http://go/wvgerrit/150630 ]

DeviceFiles uses a static variable for tracking license IDs which
have been reserved by a CDM session before officially storing the
license on the device.  This variable was not protected by a mutex,
and a rare race condition would arise, either crashing the service
or getting it stuck in a loop.

This CL adds a mutex for protecting the set of reserved IDs.

Bug: 226555704
Test: device_files_unittest
Change-Id: Icdea88673c76c267b4b7db79697ec52ae8e2581e
2022-04-22 13:53:11 -07:00
Robert Shih
b573e138ce Widevine PRODUCT_PACKAGES makefiles
Bug: 170611688
Bug: 228299194
Change-Id: I6f63e271f53cc76af91b4b8b6474e3a3e53ee800
2022-04-22 16:35:07 +00:00
Alex Dale
cc35c64757 Specify DRM certificate duration in tests.
[ Merge of http://go/wvgerrit/150350 ]

Certain integration tests were depending on the provisioning server
only sending short duration (~2 minute) certificates when testing
the CDM's ability to enforce expiration periods.  This behavior of
the server was not reliable, resulting in device test failures from
server behavior changes.

The DRM certificate provisioning server allows the requester to
optionally provide a desired certificate duration in the request
URL.  The tests which test the CDM's ability to enforce certificate
durations will now explicitly specify the certificate duration
required by the test.

Bug: 228547158
Test: request_license_test
Change-Id: Ib9ebfdba1451104be0e59baca0b2f23a94cd51e6
2022-04-15 20:14:51 -07:00
Edwin Wong
56d976fec6 Merge "Add unit tests for AIDL service" into tm-dev am: 47ebc28f6a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17641620

Change-Id: Icb4f82445784ecf441355f9ba12ad2071776582d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 17:49:07 +00:00