Commit Graph

2591 Commits

Author SHA1 Message Date
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
Rahul Frias
40d6ab2719 Merge "Recreate usage tables on error am: 4228e2327e am: 61f0de0e7d" into oc-dr1-dev-plus-aosp
am: f0aeeb6b45

Change-Id: Ic494c55e0b7d425382ea94b110c9109c665ccd1c
2017-06-10 00:01:54 +00:00
Rahul Frias
0e920107f9 Recreate usage tables on error am: 4228e2327e am: fcc1c1a54d
am: 9eaf7cf958

Change-Id: I8e37c97a0a0b0a020bb3f3046682b5982ad6b9d1
2017-06-10 00:01:39 +00: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
Rahul Frias
ce672304f9 Merge "Correct offline license handling am: 1857da2c8c am: 2efd7d71fa" into oc-dr1-dev-plus-aosp
am: 119789fd2d

Change-Id: I787e933e69ca4240674ee548b1ef12d92cdc94e1
2017-06-08 16:13:56 +00:00
Rahul Frias
7f3578aaab Correct offline license handling am: 1857da2c8c am: 4c8af4872d
am: ce54031351

Change-Id: I6ffef72ad17a2e9a56b7738da8c800af1dd8bda9
2017-06-08 16:13:42 +00: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
Edwin Wong
947f06a0ae Merge "Fix and rename ClosesSessionWithoutReturningError test." 2017-06-07 15:00:31 +00: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
Fred Gylys-Colwell
efeb2e0593 Merge "Update Docs for OEMCrypto v13.2" into oc-dev
am: d64169c1da

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

Change-Id: I731cace0d95a3d624f1787ae9e93697100e5c0d4
2017-05-31 19:28:32 +00:00
TreeHugger Robot
d64169c1da Merge "Update Docs for OEMCrypto v13.2" into oc-dev 2017-05-31 19:26:10 +00:00
TreeHugger Robot
31a2af7c17 Merge "Build level 3 with latest updates" into oc-dev 2017-05-31 19:18:33 +00:00
Edwin Wong
262219114b Fix and rename ClosesSessionWithoutReturningError test.
Merge from http://go/wvgerrit/27880

ClosesSessionWithoutReturningError should not check for
Status::OK since it is expecting an error code back.
The test is renamed to ClosesSessionWithError.

Test: libwvdrmdrmplugin_hidl_test

bug: 62205215
Change-Id: Ic57733c6adc7242413cf3cb74f03ac41f764c42c
2017-05-31 11:44:11 -07:00
Fred Gylys-Colwell
101f2b11d5 Use mac keys from usage entry if keys are not loaded am: 8138df1c86
am: af34b31112

Change-Id: I1617e3f91576201228ca896682697681c1fede71
2017-05-31 17:41:22 +00:00
Fred Gylys-Colwell
af34b31112 Use mac keys from usage entry if keys are not loaded
am: 8138df1c86

