Commit Graph

2307 Commits

Author SHA1 Message Date
Fred Gylys-Colwell
6de0bd8486 Add watch dog timer to OEMCrypto L3
am: e20e909cbd

Change-Id: I9298abc1539cb7170c5b11b14af5f7dacd09a970
2017-07-20 01:42:58 +00:00
Fred Gylys-Colwell
e20e909cbd Add watch dog timer to OEMCrypto L3
Merge from Widevine repo of http://go/wvgerrit/29861

This code adds a watchdog timer to the oemcrypto initialization.  If
initialization does not finish within 5 seconds, the process will
abort.

Testing: see code in patch 1.  Watch dog was forced while using Play
Movies.  The busy spinner spun for at least 5 seconds, but Play Movies
was able to restart itself.

b/62106796

Change-Id: Ib59f5bc4a484eff1dc386e07a4b198ecb713c69b
2017-07-19 16:35:46 -07:00
Jeff Tinker
4477ef2901 Temporarily disable WV L1
am: 0bbbf7d84e

Change-Id: I40bb40b52d7de24108de0bf9afc85157ad1381af
2017-07-14 05:04:48 +00:00
Jeff Tinker
0bbbf7d84e Temporarily disable WV L1
For dogfooding, force fallback to widevine L3

bug:63673310
Change-Id: Ib222d4119e358ecfdaae44d1627d914a9b79d44e
2017-07-14 04:58:11 +00:00
Tom Cherry
6e8c82a416 remove extraneous using namespace android and deprecate utils/Log.h
am: 6b2787121c

Change-Id: I1c2e5311a126295a98650dde433c111b22d894b5
2017-07-13 16:13:55 +00:00
Tom Cherry
6b2787121c remove extraneous using namespace android and deprecate utils/Log.h
This namespace is not used by this file and its declaration is removed
in a separate CL from utils/Log.h, which is the only place it is
defined, so we must remove this extraneous line.

Also, since that separate CL is deprecating utils/Log.h in favor of
log/log.h, we make the switch to the new header.

Test: Build

Change-Id: Iac4bc8faffbd2d68dc4ccccaf569db0c5a13a7bc
2017-07-12 17:13:01 -07:00
John W. Bruce
c48711d0ff Add Bounds Check to initDataResemblesPSSH
am: ce01000c1b

