Commit Graph

5835 Commits

Author SHA1 Message Date
TreeHugger Robot
4edb15597d Merge "Update OEMCrypto buffer offset tests" into sc-dev am: 41d7b74558 am: 88c6500ba2 am: 3714a2c29a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15055162

Change-Id: Icbbf3c38343990d10c2d1a1e64b5c7084c607bde
2021-06-30 21:24:27 +00:00
TreeHugger Robot
fd01107b54 Merge "Allow delayed error code in generic crypto" into sc-dev am: 99c4d463d9 am: 6e6bdad32a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15008617

Change-Id: Icdea1cd603a893c05e63088567cbabebeba9ee71
2021-06-30 21:24:26 +00:00
TreeHugger Robot
6d1898f20f Merge "Sync oemcrypto reference code" into sc-dev 2021-06-30 21:20:58 +00:00
TreeHugger Robot
0daff1c13d Merge "Allow delayed error code in generic crypto" into sc-dev am: 99c4d463d9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15008617

Change-Id: I57414ecc7b7e99f4ce2714a96d4b550798ce8071
2021-06-30 21:15:47 +00:00
TreeHugger Robot
6e6bdad32a Merge "Allow delayed error code in generic crypto" into sc-dev am: 99c4d463d9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15008617

Change-Id: Ib59abf06d1c387c9d869d5de31a4db68cc5ae3d6
2021-06-30 21:14:58 +00:00
TreeHugger Robot
f08ae7b4be Merge "Allow delayed error code in generic crypto" into sc-dev am: 99c4d463d9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15008617

Change-Id: Iec15443dd0894048448302c278dbe4afd531f50f
2021-06-30 21:14:49 +00:00
TreeHugger Robot
25e69c97fb Merge "Update OEMCrypto buffer offset tests" into sc-dev am: 41d7b74558 am: 6c4b357836
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15055162

Change-Id: I0ceedbafbe98513d5f9996bcc176e98c91f5eca0
2021-06-30 21:12:16 +00:00
TreeHugger Robot
3714a2c29a Merge "Update OEMCrypto buffer offset tests" into sc-dev am: 41d7b74558 am: 88c6500ba2
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15055162

Change-Id: I00d5f291bf1bb17d8f85b1e9164322d6f8476c7e
2021-06-30 21:11:45 +00:00
TreeHugger Robot
af0ac69fad Merge "Update OEMCrypto buffer offset tests" into sc-dev am: 41d7b74558 am: ae3815c1fa
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15055162

Change-Id: I2baacf116ca77a092953532ee6997cb55a9890ed
2021-06-30 21:11:21 +00:00
TreeHugger Robot
99c4d463d9 Merge "Allow delayed error code in generic crypto" into sc-dev 2021-06-30 21:06:17 +00:00
TreeHugger Robot
88c6500ba2 Merge "Update OEMCrypto buffer offset tests" into sc-dev am: 41d7b74558
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15055162

Change-Id: I7f3f64bec9748f6045cc33b67b9f8c7dbe0ded15
2021-06-30 21:02:07 +00:00
TreeHugger Robot
ae3815c1fa Merge "Update OEMCrypto buffer offset tests" into sc-dev am: 41d7b74558
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15055162

Change-Id: Iab7ed5adf15a1613e9d8410c4a49dd35e321880f
2021-06-30 21:00:51 +00:00
TreeHugger Robot
6c4b357836 Merge "Update OEMCrypto buffer offset tests" into sc-dev am: 41d7b74558
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15055162

