Commit Graph

6683 Commits

Author SHA1 Message Date
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
Alex Dale
f696a48318 Logging CDM session ID on Decrypt() failures.
[ Merge of http://go/wvgerrit/149690 ]

This changes extends the CryptoSession logging to include the OEMCrypto
session ID in its decrypt failure logs, and adds a new CdmSession
decrypt failure log which includes the CDM session ID.  The CDM session
directly maps to the MediaDRM session ID, making app debugging easier.

The Decrypt() code pathway is one of the most frequently called
portions of the CDM code, and the pathway attempts to make as few
logging calls as possible in order to keep latency low and log
verbosity to a minimum.  It is anticiapted that when a call to
Decrypt() fails, there will be a burst of failures as the app may
make several calls to Decrypt() before handling the first decrypt
error.

To keep logging low, the following rules are followed:
- CryptoSession: decrypt errors are only logged when the decrypt error
  changes.
- CdmSession: decrypt errors are only logged when the last call to
  decrypt had succeeded.

Bug: 183984396
Test: MediaGTS with decrypt failures
Change-Id: Ic6124646d129efbc8a690b5bfd4dc422e04e677b
2022-04-26 21:23:12 +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
a9fb043c6d Merge "Add unit tests for AIDL service" into tm-dev am: 47ebc28f6a am: 56d976fec6 am: e3e1e770c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17641620

Change-Id: Ic3a3aa95aedb60b8433dd3738e5f2f6a9216d8cb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 18:39:58 +00:00
Edwin Wong
5f12f00956 Merge "Add unit tests for AIDL service" into tm-dev am: 47ebc28f6a am: 6ea9e7212b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17641620

Change-Id: I9acc2ec4cbc5673a0c515da1aabccb62e4f00fef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 18:24:47 +00:00
Edwin Wong
e3e1e770c1 Merge "Add unit tests for AIDL service" into tm-dev am: 47ebc28f6a am: 56d976fec6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17641620

Change-Id: I7fdcd69c46135f2179a01e6eaec19b6d59595872
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 18:16:31 +00:00
Edwin Wong
6ea9e7212b 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: I3bc1fe88cb20d250f16b652e2a0d214adf240d0f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 18:07:07 +00: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
Edwin Wong
47ebc28f6a Merge "Add unit tests for AIDL service" into tm-dev 2022-04-14 17:26:44 +00:00
Alex Dale
7233b09aca Added OTA Keybox stress test. am: 8cab20c0c5 am: 5fb6be161e am: ed5d7da8e7
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17549231

Change-Id: Ic4e329106a1b62e6ce90d551285798f8307ad34c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-13 02:30:21 +00:00
Alex Dale
5dec86a191 Added OTA Keybox stress test. am: 8cab20c0c5 am: 6989567e5e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17549231

Change-Id: I1d108e072004782a9b97338ec5530bffef470953
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-13 01:23:58 +00:00
Alex Dale
ed5d7da8e7 Added OTA Keybox stress test. am: 8cab20c0c5 am: 5fb6be161e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17549231

Change-Id: I0032ab0758e650f5db2ab833b8dd4c16d799807a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-13 01:23:41 +00:00
Alex Dale
5fb6be161e Added OTA Keybox stress test. am: 8cab20c0c5
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17549231

Change-Id: Id9068c7e935ecd5a7a0475da99db3dba48dac874
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-13 00:59:33 +00:00
Alex Dale
6989567e5e Added OTA Keybox stress test. am: 8cab20c0c5
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17549231

Change-Id: Ifdf69d27cde619bd757445f10221c3cee5b590ed
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-13 00:58:28 +00:00
Edwin
fbacdc687f Add unit tests for AIDL service
[ Merged from http://go/wvgerrit/150029 ]

Test: m libwvdrmengine_hal_test -j128
Test: m libwvdrmengine_hal_test WV_UNITTESTS_BUILD_TARGET=hidl -j128
Test: adb push $(OUT)/data/nativetest/libwvdrmengine_hal_test /data/nativetest/.
Test: adb shell  LD_LIBRARY_PATH=/vendor/lib64 /data/nativetest/libwvdrmengine_hal_test

Bug: 217247987
Change-Id: Ib4f22c976b8ae6c2983cb611a958ddc3a29aebdb
2022-04-11 11:38:15 -07:00
Alex Dale
8cab20c0c5 Added OTA Keybox stress test.
[ Merge of http://go/wvgerrit/149469 ]

Created a new test for stressing OEMCrypto's ability to generate
OTA Keybox provisioning requests.  This forces the TA to retrieve
keys from KM, generate certificate and sign the request.  This is
intended to find any unexpected system degradation within the
device's TA(s).

Bug: 227542259
Test: oemcrypto_test
Change-Id: Ib34f2f801a7fe74ca67aa0a16f68f9ae326de24e
2022-04-04 13:44:10 -07:00
Alex Dale
81d5df3858 Merge "Added CDM support for Watermarking reporting." into tm-dev am: b3a5117b82 am: bc48ab4899 am: b7d5642a22
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17364417

Change-Id: I09e5b5d904251ae0ef36220fbf5df60c2d0c77e5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-02 01:49:04 +00:00
Alex Dale
b7d5642a22 Merge "Added CDM support for Watermarking reporting." into tm-dev am: b3a5117b82 am: bc48ab4899
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17364417

Change-Id: Icdad7ff12dae7d42e0c8fa46fb8acba11983f07d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-02 01:35:37 +00:00
Alex Dale
c3125d8320 Merge "Added CDM support for Watermarking reporting." into tm-dev am: b3a5117b82 am: f0de58c431
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17364417

Change-Id: Ic8673e2b3ae269b71612f6bb6beed7d0e7a67579
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-02 01:35:11 +00:00
Alex Dale
bc48ab4899 Merge "Added CDM support for Watermarking reporting." into tm-dev am: b3a5117b82
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17364417

Change-Id: I9fdd01d9bab233e381704e4150519981410fb58e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-02 01:20:55 +00:00
Alex Dale
f0de58c431 Merge "Added CDM support for Watermarking reporting." into tm-dev am: b3a5117b82
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17364417

Change-Id: I34c5ae4144472e9fa3c9f05b721dee0c58d08d50
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-02 01:19:58 +00:00
Alex Dale
b3a5117b82 Merge "Added CDM support for Watermarking reporting." into tm-dev 2022-04-02 01:07:07 +00:00
Alex Dale
4b8ea5e9d6 Merge "Reset UsageTableHeader when re-init for tests." into tm-dev am: b3a5a656af am: 23d6263b6a am: 575ad3d377
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17511529

Change-Id: If20c5d6339dc0cd04b5e6f9e674b448d95d2ac10
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-01 22:13:05 +00:00
Alex Dale
575ad3d377 Merge "Reset UsageTableHeader when re-init for tests." into tm-dev am: b3a5a656af am: 23d6263b6a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17511529

Change-Id: Iec3779c7bf50028926777ad59a35309d323f0a15
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-01 21:42:29 +00:00
Alex Dale
46ce5b68b7 Merge "Reset UsageTableHeader when re-init for tests." into tm-dev am: b3a5a656af am: 06cddd75a3
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17511529

Change-Id: Id08746db95b09f977f61bdab79a5e43214ebf118
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-01 21:42:02 +00:00
Alex Dale
23d6263b6a Merge "Reset UsageTableHeader when re-init for tests." into tm-dev am: b3a5a656af
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17511529

Change-Id: I15c3516dcc0ae0ee0351febd2709c0e59e588c09
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-01 21:29:17 +00:00
Alex Dale
06cddd75a3 Merge "Reset UsageTableHeader when re-init for tests." into tm-dev am: b3a5a656af
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17511529

Change-Id: Ie54ef2d4d1e35164b64d3b7de505a26beaeabb25
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-01 21:28:22 +00:00
Alex Dale
97f3544866 Added CDM support for Watermarking reporting.
[ Merge of http://go/wvgerrit/148552 ]

Extended the CDM layer to report OEMCrypto's watermarking support.
The reporting of watermarking comes in three (3) mechanisms:
1) ClientCapabilities in license requests
2) CryptoSession metrics when queried to OEMCrypto
3) String property query by apps

If OEMCrypto implementents OEMCrypto_GetWatermarkingSupport(), then
the reported watermarking support by the CDM will match that of
OEMCrypto.

If OEMCrypto does not implement OEMCrypto_GetWatermarkingSupport()
or an error occurs, it is assumed that OEMCrypto does not support
watermarking, and the CDM will report "Not Supported".

Bug: 226443788
Test: run_x86_64_tests request_license_test and license_unittest
Change-Id: Id929a356c395e6bcf45d371ee6887eec40d35329
2022-04-01 14:24:44 -07:00
Alex Dale
b3a5a656af Merge "Reset UsageTableHeader when re-init for tests." into tm-dev 2022-04-01 21:13:32 +00:00
Alex Dale
8091ed239e Reset UsageTableHeader when re-init for tests.
[ Merge of http://go/wvgerrit/149130 ]

When re-initializing OEMCrypto for testing purposes, the
UsageTableHeader must be reset as well.  This is to inform future
sessions to load or create a new header before creating new entries.

Bug: 219075437
Test: request_license_test and MediaDrmTests GTS
Change-Id: Ie8bc72bc7ea079d21587e114223fcb67547c756a
2022-04-01 03:20:24 +00:00
TreeHugger Robot
2ccaa44bb5 Merge "Rename conditional flag and remove log spam." into tm-dev am: 0a65e3ba32 am: e75539ea3f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17500167

Change-Id: I18988604f9c2c32cfe9eb155f793e15585ceeaf6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-30 19:31:23 +00:00
TreeHugger Robot
b18b3e20d3 Merge "Rename conditional flag and remove log spam." into tm-dev am: 0a65e3ba32
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17500167

Change-Id: I8e2943b97b5f3e8d5910ef2f00d93bfde30eebd9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-30 19:01:51 +00:00
TreeHugger Robot
e75539ea3f Merge "Rename conditional flag and remove log spam." into tm-dev am: 0a65e3ba32
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17500167

Change-Id: I40c17090aedc59028252c85ad038e5b8461b0d68
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-30 19:00:42 +00:00
TreeHugger Robot
0a65e3ba32 Merge "Rename conditional flag and remove log spam." into tm-dev 2022-03-30 18:41:32 +00:00
TreeHugger Robot
3c7e5409ac Merge "Replace _hidl_ with _hal_ in test names" into tm-dev am: 5e0c55d2f7 am: 5788057f67
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17325508

Change-Id: Iaaa81672f9110e93f2b968c32d28c0ace420e554
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-30 17:37:15 +00:00
TreeHugger Robot
ad85c2c69d Merge "Replace _hidl_ with _hal_ in test names" into tm-dev am: 5e0c55d2f7
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17325508

Change-Id: I130cc9d48af8e4f7ad1e7b8d392a12f66c327257
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-30 17:20:52 +00:00
TreeHugger Robot
5788057f67 Merge "Replace _hidl_ with _hal_ in test names" into tm-dev am: 5e0c55d2f7
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17325508

Change-Id: I7476595bff7c3310dbb238ef70b8ad13ee61cf2a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-30 17:19:51 +00:00
TreeHugger Robot
5e0c55d2f7 Merge "Replace _hidl_ with _hal_ in test names" into tm-dev 2022-03-30 16:57:22 +00:00
Edwin Wong
2a91e85b91 Rename conditional flag and remove log spam.
[ Merged from http://go/wvgerrit/149029 ]

Address comment in http://ag/17158449 for
b/217247987, rename BUILD_TARGET with a
unique name. Also remove $(info ...) log spam.

Test: ./build_all_unit_tests -t hidl
Test: ./build_and_run_all_unit_tests -t hidl
Test: ./build_all_unit_tests
Test: ./build_and_run_all_unit_tests
Test: ./build_and_run_all_unit_tests -t invalid (default to AIDL)
Bug: 226976702
Change-Id: I1529dfbbbd1b112668ccac22bc684817dcb9ed35
2022-03-30 16:38:01 +00:00
Frederick Mayle
2dbe3aa3aa Merge "libwvdrmengine: Fix double ownership of WVDrmFactory" into tm-dev am: a9828a7168 am: 6e06e7637a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17353612

Change-Id: I76afa5787fcd99b0199b14505c66383cb3d7a104
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-28 22:27:59 +00:00
Frederick Mayle
dcacd786de Merge changes from topic "presubmit-am-6622fe4b6ed34c108ae72ef4c712fd08" into tm-mainline-prod am: c64df9f755
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17353612

Change-Id: I1aefd40778eca4125db4a688df66bc903a5fa3e9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-28 22:27:27 +00:00
Frederick Mayle
6e06e7637a Merge "libwvdrmengine: Fix double ownership of WVDrmFactory" into tm-dev am: a9828a7168
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17353612

Change-Id: Ida5613c840d403fa09ca48c3649c35bc08866a9a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-28 22:27:06 +00:00
Frederick Mayle
7e9a2f6683 Merge "libwvdrmengine: Fix double ownership of WVDrmFactory" into tm-dev am: a9828a7168
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17353612

Change-Id: I4a83853d8386a675439bf74e9cecd69606b5feca
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-28 22:26:50 +00:00
Frederick Mayle
a9828a7168 Merge "libwvdrmengine: Fix double ownership of WVDrmFactory" into tm-dev 2022-03-28 22:13:39 +00:00