Commit Graph

2816 Commits

Author SHA1 Message Date
Rahul Frias
57353b4941 Test max number of DRM private keys
[ Merge of http://go/wvgerrit/143909 ]

The max. number of DRM keys that can be loaded depends on the resource
rating.

Add a test to verify:
1. We can load up to MAX. drm keys
2. Loading the MAX+1 key can fail
3. The loaded keys should work even if loading other keys failed

Bug: 209084113
Test: opk_ta, run_x86_64_tests, run_level3_static_tests,
run_fake_l1_tests
Test: GtsMediaTestCases on sunfish

Change-Id: Ib9821e8a1994d41d3e9c2063440c109a2332ba89
2022-03-16 01:33:48 -07:00
Rahul Frias
5f45485175 Merge oemcrypto-v17 to master
[ Merge of http://go/wvgerrit/144530 ]

It's time to copy all the v17 work to our main branch.
I had to re-run clang-format to match local style.

Merge from commit b14f08374f9a48aed49850cc230daf384725b15f
Fix allow_null for key control iv in L3 v17

Bug: 161477208
Test: GtsMediaTestCases on sunfish
Change-Id: I97caa851e9e65eb0e42034d2f4a28dfb7499df0d
2022-03-16 01:33:23 -07:00
Rahul Frias
83a4100d11 Update cipher mode elsewhere
[ Merge of http://go/wvgerrit/144696 ]

In v17,
OEMCrypto_CipherMode_CTR renamed to OEMCrypto_CipherMode_CENC
OEMCrypto_CipherMode_CBC renamed to OEMCrypto_CipherMode_CBCS

Bug: 224375138
Test: GtsMediaTestCases on sunfish
Change-Id: I2d96e9c6d22a9d9e2fbbd15a8aea3f2d5dac6dcb
2022-03-16 01:33:02 -07:00
Rahul Frias
4532802ea0 Fix 1 ClangTidyBuild finding:
[ Merge of http://go/wvgerrit/145289 ]

* missing #include <string> for 'std::string' For more info see go/clang_tidy/checks/google3-build-missing-std-includes

This CL looks good? Just LGTM and Approve it!
This CL doesn’t look good? This is what you can do:
* Revert this CL, by replying "REVERT: <provide reason>"
* File a bug under go/clang-tidy-bug for category ClangTidyBuild if the change looks generally problematic.
* Revert this CL and not get a CL that cleans up these paths in the future by
replying "BLOCKLIST: <provide reason>". This is not reversible! We recommend to
opt out the respective paths in your CL Robot configuration instead:
go/clrobot-opt-out.

This CL was generated by CL Robot - a tool that cleans up code findings
(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/METADATA.
Anything wrong with the signup? File a bug at go/clrobot-bug.

Tested:
    Local presubmit tests passed.

Bug: 224375138
Test: GtsTestCases on sunfish

PiperOrigin-RevId: 426761099
Merged from https://widevine-internal-review.googlesource.com/145250

Change-Id: I5a66b6eccc2b08ee11f92f90ce3b725f24c8d33c
2022-03-16 01:31:53 -07:00
Rahul Frias
bc6e841ccd Add out of bounds testing for LoadKeys()
[ Merge of http://go/wvgerrit/146249 ]

Update the OEMCryptoMemoryLoadLicense* tests so they cover LoadKeys()
for v15 and prior and LoadLicense() for v16 and later versions.

Merged from https://widevine-internal-review.googlesource.com/145951

Bug: 190749256
Test: GtsMediaTestCases on sunfish
Change-Id: If90f7afd82819375f52a2fe619675bf0c4c4dd3a
2022-03-16 01:30:39 -07:00
Rahul Frias
8350badbb5 Separate invalid session test for ReuseUsageEntry
[ Merge of http://go/wvgerrit/144729 ]

Since OEMCrypto_ReuseUsageEntry() was introduced in v17, splitting the
test case for an invalid session from the other usage entry methods
since they were implemented in v15/16 as well.

Bug: 216193739
Test: GtsMediaTestCases on a sunfish
Change-Id: I7f4399c07a19227495a15807228b930066f6a794
2022-03-16 01:20:02 -07:00
Edwin Wong
03cb9e4ba1 Merge "Build both AIDL and HIDL targets." into tm-dev am: 9361eb803b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17158449

Change-Id: Ife41ef2048564aa3ccec11c071a50d9509b64b76
2022-03-14 21:10:08 +00:00
Edwin Wong
9361eb803b Merge "Build both AIDL and HIDL targets." into tm-dev 2022-03-14 20:31:42 +00:00
Edwin
77f1fedde2 Build both AIDL and HIDL targets.
Merged from http://go/wvgerrit/147689

The default is to build for AIDL Widevine service.
Use "-t hidl" in build_and_run_all_unit_tests.sh or
build_all_unit_tests.sh to build for HIDL service.

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

Bug: 217247987
Change-Id: Ie7c51033f4aba341c829ccc8f846a6cfeab76df3
2022-03-11 15:36:55 -08:00
TreeHugger Robot
b94f645290 Merge "wv aidl: fix native handle memory leak 2" into tm-dev am: 6eb5161dc1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16987763

Change-Id: Iadb3389781776511b1596996ac903834f319dfd0
2022-03-11 05:42:18 +00:00
TreeHugger Robot
6eb5161dc1 Merge "wv aidl: fix native handle memory leak 2" into tm-dev 2022-03-11 05:20:59 +00:00
Edwin
366b54d522 Add lazy service for Widevine AIDL HAL. am: 28feb283f3
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17091932

Change-Id: Iae533b0a29389eaf456b0d41faf7d946d4269fd0
2022-03-10 19:29:18 +00:00
Edwin
28feb283f3 Add lazy service for Widevine AIDL HAL.
Merged from http://go/wvgerrit/147329

Test: atest VtsAidlHalDrmTargetTest
Test: atest GtsMediaTestCases

Bug: 221078453
Change-Id: I4345816f18c44de4187f03a087d58e890a6d6b01
2022-03-09 23:30:31 +00:00
TreeHugger Robot
a4489b0998 Merge "Update dump() for Aidl HALs." into tm-dev am: f2384c1b22
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16994828

Change-Id: I5cb2f380da652bb0802b77464fa8f320bb6a19e3
2022-02-28 18:20:32 +00:00
Sam Dubey
6d4656c416 Revert "Enable Widevine Aidl service." am: 304da5e399
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/17030421

Change-Id: Ie89d3c4a913c16360130a6a8e3e7cc15561d8317
2022-02-28 08:26:42 +00:00
Sam Dubey
304da5e399 Revert "Enable Widevine Aidl service."
This reverts commit 2269503129.

Reason for revert: Breaking hal_implementation_test

Bug: 221773661
Change-Id: I85e483fe1fc4f7d71c2cc5c2fc8892b1a57476ab
2022-02-28 05:57:22 +00:00
Edwin
b5284c5376 Update dump() for Aidl HALs.
Merged from http://go/wvgerrit/146589

lshal is for hidl HALs only, dumpsys is for aidl HALs.
Add option "-a" to dump both CDM metrics and properties
because adb bugreport calls dump() with option "-a".

Test: adb bugreport

Bug: 220996660
Change-Id: Ib2a73f3f9f353b8435735dd019a547b62b066725
2022-02-25 14:00:31 -08:00
Edwin
b346e7ef85 Enable Widevine Aidl service. am: 2269503129
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16984707

Change-Id: If2faf4513ae5c2d943bfeee7176a2c07a0414c90
2022-02-25 20:33:18 +00:00
Jeffrey Kardatzke
6b7f2f34a9 libwvdrmengine: Add custom CDM properties for ARCVM
We need to have extra properties we can check for this so they don't
conflict with the main ones for ro.product.{manufacturer|make|device}.

Bug: 197771575
Test: None

Change-Id: I63d57d59f3473beaa825b9f20e711f15d6280461
(cherry picked from commit 0f000ac305528059fc6ebdf4a3c82dd698ef4161)
(cherry picked from commit f46a1b9adcdaa103c394a2017a58e0ab6a6a4c77)
2022-02-23 19:19:21 +00:00
Edwin
2269503129 Enable Widevine Aidl service.
Merged from http://go/wvgerrit/146409

Bug: 219538389
Test: atest GtsMediaTestCases
Change-Id: I93f1270b304816636babe5a8d76325835793a137
2022-02-23 17:06:11 +00:00
Robert Shih
c5aa870dbd wv aidl: fix native handle memory leak 2
[ Merge of go/wvgerrit/146369 ]

Bug: 219754570
Test: atest GtsMediaTestCases
Change-Id: Id3e443d5e39ae416d6e566a129ebed423e19e98d
2022-02-23 09:40:15 +00:00
Robert Shih
3fa23b250b Merge "aidl drm: independent min/max SecurityLevel for each supported mime" into tm-dev 2022-02-23 02:08:46 +00:00
Robert Shih
06587fd100 Merge "wv aidl: fix native handle memory leak" into tm-dev 2022-02-22 20:23:44 +00:00
Robert Shih
7b3a37fa2f Merge "Update cipher mode enumeration in AIDL WvDrmPlugin" into tm-dev 2022-02-22 20:22:11 +00:00
Robert Shih
f2d89aaf77 aidl drm: independent min/max SecurityLevel for each supported mime
Interface change 16873294

[Merge of go/wvgerrit/145969]

Bug: 219528925
Test: atest MediaDrmTest.testIsCryptoSchemeSupportedForSecurityLevels
Change-Id: I5c0d511358c394aff6885135de851395f199dac0
Merged-In: I5c0d511358c394aff6885135de851395f199dac0
2022-02-20 19:36:07 +00:00
Robert Shih
0684df3b6c Update cipher mode enumeration in AIDL WvDrmPlugin
To match the v17 change.

[ Merge of go/wvgerrit/146231 ]

Bug: 216585596
Test: atset WidevineGenericOpsTests
Change-Id: I7eb25a5db30a82cf8015e3c19af419c02a1d5002
Merged-In: I7eb25a5db30a82cf8015e3c19af419c02a1d5002
2022-02-20 16:04:11 +00:00
Robert Shih
24e2908c21 [automerge] wv aidl: no set security level opening default session 2p: ea1d5d6891
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16961544

Bug: 219538389
Change-Id: Iaca1768881cb5700ad56c0040bd70853eafbb6ad
2022-02-20 16:02:31 +00:00
Robert Shih
ea1d5d6891 wv aidl: no set security level opening default session
Bug: 219538389
Test: atest WidevineDashPolicyTests#testL3ValidateKeyOutputProtection
Change-Id: I5912a93fd0b7a144694ec3b251a129d839b8b149
2022-02-20 16:02:24 +00:00
Robert Shih
c6d7d6e69b wv aidl: fix native handle memory leak
[ Merge of go/wvgerrit/145971 ]

Bug: 219754570
Test: atest GtsMediaTestCases
Change-Id: Id4705d5bc10ba6dfbe878f2d95fdd9ae9d2e9f1d
Merged-In: Id4705d5bc10ba6dfbe878f2d95fdd9ae9d2e9f1d
2022-02-20 15:59:51 +00:00
Robert Shih
606828f1a7 Update cipher mode enumeration in AIDL WvDrmPlugin
To match the v17 change.

[ Merge of go/wvgerrit/146231 ]

Bug: 216585596
Test: atset WidevineGenericOpsTests
Change-Id: I7eb25a5db30a82cf8015e3c19af419c02a1d5002
2022-02-19 01:13:59 +00:00
Robert Shih
926f1f9ea6 Merge "wv aidl: fix native handle memory leak" 2022-02-17 23:46:55 +00:00
Robert Shih
481a1d719e Merge "aidl drm: independent min/max SecurityLevel for each supported mime" 2022-02-17 21:31:08 +00:00
Robert Shih
eed349c158 wv aidl: fix native handle memory leak
[ Merge of go/wvgerrit/145971 ]

Bug: 219754570
Test: atest GtsMediaTestCases
Change-Id: Id4705d5bc10ba6dfbe878f2d95fdd9ae9d2e9f1d
2022-02-17 01:01:21 +00:00
Robert Shih
8fa2f4774b aidl drm: independent min/max SecurityLevel for each supported mime
Interface change 16873294

[Merge of go/wvgerrit/145969]

Bug: 219528925
Test: atest MediaDrmTest.testIsCryptoSchemeSupportedForSecurityLevels
Change-Id: I5c0d511358c394aff6885135de851395f199dac0
2022-02-16 20:44:52 +00:00
Edwin
93b5514a27 Fix gts issues.
Fix the conversion from in_args.keyId to Cdm format
which causes nullptr dereference signal 11 faults.

Test: atest
  atest-dev GtsMediaTestCases:com.google.android.media.gts.WidevineGenericOpsTests

Bug: 214410088
Change-Id: If84863e2501d4ccae7b8b38dceb707bb4bfa12fb
2022-02-14 10:42:52 -08:00
Edwin
9654d29be6 Widevine drm aidl: address API review
Interface update in change 16810770

Bug: 214410088
Test: atest VtsAidlHalDrmTargetTest
Change-Id: I19da51ef75952f5ff6c7c02e0393f574e69ee30b
2022-02-09 22:19:36 -08:00
Edwin
6112060529 Ran google3 clang-format on cdm source.
Merge from http://go/wvgerrit/144969

Test: build
  m android.hardware.drm-service.widevine -j128

Test: atest VtsAidlHalDrmTargetTest

Bug: 216720425
Change-Id: Ie1872d2a48e3b3645853e9831816afecffac747f
2022-02-03 20:33:05 -08:00
Robert Shih
f1bfd6f202 misc wv aidl bug fix to pass vts
* handle default security level
* init ScopedAStatus before sending events

Bug: 205845199
Test: atest VtsAidlHalDrmTargetTest
Change-Id: Ie72d837bb2b7caa1da2721262b76bd47d5bdab03
2022-02-01 23:26:15 -08:00
Edwin
3c3da01d58 Use aidl interface for Widevine service.
The interface is defined in
hardware/interfaces/drm/aidl(http://go/ag/15329852).

Test: build
  m android.hardware.drm-service.widevine -j128

Test: build_and_run_all_unit_tests.sh
  for hidl tests

Test: atest VtsAidlHalDrmTargetTest

Test:   atest vts_treble_vintf_vendor_test:vts_treble_vintf_vendor_test.DeviceManifest/SingleManifestTest#ManifestAidlHalsServed/0 -- --abi x86_64

Bug: 200055138
Bug: 170964303
Change-Id: I5654d90d8a4b0bae4b4a78e79b27c1cafec36be7
2022-02-01 22:20:04 -08:00
Kyle Zhang
627c8d6855 Merge "Fix files mis-synced from cdm repo to Android" 2022-02-02 06:07:45 +00:00
Kyle Zhang
fdc585a55d Fix files mis-synced from cdm repo to Android
Test: build
Bug: 161477208
Change-Id: I2d48dff987fe37a54ffdfc47a7896fba975a0e20
2022-02-01 18:08:38 +00:00
Cong Lin
efbe13ea36 Update Android L3 after cipher mode fix
This is a merge of
https://widevine-internal-review.googlesource.com/c/cdm/+/144790

Updated cipher mode to allow playback in v17;
Added check for key selection before decrypting.

Merge from Widevine repo of http://go/wvgerrit/144779
Fix allow_null for key control iv in L3 v17

Merge from Widevine repo of http://go/wvgerrit/144792
Fix api version check in L3 v17

Test: L3 unit tests
Bug: 217145027
Change-Id: I584bd57e26407cbf4d4b94eb1bc5cf80839377be
2022-02-01 10:00:40 -08:00
Yohei Yukawa
a4d835af3a Revert "Use aidl interface for Widevine service."
This reverts commit 96a8ccd4a1.

Reason for revert:
Could break DeviceManifest/SingleManifestTest#ManifestAidlHalsServed

Bug: 200055138
Bug: 170964303
Bug: 217241995
Change-Id: I9c42df15defec428c9ef8c62439c63d4a603fee6
2022-01-31 22:01:25 +00:00
Edwin
96a8ccd4a1 Use aidl interface for Widevine service.
The interface is defined in
hardware/interfaces/drm/aidl(http://go/ag/15329852).

Test: build
  m android.hardware.drm-service.widevine -j128

Test: build_and_run_all_unit_tests.sh
  for hidl tests

Test: atest VtsAidlHalDrmTargetTest

Bug: 200055138
Bug: 170964303
Change-Id: If2f2a129914436ba5cef1c46f6cb9415e12c3d1c
2022-01-28 20:29:14 -08:00
Kyle Zhang
642965c678 Merge latest oemcrypto-v17 change
No-Typo-Check: Not related to this change.

Bug: 161477208
Change-Id: I99e4780f6855b7045aa0cd5a49c13d2d0d51ed64
2022-01-27 20:07:15 -08:00
Bob Badour
c924960962 [LSC] Add LOCAL_LICENSE_KINDS to vendor/widevine
Added legacy_by_exception_only to:
  libwvdrmengine/cdm/test/coverage-test.mk

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Change-Id: I245a84bb0ef081a4faedde51f0e815478172db51
2022-01-27 12:14:56 -08:00
Rahul Frias
8500365f8c Merge "Protect against race conditions when adding a license" 2022-01-24 22:33:48 +00:00
Rahul Frias
af99d774d4 Merge "Protect against race conditions when removing keys" 2022-01-24 22:31:58 +00:00
TreeHugger Robot
2e738c2989 Merge "Fix errors being hidden by Protobuf warning-disabling" 2022-01-22 00:02:03 +00:00
TreeHugger Robot
38832ed40e Merge "Upgrade MOCK_METHOD to googletest 1.10" 2022-01-22 00:01:43 +00:00