Change-Id: I440325ba59bfaf1f3e10efcb9a96f1a894394b85
2021-06-30 21:00:05 +00:00
TreeHugger Robot
41d7b74558 Merge "Update OEMCrypto buffer offset tests" into sc-dev 2021-06-30 20:49:57 +00:00
Rahul Frias
2327a7d861 Merge "Address unit test failures" into sc-dev am: 5271d95ce4 am: 8648cc7b4a am: 00adc49f32
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: I8190e9a42b5b9da49c6354f5c42b863780832dfd
2021-06-30 20:12:10 +00:00
Rahul Frias
1d9f0f3f38 Merge "Address unit test failures" into sc-dev am: 5271d95ce4 am: 725f3d9e18 am: c6f013efdc
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: I6847c21738aa7f11ffa4bafe1f05f8aa00301842
2021-06-30 20:12:04 +00:00
Rahul Frias
00adc49f32 Merge "Address unit test failures" into sc-dev am: 5271d95ce4 am: 8648cc7b4a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: I838f481e9c9a3d8db16320f38e5c6ebc396163a3
2021-06-30 19:57:54 +00:00
Rahul Frias
c6f013efdc Merge "Address unit test failures" into sc-dev am: 5271d95ce4 am: 725f3d9e18
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: Id1078dce988bd92d664acf7473e90cb30eace40d
2021-06-30 19:57:42 +00:00
Rahul Frias
1c74895135 Merge "Address unit test failures" into sc-dev am: 5271d95ce4 am: 171096b9bb
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: I2dc400c613a289a51ddb546cd31a9b4aae4d589a
2021-06-30 19:57:09 +00:00
Rahul Frias
725f3d9e18 Merge "Address unit test failures" into sc-dev am: 5271d95ce4
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: Ic5924bf04b90398d41863f95f7a2d43b732d60f2
2021-06-30 19:42:13 +00:00
Rahul Frias
171096b9bb Merge "Address unit test failures" into sc-dev am: 5271d95ce4
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: I4c45f2eedaed5f8f2bdca5efad36392faf58028e
2021-06-30 19:41:26 +00:00
Rahul Frias
8648cc7b4a Merge "Address unit test failures" into sc-dev am: 5271d95ce4
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: If13a949056c15529919f076c1e903fcdd15d0eb7
2021-06-30 19:41:08 +00:00
Rahul Frias
5271d95ce4 Merge "Address unit test failures" into sc-dev 2021-06-30 19:30:22 +00:00
Fred Gylys-Colwell
2d9bdfea58 Update OEMCrypto buffer offset tests
Merge from Widevine repo of http://go/wvgerrit/127524

Some unit tests used the response buffer size before the size had been
computed. This CL updates the tests.

