Commit Graph

5106 Commits

Author SHA1 Message Date
Alex Dale
b7fda60aaa [DO NOT MERGE] Revert "Restructed reference root of trust (1/3 Keybox)" am: ad0d66c7e6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14804251

Change-Id: I69e8ac23825dd2703f6c71c91c6626b022fde886
2021-06-04 23:57:41 +00:00
Edwin Wong
3f1fb450ea [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43 am: b2ebc85c7e -s ours am: ffbc1dfdd2
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13424496

Change-Id: Ie2ac48989cea8938e21a4b407cafb7cefbecdf38
2021-06-02 23:40:43 +00:00
Edwin Wong
daa7c2bb8d [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5 am: 6f307fb311 -s ours am: 255f525c31
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13412308

Change-Id: I9be3217b288ee77313830ab9cb19e36a55f4764e
2021-06-02 23:27:46 +00:00
Edwin Wong
391d44e4b4 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43 am: 38654a3fd7 -s ours am: 17c2aaabb4
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13424496

Change-Id: Id41d0ffd156e579b34a8482ea2de0cf863f840b7
2021-06-02 23:26:29 +00:00
Edwin Wong
0fea936ddc [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5 am: 1a04368a9e -s ours am: 81ecbed63a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13412308

Change-Id: I9c9978927a28ee49194bfd68afa9e02c6a8079c7
2021-06-02 23:26:01 +00:00
Edwin Wong
ffbc1dfdd2 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43 am: b2ebc85c7e -s ours
am skip reason: subject contains skip directive

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

Change-Id: Ic0fefdfafdfa0024f12d307f4d3736ade2b570a7
2021-06-02 23:18:47 +00:00
Edwin Wong
255f525c31 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5 am: 6f307fb311 -s ours
am skip reason: subject contains skip directive

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

Change-Id: Id300ffcd7ed8b9f37d4758ac802ae3427111c0b5
2021-06-02 23:18:39 +00:00
Edwin Wong
17c2aaabb4 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43 am: 38654a3fd7 -s ours
am skip reason: subject contains skip directive

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

Change-Id: I6782e4de8ddc7bf62d38790f7f9d24b64b02f63d
2021-06-02 23:18:00 +00:00
Edwin Wong
81ecbed63a [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5 am: 1a04368a9e -s ours
am skip reason: subject contains skip directive

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

Change-Id: I63f905b093c4f151a026adc123ae66120483cb17
2021-06-02 23:17:46 +00:00
Edwin Wong
b2ebc85c7e [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13424496

Change-Id: I7ae3b31b31288419a45b585ae5dae196d80bcdfb
2021-06-02 23:04:49 +00:00
Edwin Wong
6f307fb311 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13412308

Change-Id: Iac6fa4a12541c9e95c733186e4607d7c52973e1d
2021-06-02 23:04:37 +00:00
Edwin Wong
38654a3fd7 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13424496

Change-Id: I2c246da19bedc2440e777c8edddf2e5619d8fa74
2021-06-02 23:03:37 +00:00
Edwin Wong
1a04368a9e [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13412308

Change-Id: Ida8db64dddf24fcfcc2ee83d035e6bd79ec240ea
2021-06-02 23:03:23 +00:00
Edwin Wong
a9fbf4de43 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours
am skip reason: subject contains skip directive

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

Change-Id: Id5014667cb634351d19e8b4012d2db0c7f32d365
2021-06-02 22:47:40 +00:00
Edwin Wong
e75f7c63b5 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours
am skip reason: subject contains skip directive

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

Change-Id: I983a6944369ff77e27c8d64fba5937dffc3554de
2021-06-02 22:47:30 +00:00
Edwin Wong
85bbf55e91 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13424496

Change-Id: Ib88e34bacd5afb0ead74ba2a6526083366ea2822
2021-06-02 22:25:40 +00:00
Edwin Wong
d74cf5a35f [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13412308

Change-Id: I84bf657fa0999fda46a89c02260ce31323164b9e
2021-06-02 22:25:26 +00:00
Edwin Wong
62e23e0369 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours
am skip reason: subject contains skip directive

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

Change-Id: If6f783b3af331eedd1b9f1a1a887990978c0c52e
2021-06-02 22:04:34 +00:00
Edwin Wong
787f7e2158 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours
am skip reason: subject contains skip directive

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

Change-Id: I3fa1dadd8d1294eff10ba86b9a7adf49e08e3bca
2021-06-02 22:04:24 +00:00
Alex Dale
0ddbdd0fe5 [DO NOT MERGE] Revert "Restructed reference root of trust (2/3 DRM Cert)" am: 06b637ed95
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14605397

Change-Id: I5c6a13cb0244276f0109c3579b09ce9358d054e8
2021-06-02 20:14:26 +00:00
Alex Dale
ad0d66c7e6 [DO NOT MERGE] Revert "Restructed reference root of trust (1/3 Keybox)"
This reverts commit e4ee4eb404.

Reason for revert: Feature missed deadline

Bug: 135283522
Change-Id: I4ee2caac2dadfcc3e145b9c9b977d216d4edd929
2021-06-02 20:00:16 +00:00
Alex Dale
06b637ed95 [DO NOT MERGE] Revert "Restructed reference root of trust (2/3 DRM Cert)"
This reverts commit f6f5099604.

Reason for revert: Feature missed deadline

Bug: 135283522
Change-Id: Ic86930ee3444c5a6aa1d78ae3a12a9030c29ef92
2021-06-02 17:41:53 +00:00
Alex Dale
0af7344cb1 Merge "New usage entries are moved lower after creation." into sc-dev am: 9c47be6aa8
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14354899

Change-Id: Icce10f71c519411d638b725217c84ed0a3347b41
2021-05-26 22:45:28 +00:00
Alex Dale
9c47be6aa8 Merge "New usage entries are moved lower after creation." into sc-dev 2021-05-26 22:31:03 +00:00
TreeHugger Robot
d5a970aae4 Merge "Sync L3 headers in sc-dev" into sc-dev am: 5af95f48ed
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14669194

Change-Id: I3b123d07993da703dd8ba97fd5de22a986451af9
2021-05-26 00:21:31 +00:00
TreeHugger Robot
5af95f48ed Merge "Sync L3 headers in sc-dev" into sc-dev 2021-05-26 00:02:54 +00:00
Fred Gylys-Colwell
f11394cfe6 Add fudge to duration tests am: 20833734e1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14664668

Change-Id: I4a85428cf24198459ad5149d851411164cef7b46
2021-05-25 22:22:28 +00:00
Fred Gylys-Colwell
cb15eaa2bc Merge "LUCI: Add build fuzz tests script to presubmits" into sc-dev am: eaa1e6d4a0
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14486069

Change-Id: Id9bc6bd5fe66da4c998ccb0b7d56b30f934dcb34
2021-05-25 20:36:26 +00:00
Fred Gylys-Colwell
20833734e1 Add fudge to duration tests
Merge from Widevine repo of http://go/wvgerrit/125046

Add some extra fudge to the termination time. This assumes that flaky
tests were caused by roundoff error.

Bug: 175741647
Change-Id: I9bcc86f9b9540e5985df647dd1b5c5d439556e2b
2021-05-25 20:26:43 +00:00
Fred Gylys-Colwell
eaa1e6d4a0 Merge "LUCI: Add build fuzz tests script to presubmits" into sc-dev 2021-05-25 20:19:49 +00:00
Alex Dale
1aff47bd4b Check for open session when initializing usage table. am: 023b06eded
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14296026

Change-Id: I3fe544e47f2dcf88448bf39cd18c1d6a218cad0e
2021-05-24 21:31:04 +00:00
Alex Dale
884550333d New usage entries are moved lower after creation.
[ Merge of http://go/wvgerrit/124004 ]

When the CDM creates a new usage entry for an offline or streaming
license, the new entry is immediately moved to the lowest available
entry index that has been marked as vacant (kStorageTypeUnknown).

When a license is released, its meta data that is managed by the CDM
is cleared; however, the usage entry's index is marked vacant, but it
is not released.  This creates wasted entry space in the usage table.
Unfortunately, defragging the table is computationally expensive and
may not be able to actually free up much space depending on when it
is performed.

For a typical user, this will likely not be an issue as the table
can get quite large compared to the number of licenses an app uses
and the table is partially cleaned on each boot.

GTS tests, however, have reached a point where they fill the usage
table before all tests are complete.  This is causing many unexpected
failures for devices.  Most of these tests release their license, but
the CDM never reaches a state where it can clean up the table.

By moving newly created entries to the lowest available index directly
after creating the entries, the table never needs to grow unless all
entries are in use.  Clean up is now almost never required.

Bug: 180639135
Bug: 180638990
Bug: 180638530
Test: MediaDrmTest#testWidevineApi28
Change-Id: I1a68d90d51384094298b27037778747ce7435374
2021-05-24 12:51:44 -07:00
Cong Lin
d542cb91b5 Sync L3 headers in sc-dev
Merge of these CLs from Widevine sc-dev:

modified:   libwvdrmengine/level3/include/clear_cache_function.h
  Add cache flush assembly for arm64 L3 to Android header | http://go/wvgerrit/124828
  Address compilation errors | http://go/wvgerrit/113083

modified:   libwvdrmengine/level3/include/level3_file_system_android.h
  Update Widevine Copyright header for android | http://go/wvgerrit/108084

Bug: 184866351
Test: Header changes for clearing cache is verified by one of the partners on their arm64 target;
https: //b.corp.google.com/issues/175432203#comment13

Change-Id: I0ac8f339f65d02abb3080020fbc715b9c0db85b2
2021-05-20 14:56:20 -07:00
Alex Dale
023b06eded Check for open session when initializing usage table.
[ Merge of http://go/wvgerrit/122984 ]

There was an issue encountered by some vendors with how the usage
table was initialized on some devices.  Previously, the CDM would
open an OEMCrypto session first, then initialize the usage table
(loading existing or creating a new one).  On these devices,
OEMCrypto_CreateUsageTableHeader() and OEMCrypto_LoadUsageTableHeader()
would fail if there were any open sessions.

This CL changes the initialization process to create/load the usage
table before opening an OEMCrypto session.

This change also lays the ground work for another usage table fix
to address GTS tests failure.

In the process, several of the functions for the usage table have been
split up into smaller chunks of code.  This required additional changes
to the usage table unittest to keep them up to date.

Bug: 169195093
Bug: 180639135
Test: Linux unittests and MediaDrmTest
Change-Id: Ifbf35f5d8cff5b89fea9b16edb998c84803f4fbe
2021-05-19 10:39:51 -07:00
TreeHugger Robot
c542472a0e Merge "Validate decryption with entitled keys in OEC tests" into sc-dev am: e233e68de1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14506727

Change-Id: I795dae66dea135602177fe688fef6160dff942ae
2021-05-17 22:18:27 +00:00
TreeHugger Robot
8cd6168dfe Merge "Remove asserts from GenerateSimpleSampleDescription()" into sc-dev am: 418d322961
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14506726

Change-Id: I7bfc106e46a61173236009d490f31d8dd2f9317c
2021-05-17 22:18:23 +00:00
TreeHugger Robot
e233e68de1 Merge "Validate decryption with entitled keys in OEC tests" into sc-dev 2021-05-17 22:09:52 +00:00
TreeHugger Robot
418d322961 Merge "Remove asserts from GenerateSimpleSampleDescription()" into sc-dev 2021-05-17 22:09:21 +00:00
TreeHugger Robot
e2b43f91ba Merge "[DO NOT MERGE] Revert "Restructed reference root of trust (3/3 OEM Cert)"" into sc-dev am: 4948331656
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14472446

Change-Id: I186dc35f50216b6fed5336b0143bc96f819f5e1f
2021-05-17 22:08:37 +00:00
Alex Dale
15b3e947bf [DO NOT MERGE] Revert "Restructed reference root of trust (3/3 OEM Cert)" am: fe28d4cafc
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14472446

Change-Id: Ie1359c954353362dbe6242dc3d7144baef8cc13f
2021-05-17 22:08:36 +00:00
TreeHugger Robot
4948331656 Merge "[DO NOT MERGE] Revert "Restructed reference root of trust (3/3 OEM Cert)"" into sc-dev 2021-05-17 21:50:36 +00:00
Alex Dale
fe28d4cafc [DO NOT MERGE] Revert "Restructed reference root of trust (3/3 OEM Cert)"
This reverts commit 9f7e2c4413.

Reason for revert: Feature missed deadline

Bug: 135283522
Change-Id: I63eb0431762fd13c64bef926fb1e64b6edacb156
2021-05-17 19:08:53 +00:00
John W. Bruce
d742daf9c7 Validate decryption with entitled keys in OEC tests
(This change is merged from http://go/wvgerrit/124825)

The OEMCrypto tests have tests that verify that entitled keys can be
loaded but not that they can be successfully used for decrypt. This
patch adds a decrypt portion to the existing tests.

As part of this, the existing Session::EncryptCTR() method and portions
of Session::TestDecryptCTR() are lifted to be static functions so they
can be shared across unrelated classes in oec_session_util.cpp.
EncryptCTR() had no dependence on its enclosing class and is unchanged
other than being moved outside the class.

To reduce ambiguity with the new decrypt verification, this patch also
renames EntitledMessage::VerifyEntitlementTestKeys() to the
more-specific EntitledMessage::VerifyKCBs(). Its behavior is unchanged.

Bug: 186782279
Test: x86-64 platform
Test: opk_ta platform
Test: build_and_run_all_unit_tests
Change-Id: I15156882907b0987215087aaf43b4666fedc171a
2021-05-11 12:52:24 -07:00
John W. Bruce
ed17d09c1b Remove asserts from GenerateSimpleSampleDescription()
(This change is merged from http://go/wvgerrit/124824)

GenerateSimpleSampleDescription() only had asserts to check parameters
that only came from other test code, so they weren't testing anything of
use. With the asserts removed, it's no longer necessary to wrap calls to
GenerateSimpleSampleDescription() with ASSERT_NO_FATAL_FAILURE(), which
a lot of callers were already forgetting to do anyway. This also
simplifies a future patch that will generalize the decryption test code
to work with entitlement licenses.

Bug: 186782279
Test: x86-64 platform
Test: build_and_run_all_unit_tests
Change-Id: I987427fdfee4826d77ab95344f9aca8c374b2001
2021-05-11 12:49:22 -07:00
TreeHugger Robot
b7b7621bfa Merge "[RESTRICT AUTOMERGE] Refresh L3 libraries after buffer overflow fix sc-dev" into sc-dev am: ddaae9a17b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14235494

Change-Id: I1738b48d1c04c42f34f6260ed6e6945d9ee7a689
2021-05-10 22:18:57 +00:00
Cong Lin
c359d0c43e [RESTRICT AUTOMERGE] Refresh L3 libraries after buffer overflow fix sc-dev am: 22f8ee9498
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14235494

Change-Id: Iad006fa4f21260c7f51f5b5c170a8bfb1906a6dd
2021-05-10 22:18:54 +00:00
TreeHugger Robot
ddaae9a17b Merge "[RESTRICT AUTOMERGE] Refresh L3 libraries after buffer overflow fix sc-dev" into sc-dev 2021-05-10 22:02:06 +00:00
Fred Gylys-Colwell
d3942b242c LUCI: Add build fuzz tests script to presubmits
Merge from Widevine repo of http://go/wvgerrit/123803

Update fuzz build script to use gyp from third_party folder.

Test: ran fuzz tests on luci
bug: 186271314
bug: 184866351
Change-Id: If530872aa1e60d2108932610415aa5315979390c
2021-05-10 17:44:50 +00:00
Rahul Frias
7318c674bc Merge "Disallow the ability to load offline licenses more than once" into sc-dev am: bb0b6b4ba5
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14307365

Change-Id: Ida8ec0057d7e6d9bb60007a02e29ff2e808df645
2021-05-07 22:34:46 +00:00
Rahul Frias
bb0b6b4ba5 Merge "Disallow the ability to load offline licenses more than once" into sc-dev 2021-05-07 22:21:03 +00:00