Commit Graph

6103 Commits

Author SHA1 Message Date
TreeHugger Robot
71e9c3cef3 Merge "Removing Non-HIDL Widevine DRM Plugin for Android" 2021-11-11 22:56:30 +00:00
TreeHugger Robot
0b02296014 Removing Non-HIDL Widevine DRM Plugin for Android
[ Merge of http://go/wvgerrit/138089 ]

Non-hidl code is no longer needed in the widevine android plugin. By
doing work this cleanup will save the team from having to keep
maintaining code that isn't needed anymore.
Clean up steps taken as follows:
    1. Remove non-hidl code but keep commonly used code
    2. Remove legacy test code
    3. Remove legacy test build and test entry

Bug: 69573078
Bug: 172285246
Test: unit tests, GtsMediaTestCases, CtsMediaDrmTestCases
Change-Id: I75938d69413c631ef6be82da3d885ba173efc581
2021-11-11 02:06:15 +00:00
John W. Bruce
c45559177a Fix -Wshorten-64-to-32 errors in test code
(This is a merge of http://go/wvgerrit/134316.)

This patch fixes code that would trigger -Wshorten-64-to-32 by
implicitly narrowing a variable from 64 to 32 bits. Most of the time, it
does this by making the implicit conversion explicit. Occasionally,
where it makes sense, it does this by expanding the code to operate on a
64-bit value.

This patch removes LicenseKeysTest::NumContentKeys(), which no one was
using, as all the tests access content_key_count_ directly.

Bug: 194971260
Test: x86-64
Change-Id: Iae7685c10b9db989253b349cab693728b438798d
2021-11-10 16:16:47 -08:00
John W. Bruce
0c7db1a836 Fix -Wshorten-64-to-32 errors in Haystack
(This is a merge of http://go/wvgerrit/134424.)

This patch fixes code that would trigger -Wshorten-64-to-32 by
implicitly narrowing a variable from 64 to 32 bits. The membarrier
functions have their return type expanded so they can report the full
return value of the syscall.

Bug: 194971260
Test: x86-64
Change-Id: I5d948162b1f3f1540288df9494cabda39ecf8905
2021-11-10 16:10:54 -08:00
Rahul Frias
0aa9b47b03 Update Version number
[ Merge of http://go/wvgerrit/138289 and http://go/ag/16210935 ]

Update the android version number test to accept "12" or "12L"

Bug: 205491167
Test: wv unit/integration tests
Change-Id: If11e7c6f3a89263ab78d274aa8d776991d3942e9
2021-11-09 16:41:40 -08:00
Alex Dale
08c703a7b8 Added numeric value guards to ValueMetric.
[ Merge of http://go/wvgerrit/137951 ]

ValueMetric was not checking whether certain unsigned types will
overflow when casted to protobuf's signed int64 type.  This CL
adds a max value to prevent potential overflows.

The value metric has also been updated to an emum to represent its
possible three state, as opposed to using two boolean flags.  For basic
value metrics, this saves about 4 bytes of space.  This works out to
being ~100 bytes per crypto session, ~20 bytes per CDM session and ~20
bytes per engine metrics.

Bug: 204946540
Test: Metric unit tests
Change-Id: I688bece8f31cccaf2a25bd8f99d9b080b0efd0de
2021-11-08 14:52:29 -08:00
Alex Dale
b6c93683db Merge changes I78f839fa,Ibd68db73
* changes:
  Updated copyright notice and cleaned up includes.
  Ran clang-format on the metrics directory.
2021-11-05 23:44:25 +00:00
Alex Dale
f5759c5149 Updated metric Distribution and Timer utils.
[ Merge of http://go/wvgerrit/137811 ]

Renamed TimerMetric to Timer.  Timer is used to generate durations
included in metrics, but is not a metric itself.  The method of
getting the current time did not require creating an instance of
std::steady_clock.

Updated Distribution and Timer to use default initializers instead of
constructor initialization list.

Bug: 204946540
Test: Metric unit tests
Change-Id: I7ed291b586347dd0b7ab305960883bec04637315
2021-11-05 15:12:09 -07:00
TreeHugger Robot
281bc8322b Merge "Add timestamp when socket times out" 2021-11-05 04:37:52 +00:00
TreeHugger Robot
283e71ae50 Merge "Update fuzz tests" 2021-11-05 04:00:23 +00:00
TreeHugger Robot
eb3d25127a Merge "Added an oemcrypto test for OPK versioning" 2021-11-05 03:41:07 +00:00
Alex Dale
1b95db51f1 Updated copyright notice and cleaned up includes.
[ Merge of http://go/wvgerrit/137810 ]

Bug: 204946540
Test: Metric unit tests
Change-Id: I78f839fafd27604a2bb78c04d587c40919c5372d
2021-11-03 17:28:00 -07:00
Alex Dale
21a021e800 Ran clang-format on the metrics directory.
[ Merge of http://go/wvgerrit/137809 ]

Bug: 204946540
Test: Metric unit tests
Change-Id: Ibd68db73ea9ee64664d33c2cb8e8bb7c56674c27
2021-11-03 17:24:34 -07:00
TreeHugger Robot
2046fc05fa Merge "Fix -Wshorten-64-to-32 error in metrics code" 2021-10-29 18:09:45 +00:00
TreeHugger Robot
1745fbd903 Merge "Make implicit 64-to-32-bit conversions in core_message_serialize.cpp explicit" 2021-10-29 18:09:25 +00:00
TreeHugger Robot
5cdaeab03e Merge "ODK: Fix a few implict type conversion issues" 2021-10-29 18:08:25 +00:00
Alex Dale
dd0b840b91 Clear OTA keybox flag. am: f5e4c94e26 am: 544299db8b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16094844

Change-Id: I14e4a4f7df36f2c7d2f00e31423250bff370ff30
2021-10-28 17:18:21 +00:00
Alex Dale
5c387ed836 Added debugOtaKeyboxFallbackDuration property. am: 8b12e5acc9 am: 90f7296a4e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16096276

Change-Id: I1e2103a2a3dcfa513be3e6803ebc7b786f846ee2
2021-10-28 17:18:21 +00:00
Alex Dale
08e7383ad4 Update fallback policy for fast fallback. am: 28b45c4f1b am: 596363ef9e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16096533

Change-Id: Ifd8e70f097345d9d17f2c96e7bdd0415fea62ca5
2021-10-28 17:18:20 +00:00
Fred Gylys-Colwell
ec631db9a0 [automerger skipped] Update OTA Keybox tests am: eb846100d4 am: cc67284f44 -s ours
am skip reason: Merged-In I48a3771bf5fd4aae8d262b8c7bf42f004d9b9f4c with SHA-1 d92c9b9bd2 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058124

Change-Id: I1403023307204ace0d23fed47b4602c02572b629
2021-10-28 17:18:19 +00:00
Fred Gylys-Colwell
008aa7f4d7 Correct build error in non-hidl WVDrmPlugin am: 80463a0eea am: 017e6dabce
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058123

Change-Id: Ifa4843400a50dd90d5750d1bcd7ec376c7d1bd61
2021-10-28 17:18:19 +00:00
Fred Gylys-Colwell
56fbf9e681 [automerger skipped] Use MediaDrm property to ignore installed keybox am: c21b756451 am: 220f1e750e -s ours
am skip reason: Merged-In Ie7d34a8b355398855f4ec43dd95dd73c5907bdeb with SHA-1 938bc7bbad is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058122

Change-Id: I55f5c002d2f84e8c732eb14bd60d1847d3a6f4ba
2021-10-28 17:18:18 +00:00
Alex Dale
c996df5742 [automerger skipped] Formatted OTA keybox function comments. am: 5975b4e70a am: deb174cef5 -s ours
am skip reason: Merged-In Ia45dc9d727a2a904170912193709cd9416b8fe27 with SHA-1 9f2364cefd is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058121

Change-Id: I455cb3404ba5faf1bb5f5677f7730266ba881c43
2021-10-28 17:18:17 +00:00
Rahul Frias
4ca4bcbc52 [automerger skipped] Assume Keybox provisioning type if OTA Keybox is supported. am: 581aa1702b am: 2243801d83 -s ours
am skip reason: Merged-In Ie7753546e53fc73fd59803958e88edf416ee5336 with SHA-1 e13c051129 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058120

Change-Id: I995aa8606be5e0e1e9ad9ea4079ae8e005ba198e
2021-10-28 17:18:17 +00:00
Fred Gylys-Colwell
28bf1d2a11 [automerger skipped] Updates to OTA Keybox Reprovisioning am: a3166eb2ba am: f114219345 -s ours
am skip reason: Merged-In I41ff819a1fd8aca2e20adb25127fa0d9c4879b01 with SHA-1 7397f77343 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058119

Change-Id: I2f7f72752d2a7cff2649be738adc0c0cec112033
2021-10-28 17:18:16 +00:00
Rahul Frias
bd521b31a3 [automerger skipped] Wrapped OKP info into several classes. am: 39558526f6 am: f19130a23c -s ours
am skip reason: Merged-In Ia572a66a7b73479355758aa3d0c682691eaca0fc with SHA-1 6afcbab5cf is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058118

Change-Id: I8695502f560bd989b0e18d552472ed7cd982743d
2021-10-28 17:18:15 +00:00
Rahul Frias
1b27e70f9c [automerger skipped] Added an OTA keybox provisioner. am: 52bd1d206e am: 54fc6edf0d -s ours
am skip reason: Merged-In I6aafb4f2164efe69bc733ece0a912f0e91893b91 with SHA-1 3acc64a478 is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058117

Change-Id: I9f1614e0fa4f5d8d4e599e6afadd02452bf2c10f
2021-10-28 17:18:15 +00:00
Fred Gylys-Colwell
eb84b1f763 [automerger skipped] Use local provisioning server am: 44ba42f5cc am: 556940237f -s ours
am skip reason: Merged-In Ide9533943125aa13b8899b652b118a0b410c882c with SHA-1 bac33dbc6e is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058116

Change-Id: I12d23b7b902ad8b47833dc6645aa67a0c2b7814d
2021-10-28 17:18:14 +00:00
Alex Dale
544299db8b Clear OTA keybox flag. am: f5e4c94e26
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16094844

Change-Id: Id8a110c13e2aed574ec1fd7641d4f0fc24ad382d
2021-10-28 17:02:17 +00:00
Alex Dale
90f7296a4e Added debugOtaKeyboxFallbackDuration property. am: 8b12e5acc9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16096276

Change-Id: Id74a39aabd42272673de9bbd3efa672c0c609015
2021-10-28 17:02:16 +00:00
Alex Dale
596363ef9e Update fallback policy for fast fallback. am: 28b45c4f1b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16096533

Change-Id: Ibf2e7e04c28251bf0918db98093d0a6a5191628e
2021-10-28 17:02:16 +00:00
Fred Gylys-Colwell
cc67284f44 Update OTA Keybox tests am: eb846100d4
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058124

Change-Id: I9000ab12e582e2b1ec8992b70ab6a9c883f1a836
2021-10-28 17:02:15 +00:00
Fred Gylys-Colwell
017e6dabce Correct build error in non-hidl WVDrmPlugin am: 80463a0eea
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058123

Change-Id: Ibfba7d0ec38fb2ddc9b46b4821f34b9c28f9c9f3
2021-10-28 17:02:15 +00:00
Fred Gylys-Colwell
220f1e750e Use MediaDrm property to ignore installed keybox am: c21b756451
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058122

Change-Id: Icc1025c0e78ffbc677f17621ad028f27cd565bf0
2021-10-28 17:02:15 +00:00
Alex Dale
deb174cef5 Formatted OTA keybox function comments. am: 5975b4e70a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058121

Change-Id: I4ac7640a58bbb4f3add632759a7b5c59a2c7f3fc
2021-10-28 17:02:14 +00:00
Rahul Frias
2243801d83 Assume Keybox provisioning type if OTA Keybox is supported. am: 581aa1702b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058120

Change-Id: I03925f8ffec8ebb690d49db04d637e2f8f2fb15f
2021-10-28 17:02:13 +00:00
Fred Gylys-Colwell
f114219345 Updates to OTA Keybox Reprovisioning am: a3166eb2ba
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058119

Change-Id: I1eccae55a858fc634b0ee53f79bfda0cbdda134b
2021-10-28 17:02:12 +00:00
Rahul Frias
f19130a23c Wrapped OKP info into several classes. am: 39558526f6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058118

Change-Id: I77e2e5023bca6f9b1ff1279d517534e58693b2a2
2021-10-28 17:02:11 +00:00
Rahul Frias
54fc6edf0d Added an OTA keybox provisioner. am: 52bd1d206e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058117

Change-Id: I2f177ef33d62cadd271262df56c76eed386bb22d
2021-10-28 17:02:11 +00:00
Fred Gylys-Colwell
556940237f Use local provisioning server am: 44ba42f5cc
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/16058116

Change-Id: Ib10701963fc4ba89d37f49b95186640244576305
2021-10-28 17:02:10 +00:00
John W. Bruce
ba452b3f91 Fix -Wshorten-64-to-32 error in metrics code
(This is a merge of http://go/wvgerrit/134314.)

This patch fixes code that would trigger -Wshorten-64-to-32 by
implicitly narrowing a variable from 64 to 32 bits. The caclulation is
now done at size_t resolution instead of downcasting to 32 bits.

Bug: 194971260
Test: x86-64 tests
Change-Id: I2fd0a3a3ec67f697d58d1ba00dba66452603c753
2021-10-27 12:43:23 -07:00
John W. Bruce
71aaf870c8 Make implicit 64-to-32-bit conversions in core_message_serialize.cpp explicit
(This is a merge of http://go/wvgerrit/134404.)

There were two lines that were tripping Clang's `-Wshorten-64-to-32`
warning. This CL makes both conversions explicit to appease the warning.
There should be no change in behavior.

Bug: 194971260
Test: ODK Unit Tests
Change-Id: I6d111e9a4efc1f0e31b51e455c47c0e885d48e6b
2021-10-27 12:41:47 -07:00
John W. Bruce
8d35b2c4e2 ODK: Fix a few implict type conversion issues
(This is a merge of http://go/wvgerrit/134403.)

Reported as errors by UBSAN

Bug: 194971260
Test: Ran ODK unit tests
Change-Id: I2f38fb6952d259458af8498e86b3308421e93320
2021-10-27 12:40:10 -07:00
Kyle Zhang
7c1e8f384f Add code review OWNERS
Bug: 158761377
Test: refactoring CL. Existing unit tests still pass.
Change-Id: I9b91d16e92679e76d57cfc332342eaa7e6989907
2021-10-27 05:05:43 +00:00
John W. Bruce
5619afc566 Clarify entitled vs. entitlement in OEMCrypto tests
(This is a merge of http://go/wvgerrit/133650.)

Several places in the OEMCrypto tests refer to entitled keys as
entitlement keys. This patch fixes those references. It does not change
places that were actually meant to refer to entitlement keys.

Test: x86-64 platform tests
Bug: 203697187
Change-Id: I2ad2d82a666fd0cc08662e39177313cf36c2ad43
2021-10-21 20:05:15 +00:00
John W. Bruce
921cc2c4a3 Fix -Wshorten-64-to-32 errors in string conversion code
(This is a merge of http://go/wvgerrit/134313.)

This patch fixes code that would trigger -Wshorten-64-to-32 by
implicitly narrowing a variable from 64 to 32 bits. There were two cases
of this in string_conversions.cpp:

* The implicit conversions in DecodeBase64Char() were made explicit,
  which required going through both a reinterpret_cast and a static_cast
  to express fully.

* a2b_hex() now uses size_t for the length, as it probably always should
  have.

Bug: 194971260
Test: x86-64 tests
Change-Id: Ib9715b8adecc104f1a056ab0ac5faa5be74e5e54
2021-10-21 20:04:59 +00:00
Alex Dale
f5e4c94e26 Clear OTA keybox flag.
[ Cherry-pick of http://ag/16087795 ]
[ Merge of http://go/wvgerrit/136432 ]

Once OTA keybox succeeds, the |needs_keybox_provisioning_| flag is
cleared.  Access to the system fallback policy is allowed after
provisioning to check status.

Bug: 203177668
Test: ExoPlayer test
Change-Id: I2d28c896c554cfbc9b008340bb415d4c7fac62f2
(cherry picked from commit cac2dcaa6c)
2021-10-20 18:22:06 -07:00
Alex Dale
8b12e5acc9 Added debugOtaKeyboxFallbackDuration property.
[ Cherry-pick of http://ag/16064434 ]
[ Merge of http://go/wvgerrit/136330 ]

This changes adds a custom debug property for changing the fallback
policy used for the system.  Depending on the value set, the device
will either use a "fast" fallback (30 seconds) or "default" fallback
(~1 day with exponential backoff).  Setting this property to either
"fast" or "default" will end the current fallback if it has been
triggered.

Bug: 187646550
Test: Android unit tests
Change-Id: I5271f96139c1e468242f7fa742668cc791ffcf91
2021-10-20 17:54:03 -07:00
Alex Dale
28b45c4f1b Update fallback policy for fast fallback.
[ Cherry-pick of http://ag/16064433 ]
[ Merge of http://go/wvgerrit/136329 ]

CDM core has been updated to support very short fallback durations in
the case of failures during OTA keybox provisioning.  This is intended
to be used during testing via specialized developer apps or GTS tests.

Bug: 187646550
Test: Android unit tests
Change-Id: I8a75d2e1c404d6caed535b087e8dd29da5c21b83
2021-10-20 17:53:03 -07:00
Fred Gylys-Colwell
eb846100d4 Update OTA Keybox tests
Merge from Widevine repo of http://go/wvgerrit/135982

The basic test was failing when using the testbed oemcrypto
because the testbed deletes its keybox on each
initialization. The test would terminate and re-initialize
oemcrypto whenever all the crypto sessions are deleted. This
has been fixed by holding a crypto session alive until the
end of the test.

bug: 187646550
Test: test only code
Merged-In: I48a3771bf5fd4aae8d262b8c7bf42f004d9b9f4c
Change-Id: I48a3771bf5fd4aae8d262b8c7bf42f004d9b9f4c
2021-10-20 17:52:12 -07:00