Bug: 183440999
Bug: 184866351
Test: Ran unit tests on Prov 3.0 device.
Change-Id: I0b23dc7b0dafa9b9eab3cdbd7f29074898e4709b
2021-06-30 17:46:18 +00:00
Alex Dale
14bd15a08c PST and non PST can handle unlimited license durations.
[ Merge of http://go/wvgerrit/128183  ]

As was the case with WvCdmStreamingUsageReportTest.ReportTest, the
following tests were also updated to handle the case where "license
duration" is unlimited:
- WvCdmStreamingNoPstTest.UsageTest
- WvCdmStreamingPstTest.UsageTest
- WvCdmOfflineUsageReportTest.UsageTest

This is due to the new license duration model used for V16 licenses.

Bug: 163542905
Test: cdm_extended_duration_test
Change-Id: I24d3fc17fcf19129a19ed39a5c6c1ddd59ed073d
2021-06-30 10:41:07 -07:00
Rahul Frias
c882bd8230 Correct an error reported when a license is restored and then released
[ Merge of http://go/wvgerrit/128143 ]

Now reports LICENSE_STATE_ERROR rather than ERROR_DRM_GENERIC_PLUGIN
to make the cause of failure and suggested action more clear for app
developers. Also added an additional error log.

Bug: 190645000
Test: WV unit/integration tests
Change-Id: Ib23ca628c590316f90f497d8fdfbab24fd644d6f
2021-06-29 20:21:06 -07:00
TreeHugger Robot
f6211cf0ee Merge "Remove OEMCrypto reference" 2021-06-29 18:10:29 +00:00
Fred Gylys-Colwell
052016eb57 Add extra RSA private keys to unit tests
Merge from Widevine repo of http://go/wvgerrit/128047

There have been some failures with various RSA private keys. We add
them to the unit tests to make sure that OEMCrypto is able to load
these types of keys:
* Shorter: than normal private exponents. This seems to occur
  occasionally even with Euler totients. But it occurs more with
  Carmichael totients.
* 0-leading-byte: private exponents. This also occurs naturally for
  both Euler and Carmichael totients.
* Carmichael: vs Euler totients. I think we may already have tests for
  this. But just in case.

Bug: 190450051
Test: ran unit tests on bonito (and they passed!)
Change-Id: Id64ec738479eb8a0f77e253bace319cebe918d3f
2021-06-29 16:47:20 +00:00
Fred Gylys-Colwell
42188c007a Remove OEMCrypto reference
Merge from Widevine repo of http://go/wvgerrit/125203

The OEMCrypto reference is not used/built on Android.  It was being
published to aid OEMs in their development, but now the OPK library
is the implementation to be used by OEMs.

Bug: 187556088
Bug: 184866351
Test: Ran android/copy_files
Change-Id: Ie787bcf9c66a7605700c3dc29a8aa16406926ce3
2021-06-29 15:51:12 +00:00
Fred Gylys-Colwell
58c1ea1fa2 Cache security level
Merge from Widevine repo of http://go/wvgerrit/127743

There was some confusion about who owned the OEMCrypto security level
string in a multithreaded environment. This is solved by caching the
security level at initialization time.

Bug: 188706160
Test: ran unit tests on bonito
Change-Id: I93af3bb2e5a8bf190627ee568f752b5ea9543306
2021-06-29 05:42:41 +00:00
Alex Dale
a9e26bdc2b Updated integration test to handle unlimited license durations.
[ Merge of http://go/wvgerrit/128046 ]

Test case WvCdmStreamingUsageReportTest.WvCdmStreamingUsageReportTest
was failing comparing "license duration" values returned when querying
for key information for licenses with unlimited "rental duration".

This is due to the new license duration model used for V16 licenses.

From the Widevine MediaDrm doc for "LicenseDurationRemaining":

  For OEMCrypto v16+ (Android 11 and later), license duration is no
  longer being enforced. If rental duration is set to never expire,
  ”9223372036854775807” (LLONG_MAX) will be returned.

Similarly, the test has been updated for "playback duration" queries
of the same case.

Bug: 163542905
Test: cdm_extended_duration_test

Change-Id: I57e0e435631a151fac45c963d865de256a773644
2021-06-28 22:35:52 -07:00
Cong Lin
2da0fbb648 [automerger skipped] Fix L3 clock loading issue am: 61218ec6cf -s ours am: 4ec9cb9772 -s ours am: b305995fc1 -s ours
am skip reason: skipped by user conglin

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

Change-Id: Ieb295cce9ef1b1d648c4dd03e5d6eb30f399cd1a
2021-06-25 23:44:57 +00:00
Cong Lin
a7522bb905 [automerger skipped] Fix L3 clock loading issue am: 61218ec6cf am: 1860e3f0f0 -s ours am: 344693b292 -s ours
am skip reason: skipped by user conglin

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

Change-Id: I984f04b3fdafef5f032c654c48a0491d9b0cec48
2021-06-25 23:43:55 +00:00
Cong Lin
b305995fc1 [automerger skipped] Fix L3 clock loading issue am: 61218ec6cf -s ours am: 4ec9cb9772 -s ours
am skip reason: skipped by user conglin

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

Change-Id: Ide6a58773abf249b64b8b9d4384de46f2be121aa
2021-06-25 23:41:50 +00:00
Cong Lin
344693b292 [automerger skipped] Fix L3 clock loading issue am: 61218ec6cf am: 1860e3f0f0 -s ours
am skip reason: skipped by user conglin

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

Change-Id: Ib82bb4ab7c2b58416501b5ae8e2937da3fce8a15
2021-06-25 23:28:01 +00:00
Cong Lin
4ec9cb9772 [automerger skipped] Fix L3 clock loading issue am: 61218ec6cf -s ours
am skip reason: skipped by user conglin

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

Change-Id: Idb8807462ba9213a747368fa959b463eb0dd525d
2021-06-25 23:27:55 +00:00
Cong Lin
e98c9150df [RESTRICT AUTOMERGE] Fix L3 clock loading issue
This is a manual merge of ag/14930112 to address an auto merge conflict.

Changes in the obfuscated L3 library:

L3 loads clock info from an encrypted file during initialization. There
is a bug which calls the clock loading function before the decryption
key gets intialized in InitializeEngine(). Clock will be loaded with bad
decrypted data, which caused playback failure after system reboot.

The fix is to move clock loading after InitializeEngine() to ensure
decryption key is ready.

Bug: 191988567
Test: L3 unit tests;
Test: Manual playback tests on Netflix
      Download, play, reboot device, play again
Test: GTS tests https://android-build.googleplex.com/builds/tests/view?invocationId=I02800009363823424&testResultId=TR23225132004211909&redirect=http://sponge2/73efa8e8-951a-48bb-b2a9-0b09d5038ed3
Change-Id: I947775dc05eb000f1860a889510927861e1d169c
2021-06-25 18:46:21 +00:00
Cong Lin
49f23ff25b Fix L3 clock loading issue am: 61218ec6cf am: c16317b811
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14930112

Change-Id: I42fdcdeef1e21ecf8cbeae8d67428de93b7757c5
2021-06-24 19:13:18 +00:00
Cong Lin
c16317b811 Fix L3 clock loading issue am: 61218ec6cf
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14930112

Change-Id: I3e58e10f94719dccf617fb866bb15baba61ee868
2021-06-24 18:47:31 +00:00
Cong Lin
1860e3f0f0 Fix L3 clock loading issue am: 61218ec6cf
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14930112

Change-Id: If1885fe6aa662aba4d5d1cc710536f031c64223c
2021-06-24 18:46:27 +00:00
Fred Gylys-Colwell
830a7acc48 Sync oemcrypto reference code
This is a merge from the Widevine repo of
http://go/wvgerrit/117311
Update backwards compatibility builds

http://go/wvgerrit/117423
Restrict maximum size of key id
To protect from out-of-memory found by fuzz testing.

http://go/wvgerrit/117683
Generation number should wrap

The master generation number should wrap around on overflow. This
means that we cannot use less than to check for a skew of 1.

http://go/wvgerrit/119232
Replace 0 with nullptr

Bug: 176234903
Bug: 184866351
Bug: 161243686
Test: ran unit tests (CL affects test code only)
Merged-In: Ie787bcf9c66a7605700c3dc29a8aa16406926ce3
Change-Id: I2b02a36a70a0920f31ffc00de102a23516d4b20e
2021-06-24 03:38:55 +00:00
Cong Lin
61218ec6cf Fix L3 clock loading issue
This is a merge of http://go/wvgerrit/126703
Only obfuscated libraries for Android are included in this CL.

L3 loads clock info from an encrypted file during initialization. There
is a bug which calls the clock loading function before the decryption
key gets intialized in InitializeEngine(). Clock will be loaded with bad
decrypted data, which caused playback failure after system reboot.

The fix is to move clock loading after InitializeEngine() to ensure
decryption key is ready.

Bug: 188873354
Bug: 188892717
Test: L3 unit tests;
Test: Manual playback tests on Netflix
      Download, play, reboot device, play again
Test: GTS tests https://android-build.googleplex.com/builds/tests/view?invocationId=I02800009363823424&testResultId=TR23225132004211909&redirect=http://sponge2/73efa8e8-951a-48bb-b2a9-0b09d5038ed3

Change-Id: Icf34aa3135fdcb77dea8104a90ce90f14e79e61c
2021-06-21 22:15:18 +00:00
Fred Gylys-Colwell
50a52710fa Allow delayed error code in generic crypto
Merge from Widevine repo of http://go/wvgerrit/127246

The unit tests WvGenericCryptoTest expected an error code to be
returned from SelectKey. But we allow an invalid key to be signaled
either at SelectKey or later when the decrypt operation occurs.

This CL just updates the tests.

Bug: 190745519
Test: ran tests on bonito
Change-Id: Ibacc92d6a6e708f2f104cb549b5845335f6c8cf5
2021-06-17 04:33:50 +00:00
Rahul Frias
a4d71d9b9c Update VersionNumberTest.VersionNumberChangeCanary am: 52d3c9f7c1 am: 44fdfb8047 am: 7445e37359
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14899053

Change-Id: I0d31714225225e5185c570a5a98bb4d0f05330bc
2021-06-15 18:30:03 +00:00
Rahul Frias
92d2259e39 Update VersionNumberTest.VersionNumberChangeCanary am: 52d3c9f7c1 am: 8e8cbfac39 am: 1fdced8cc6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14899053

Change-Id: Ic73ba29c3613e247786edee26e4ac814a9d6dff5
2021-06-15 18:29:50 +00:00
Rahul Frias
7445e37359 Update VersionNumberTest.VersionNumberChangeCanary am: 52d3c9f7c1 am: 44fdfb8047
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14899053

Change-Id: Ic2468e0590d4a64540ae47d122df0dfb9537225b
2021-06-15 18:19:58 +00:00
Rahul Frias
1fdced8cc6 Update VersionNumberTest.VersionNumberChangeCanary am: 52d3c9f7c1 am: 8e8cbfac39
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14899053

Change-Id: Ie4bfc075edd992a4c56a6f9d7d9ce6db533fde62
2021-06-15 18:19:29 +00:00
Rahul Frias
37df759734 Update VersionNumberTest.VersionNumberChangeCanary am: 52d3c9f7c1 am: 90fd9b76ef
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14899053

Change-Id: I8baa27feb3ca0b279db880930990f1b5767aba54
2021-06-15 18:19:01 +00:00
Rahul Frias
8e8cbfac39 Update VersionNumberTest.VersionNumberChangeCanary am: 52d3c9f7c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14899053

Change-Id: I2fb9f742375cc7191aed1a7748126f36f4ff9b40
2021-06-15 18:07:47 +00:00
Rahul Frias
44fdfb8047 Update VersionNumberTest.VersionNumberChangeCanary am: 52d3c9f7c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14899053

Change-Id: I335ad1d8f528fe22ceff0100e922fe503f161e86
2021-06-15 18:06:46 +00:00