Change-Id: I00c781d2074be6ec7358ad208a6dc91b0bfdb7a8
2017-05-31 17:37:13 +00:00
Rahul Frias
5da8da58f6 Corrections for big usage table support in L3
[ Merge of http://go/wvgerrit/26421 ]

* Corrects usage_table_header lifetime management. Earlier the
  UsageTableHeader class was a singleton tied to the CdmEngine lifetime.
  With SPOIDs there might be multiple concurrent CdmEngine objects.
  The UsageTableHeader class is now associated with OEMCrypto
  lifetime. There are two UsageTableHeader objects one for each L1 and L3.
  These get allocated/deallocated on OEMCrypto Initialization/Termination
  respectively.
* UsageTableHeader requires OEMCrypto, file read/writes and
  metric gathering to perform its required functionality. Because of the
  lifetime changes, CryptoSession, DeviceFiles and MetricsGroup objects
  need to passed to the methods rather than at Creation time.
* Miscellaneous fixes, when moving or deleteing entries.
* Adds usage_table_header_unittests.
* Addresses failures with request_license_test with secure stop in L3.

b/36858906
b/36855557
b/36048120
b/38341136
b/37100505
b/35946047

Test: Verified by unit and integration tests. Added new
      usage_table_header_unittests

Change-Id: I20e396ab2c0afbd14372dd93b969e5b0f1ccd291
2017-05-31 00:37:58 -07:00
Rahul Frias
b1fe0834a5 Update Widevine integration test to match android version
[ Merge of https://go/wvgerrit/27860 ]

The android version was updated from "O" to "8.0.0"

b/62201928

Test: Ran wv unit and integration tests.

Change-Id: I57525af2ab3bdfa0e77ad8f0efbff26cf8ff5c32
2017-05-30 23:43:43 -07:00
Fred Gylys-Colwell
f0ef2a32e8 Build level 3 with latest updates
Merge from Widevine repo of:
http://go/wvgerrit/27504
http://go/wvgerrit/27461

arm64/libwvlevel3.a            Level3 Library 7283 May 21 2017 09:56:42
arm/libwvlevel3.a              Level3 Library 4445 May 19 2017 17:17:20
x86_64/libwvlevel3.a           Level3 Library 7284 May 22 2017 11:21:02
x86/libwvlevel3.a              Level3 Library 4464 May 19 2017 16:59:48

b/38203566
b/37521546

Change-Id: Ia881e7bc2ef8e56e67e3b8775d9dd6a94a834d95
2017-05-31 01:29:15 +00:00
Edwin Wong
106858bc84 Merge "Revert conditional tests using a logical AND operator." 2017-05-31 00:19:23 +00:00
Jeff Tinker
d346473eaa Merge "Revert "Convert libwvdrmengine to soong."" 2017-05-25 17:22:03 +00:00
Jeff Tinker
23398a8d7c Revert "Convert libwvdrmengine to soong."
This change introduced b/38487636 "Distorted video observed when
playing purchased/rented movie in Google play movies & TV app."

Before resubmitting an updated variant of the original CL, please
test playback with Play Movies and the GTS media tests. 

This reverts commit 33f9979b2b.

Change-Id: I4ec2e6fe81323e91e4b62288755c967999e81041
2017-05-24 21:17:59 +00:00
Fred Gylys-Colwell
32348b987c Update Docs for OEMCrypto v13.2
Merge from Widevine repo of http://go/wvgerrit/27462

This updates the documentation for OEMCrypto:
1) Clarification on values for the key control block verification
field.  Unit tests for this change are already in the code.

2) Clarification on how Offline License Release messages are signed.

And for the Android supplement:
3) liboemcrypto.so may be installed in several places.

b/38422219
Testing: docs only change.  no testing needed.

Change-Id: Iab3f5b585a41c80c5d7aa5f00aabce2de2df3a79
2017-05-24 11:44:16 -07:00
Edwin Wong
6c71aeaf95 Revert conditional tests using a logical AND operator.
Merge from http://go/wvgerrit/27480.

Revert to the original test using a logical AND operator for
is_encrypted and !CanDecryptContent tests.

Test: GTS WidevineDashPolicyTests

bug: 34258607
Change-Id: If42698aa77f6f49a79dedb11a15d3055d6b76ef2
2017-05-23 13:47:05 -07:00
Fred Gylys-Colwell
8138df1c86 Use mac keys from usage entry if keys are not loaded
Merge from Widevine repo of http://go/wvgerrit/27461

In order to sign a license release message, the mac keys from the
usage entry should be used whenever keys have not been loaded.

This CL updates the reference code, the unit tests, and the level 3
oemcrypto.

b/38203566
Test: unit tests passing on bullhead.

Change-Id: Ic71fee4b4b7b45801548ab80fbbbf8f4ccab3e6e
2017-05-19 15:56:11 -07:00
Jeff Tinker
da390f605a Merge "Revert "Fix widevine drm hal resource leaks"" into oc-dev am: 45c98e47f2
am: d4d3732aac

Change-Id: Ida0ae910dc68fdeb7758261cd3440414ba654949
2017-05-18 00:03:14 +00:00