Change-Id: Ia40ae99bc17f2006901ca2cd91054a9ae3768a59
2017-06-30 01:10:11 +00:00
John W. Bruce
ce01000c1b Add Bounds Check to initDataResemblesPSSH
(Merge from http://go/wvgerrit/29180)

initDataResemblesPSSH was not checking if the buffer was large enough to
contain the PSSH markers that it was looking for. Consequently, it could
read data past the end of the buffer.

Bug: 63076692
Test: Unit Tests
Test: Google Play Movies
Change-Id: I6a4a3fa4b05d98554645f3c3149569702c96fd66
2017-06-28 19:26:37 -07:00
Steven Moreland
ee41ad8b01 Use vendor variant of libstagefright_foundation.
am: 6af84a8821

Change-Id: I5bb09d744733eeb107c1e5a4227f58553fa6266e
2017-06-26 17:59:58 +00:00
Steven Moreland
6af84a8821 Use vendor variant of libstagefright_foundation.
Rather than having a lib called libstagefright_foundation and one
called libstagefright_foundation_vendor, we now just have one library
and the build system keeps track of the vendor APIs that are exposed.

Test: (sanity) boot device, watch (part of) DRM protected movie.
Change-Id: I38d5391475432ba9597e0bf20f669042b6265859
2017-06-22 17:11:30 -07:00
Jiyong Park
56102aedaf Merge "Use libstagefright_foundation_vendor" into oc-dr1-dev
am: 5fb6323de8

Change-Id: I8db43f57e08c5744ca0c76a1c0ea20526f8819bd
2017-06-20 05:46:55 +00:00
TreeHugger Robot
5fb6323de8 Merge "Use libstagefright_foundation_vendor" into oc-dr1-dev 2017-06-20 05:40:13 +00:00
John W. Bruce
5f40a98ced Pass CdmIdentifier to UsageInfo Methods am: 43b8522b70
am: 32b6cb55e7

Change-Id: I78164b2721078ca2e2eda81e9b67f6f9065f35e0
2017-06-19 23:51:15 +00:00
John W. Bruce
6db464ca54 Pass CdmIdentifier to UsageInfo Methods am: 43b8522b70
am: ed50683f80

Change-Id: I4f53e33add64146e595ea0366b5830e2fbc15436
2017-06-19 23:45:21 +00:00
John W. Bruce
32b6cb55e7 Pass CdmIdentifier to UsageInfo Methods
am: 43b8522b70

Change-Id: Idff718d6a370fd927f4cc9019a482698313175a0
2017-06-19 23:34:21 +00:00
John W. Bruce
ed50683f80 Pass CdmIdentifier to UsageInfo Methods
am: 43b8522b70

Change-Id: Ida417b7043115f54c9b8daaa75d417dea39aafe6
2017-06-19 23:32:23 +00:00
John W. Bruce
43b8522b70 Pass CdmIdentifier to UsageInfo Methods
The methods on WvContentDecryptionModule related to UsageInfo (Secure
Stops) do not work if kDefaultCdmIdentifier has not been provisioned.
This can occur if an app provisions and uses an origin without any app
on that device ever provisioning the default origin. More concerningly,
this will happen 100% of the time on SPOID-using devices, as there is no
way to provision the default identifier on these devices.

The fix is to pass the current identifier to these methods so that they
do not have to use kDefaultCdmIdentifier.

Test: build_and_run_all_unit_tests.sh
Test: WV GTS Tests
Bug: 62431478
Change-Id: I92a8b4acb69c964abe8129bccf2ff48a66c4a9e0
2017-06-16 17:59:24 -07:00
Jiyong Park
a632dd3bb4 Use libstagefright_foundation_vendor
libwvdrmengine is a library in vendor. When BOARD_VNDK_VERSION is turned
on, any lib in vendor partition can only link against to other vendoor
libs or libs marked as vendor_available:true. This lib is using
libstagefright_foundation and the lib is not available to vendors.
Instead, libstagefright_foundation_vendor is provided as a
vendor-variant of the foundation library. Thus switching to the vendor
variant.

Bug: 37462569
Test: m libwvdrmengine
Change-Id: I1f83eb71a3ba496889f1fa5771029cd8b603f258
2017-06-15 11:02:17 +09:00
Rahul Frias
98ce1a0666 Merge "Usage license handling corrections" into oc-dev am: c3cdb531d4
am: ab0cb541d0

Change-Id: I63c3503d9021e5ab7e9fb21c0b38efaa431bff73
2017-06-13 23:06:52 +00:00
Rahul Frias
93f5f43107 Merge "Usage license handling corrections" into oc-dev am: c3cdb531d4
am: 1073526555

Change-Id: Ib7f14ce42b9aba16025c5396e32b6427f92b759c
2017-06-13 22:52:23 +00:00
Rahul Frias
ab0cb541d0 Merge "Usage license handling corrections" into oc-dev
am: c3cdb531d4

Change-Id: Ideb1ee0c9735fc83c28ac3064f804650ab98c99e
2017-06-13 22:46:07 +00:00
Rahul Frias
1073526555 Merge "Usage license handling corrections" into oc-dev
am: c3cdb531d4

Change-Id: Ib7a6b14cd009abf2247bad28939c06938c07db0a
2017-06-13 22:45:53 +00:00
Rahul Frias
c3cdb531d4 Merge "Usage license handling corrections" into oc-dev 2017-06-13 22:40:54 +00:00
Kyle Alexander
d64d29d241 Merge "Update unit tests to build into /data/bin" into oc-dev am: b683d2be57
am: 15cfe0abfa

Change-Id: I35712b099797911bef1167a51ae3bd5d7fda686a
2017-06-13 22:29:36 +00:00
Kyle Alexander
b13900af37 Merge "Update unit tests to build into /data/bin" into oc-dev am: b683d2be57
am: fc7e636bdf

Change-Id: I311feb5f5f0c060bf776780de4cca3395d023239
2017-06-13 22:21:39 +00:00
Kyle Alexander
15cfe0abfa Merge "Update unit tests to build into /data/bin" into oc-dev
am: b683d2be57

Change-Id: I6c5cc5924b0a8eb52c235eef24cbd08efaf298dc
2017-06-13 22:18:18 +00:00
Kyle Alexander
fc7e636bdf Merge "Update unit tests to build into /data/bin" into oc-dev
am: b683d2be57

Change-Id: I1a88eb1d4f9a8d1df6fc66f6277c5afc5ead9c07
2017-06-13 22:18:14 +00:00
TreeHugger Robot
b683d2be57 Merge "Update unit tests to build into /data/bin" into oc-dev 2017-06-13 22:10:13 +00:00
Kyle Alexander
038580c6c9 Update unit tests to build into /data/bin
Tradefed needs these tests to be in the /DATA directory.

Test: cd vendor/widevine && ./build_and_run_all_unit_tests
      All tests should build and pass.
      make tests
      unzip android-tests.zip and verify all tests located in DATA/bin

Bug: 62055647
Change-Id: I35925e29558561c4726bb2249499bfee4e54cf45
2017-06-12 23:48:15 -07:00
Rahul Frias
db05f1e01c Usage license handling corrections
[ Merge of http://go/wvgerrit/28460 ]

Validate that offline licenses that do not contain a provider session
token are not handled by the TEE.

b/38490468

Test: WV Unit/integration tests, GtsMediaTestCases,
      WvCdmRequestLicenseTest.ReleaseRetryL3OfflineKeySessionUsageDisabledTest

Change-Id: Idaf62f2a882ae933c1a3e108d791943034780a46
2017-06-12 20:03:57 -07:00
Android Build Merger (Role)
f0aeeb6b45 Merge "Recreate usage tables on error am: 4228e2327e am: 61f0de0e7d" into oc-dr1-dev-plus-aosp 2017-06-09 23:48:39 +00:00
Rahul Frias
96535eacce Recreate usage tables on error am: 4228e2327e
am: 61f0de0e7d

Change-Id: I593f203ea70af3f7664286e5704350a7cfadd245
2017-06-09 23:48:32 +00:00
Rahul Frias
9eaf7cf958 Recreate usage tables on error am: 4228e2327e
am: fcc1c1a54d

Change-Id: Iff7b153eb2506792cee94ff29544b6048305e16d
2017-06-09 23:48:31 +00:00
Rahul Frias
fcc1c1a54d Recreate usage tables on error
am: 4228e2327e

Change-Id: I66140b35d3b992aaedb15c8e2dd2167127183eb3
2017-06-09 23:47:01 +00:00
Rahul Frias
61f0de0e7d Recreate usage tables on error
am: 4228e2327e

Change-Id: I249dc9ee4c01dc24eb68a2ee876b800449ac7e3c
2017-06-09 23:47:01 +00:00
Rahul Frias
4228e2327e Recreate usage tables on error
[ Merge of http://go/wvgerrit/28265 ]

A vendor specific error (10008) in response to OEMCrypto_LoadKeys
indicates that usage table corruption has occurred and that
the only way to recover is to regenerate usage tables.
Recreating usage tables will result in loss of offline licenses
and usage information. To make the app aware that this information
will be lost, a provisioning exception is generated when this error
is detected. The app can then choose to reprovision and in turn
delete and recreate usage tables.

A new OEMCrypto error has been added whose use has been reserved.
Rather than correct OEMCrypto behaviour to use the new error code,
we choose to handle this within the CDM. The fix can then be ported
to prior android releases. Also this error will not be generated
with OEMCrypto V13+.

b/33817629

Test: WV Unit, integration and GTS tests.
Change-Id: I936fc234d101b6a92d86f5735d035d19ddcf19e3
2017-06-08 23:46:04 -07:00
Android Build Merger (Role)
119789fd2d Merge "Correct offline license handling am: 1857da2c8c am: 2efd7d71fa" into oc-dr1-dev-plus-aosp 2017-06-08 09:54:10 +00:00
Rahul Frias
e6472525a6 Correct offline license handling am: 1857da2c8c
am: 2efd7d71fa

Change-Id: Ic583cadef5288aa5915c0379e2fc8086e573f3c5
2017-06-08 09:54:04 +00:00
Rahul Frias
ce54031351 Correct offline license handling am: 1857da2c8c
am: 4c8af4872d

Change-Id: Ic6225dc3013b19183b00135f8694e02839df7939
2017-06-08 09:54:01 +00:00
Rahul Frias
4c8af4872d Correct offline license handling
am: 1857da2c8c

Change-Id: Ieebed7532da0e2de79e9cfafa20c40d1aed10b0f
2017-06-08 09:51:51 +00:00
Rahul Frias
2efd7d71fa Correct offline license handling
am: 1857da2c8c

Change-Id: I8aa8408f5f81851de20bea6ad8c501d45894327d
2017-06-08 09:51:36 +00:00
Rahul Frias
1857da2c8c Correct offline license handling
[ Merge of http://go/wvgerrit/28261 ]

Licenses (offline, secure stops) that contain provider session tokens
are handled securely using usage tables. A recent fix did not correctly
handle offline licenses that do not contain a provider session token and
are not handled by the TEE.

b/62340248
Test: WV Unit/integration tests, GtsMediaTestCases

Change-Id: Ia1331fea9deff44dd1d93219b37f5bea4b8ee168
2017-06-07 17:23:27 -07:00
Rahul Frias
be7a3c5494 Merge "Update Widevine integration test to match android version" into oc-dev am: ba346a1bea
am: 658dbe1dc7

Change-Id: I23316e905af3e618d1e5d266e83051eef8ba6cb8
2017-05-31 21:39:48 +00:00
Rahul Frias
658dbe1dc7 Merge "Update Widevine integration test to match android version" into oc-dev
am: ba346a1bea

Change-Id: I8aa8d2711a7e0ddd3a44a964daff9d7db3f3a7a7
2017-05-31 21:37:46 +00:00
Rahul Frias
ea3cf8472b Merge "Corrections for big usage table support in L3" into oc-dev am: 9edaf2ab39
am: 97a77d4c2c

Change-Id: Ie8949a574ae8ea3c9219fe483eeae985a54b05cd
2017-05-31 21:36:00 +00:00
Rahul Frias
ba346a1bea Merge "Update Widevine integration test to match android version" into oc-dev 2017-05-31 21:31:14 +00:00
Rahul Frias
97a77d4c2c Merge "Corrections for big usage table support in L3" into oc-dev
am: 9edaf2ab39

Change-Id: I4651713271f53d0aca77d8ecaaae57f3ab855471
2017-05-31 21:31:03 +00:00
Rahul Frias
9edaf2ab39 Merge "Corrections for big usage table support in L3" into oc-dev 2017-05-31 21:12:21 +00:00
Fred Gylys-Colwell
20175a21d8 Merge "Update Docs for OEMCrypto v13.2" into oc-dev am: d64169c1da
am: efeb2e0593

Change-Id: I45be643dd553257556d2d562b328cccb49e725f1
2017-05-31 19:46:49 +00:00
Fred Gylys-Colwell
b232f86bfb Merge "Build level 3 with latest updates" into oc-dev am: 31a2af7c17
am: 7316aba6fc

Change-Id: Id460f428e607a67b815fbf974ecda149d4a08979
2017-05-31 19:46:39 +00:00