Commit Graph

4073 Commits

Author SHA1 Message Date
Alex Dale
373103998b Update AddEntry() for usage table changes. am: 66e3d69300 am: 4c97abd57a am: c15d453a9d am: 7c56669a4f
Change-Id: Ic2cb6b4ead661ec1be3aabcf82c28cad2f7d37a5
2020-05-01 02:13:30 +00:00
Alex Dale
7f0d79407c Added a few edge case unittests for InvalidateEntry(). am: 1e5e221909 am: 51f5315a62 am: 069de13b94 am: a2dace6651
Change-Id: I1d8f84baa78a9a21b86de3e88bc48b42e4c94f46
2020-05-01 02:13:21 +00:00
Alex Dale
aef81bd383 Reworked DeleteEntry() into InvalidateEntry(). am: da48461ba2 am: 44cc2500b3 am: 5558f13d57 am: 770e8a929f
Change-Id: I5749c58374f93ad5d6b28b0b97321924bb5cb2ac
2020-05-01 02:13:19 +00:00
Alex Dale
7c56669a4f Update AddEntry() for usage table changes. am: 66e3d69300 am: 4c97abd57a am: c15d453a9d
Change-Id: Ia8e996d1193cfabf99d854fee6e3f0eefcced1e5
2020-05-01 01:57:09 +00:00
Alex Dale
a2dace6651 Added a few edge case unittests for InvalidateEntry(). am: 1e5e221909 am: 51f5315a62 am: 069de13b94
Change-Id: I603ab32a265f409fb666024778e083066d82479d
2020-05-01 01:57:08 +00:00
Alex Dale
770e8a929f Reworked DeleteEntry() into InvalidateEntry(). am: da48461ba2 am: 44cc2500b3 am: 5558f13d57
Change-Id: Ib25887b0a3111971813b518b4cbb9d0563a9a59f
2020-05-01 01:57:06 +00:00
Alex Dale
c15d453a9d Update AddEntry() for usage table changes. am: 66e3d69300 am: 4c97abd57a
Change-Id: I01ab56cc902d455d2827af70e54ee57870a52be0
2020-05-01 01:38:03 +00:00
Alex Dale
069de13b94 Added a few edge case unittests for InvalidateEntry(). am: 1e5e221909 am: 51f5315a62
Change-Id: I2389b404ec92b17fac807fd15c2838678d2c3a82
2020-05-01 01:38:01 +00:00
Alex Dale
5558f13d57 Reworked DeleteEntry() into InvalidateEntry(). am: da48461ba2 am: 44cc2500b3
Change-Id: I858b69423e9eec2b1b96a35bc53cda1698503a3f
2020-05-01 01:38:00 +00:00
Alex Dale
4c97abd57a Update AddEntry() for usage table changes. am: 66e3d69300
Change-Id: I83808cf7ebd0ed0f616766564864943fd152f7c3
2020-05-01 01:22:33 +00:00
Alex Dale
51f5315a62 Added a few edge case unittests for InvalidateEntry(). am: 1e5e221909
Change-Id: I3afd210c896fd0ffa794f1565bf7baee53e4b77e
2020-05-01 01:22:30 +00:00
Alex Dale
44cc2500b3 Reworked DeleteEntry() into InvalidateEntry(). am: da48461ba2
Change-Id: Ic6a6d107a138f9a2ad9b2a935751249587bf540e
2020-05-01 01:22:29 +00:00
Alex Dale
66e3d69300 Update AddEntry() for usage table changes.
[ Merge of http://go/wvgerrit/96071 ]

Changes to how the usage table method InvalidateEntry() behaves
required additional changes to CDM code that uses this method.

This involved some refactoring to AddEntry(), moving the LRU
related code to its own function.

A few unittests had to be changed / removed as the moving
multiple entries changes expectations of several existing tests.

Several additional helper methods have been created to improve
readability.  These include getters for information about the
usage table, a method for releasing stale entries, and a method of
recording LRU metrics.

Bug: 150890014
Bug: 150887808
Bug: 154269671
Test: Linux unit tests and Android unit tests
Change-Id: I11a98f9a2dea9b2ae57b37d7d4483a37be721763
2020-04-30 18:00:25 -07:00
Alex Dale
1e5e221909 Added a few edge case unittests for InvalidateEntry().
[ Merge of http://go/wvgerrit/95365 ]

The changes made to how DeleteEntry (now InvalidateEntry) works
introduced a few additional edge cases which were not covered from the
previous set of unit tests.

Bug: 150887808
Bug: 149100568
Test: Linux unit tests and Android unit tests
Change-Id: I263b72fb708c6546294af23ae5ddbd2e82da34df
2020-04-30 18:00:25 -07:00
Alex Dale
da48461ba2 Reworked DeleteEntry() into InvalidateEntry().
[ Merge of http://go/wvgerrit/95406 ]

There was an issue with DeleteEntry() where it would result in an
invalid table state if shrinking the usage table when the number of
sessions is at its max.

This required changing how the usage table invalidates entries.  Now,
after invalidating an entry (marking an entry as kStorageTypeUnknown)
the table is defragmented if specified to.

Defragmentation involves:
1)  Move valid entries near the end of the table to the position of
    invalid entries near the front of the table.
2)  Shrinking the table to cut off trailing invalid entries.

This change updates the existing tests to pass, but still needs new
tests for some of the edge cases.

Bug: 150887808
Bug: 149100568
Test: Linux unit tests and Android unit tests
Change-Id: I70c7b296e5e4b367746fcdaabbf0f12dcfb39230
2020-04-30 18:00:25 -07:00
Alex Dale
44d16c8deb Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4 am: d7f5a74ea3 am: f5d4746529 am: 12f443a173 am: 59d7cb045a
Change-Id: Ife3299b4dd3938c95bf8858040978e9e1b4d2a5d
2020-05-01 00:54:14 +00:00
Alex Dale
b29b9fbe6d Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4 am: 3c2ae73dba am: f3d01f6f96 am: a75453029c
Change-Id: Id7fcfe1989e19866664c5d6b8bd26734cabd725d
2020-05-01 00:53:56 +00:00
Alex Dale
7ebcda2cb0 Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4 am: d7f5a74ea3 am: f85508f4b3 am: 81f27573e1
Change-Id: Ia8d51da6c8b9e737c87b7ef3ee5a37cd6554c45a
2020-05-01 00:51:32 +00:00
Alex Dale
59d7cb045a Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4 am: d7f5a74ea3 am: f5d4746529 am: 12f443a173
Change-Id: I705083ae9fc2ead6a8e6edd3cc4838d00d51a2bc
2020-05-01 00:51:26 +00:00
Alex Dale
a75453029c Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4 am: 3c2ae73dba am: f3d01f6f96
Change-Id: Ife646617a97a9c84f28c1ed46ca2da23aa3b7814
2020-05-01 00:36:46 +00:00
Alex Dale
81f27573e1 Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4 am: d7f5a74ea3 am: f85508f4b3
Change-Id: Ia303de612ed165e912a2ec49943215cdb5614f89
2020-05-01 00:36:00 +00:00
Alex Dale
12f443a173 Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4 am: d7f5a74ea3 am: f5d4746529
Change-Id: Ieed0176425675853df00e2125904fa36a16be8ac
2020-05-01 00:35:53 +00:00
Alex Dale
f3d01f6f96 Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4 am: 3c2ae73dba
Change-Id: I51a25bfed2aae1632eae22d249ba368bf79c5ed8
2020-05-01 00:24:35 +00:00
Alex Dale
f85508f4b3 Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4 am: d7f5a74ea3
Change-Id: I3bca213757648556ed9ceb7b8ca0349ee170a119
2020-05-01 00:24:23 +00:00
Alex Dale
f5d4746529 Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4 am: d7f5a74ea3
Change-Id: Idb87851939277a1950b0ad5605c48a772ae56a6d
2020-05-01 00:24:13 +00:00
Alex Dale
d7f5a74ea3 Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4
Change-Id: Ia522d7b007a4088ff7f1812115196a06408ea186
2020-05-01 00:09:49 +00:00
Alex Dale
3c2ae73dba Merge "Suppress error for removing lingering offline licenses." into rvc-dev am: 792e17a8c4
Change-Id: Ie2e4862f5415f46cd5c3a78a5c8651017f8507c2
2020-05-01 00:09:40 +00:00
Alex Dale
792e17a8c4 Merge "Suppress error for removing lingering offline licenses." into rvc-dev 2020-04-30 23:53:44 +00:00
Rahul Frias
cf7c3313f7 Merge "Do not log nonces" into rvc-dev am: d627fdfdd4 am: da19e563f5 am: aa6c60fbbf am: faedb21020 am: 268155f42b
Change-Id: I595b0f1646ab82631d1fde77a45c894181551624
2020-04-30 21:48:46 +00:00
Rahul Frias
f05095a00d Merge "Do not log nonces" into rvc-dev am: d627fdfdd4 am: da19e563f5 am: c600c70f8c am: 4915580223
Change-Id: I91e7a228fb3d77fe6e4748a731d04a2ebe87d0e7
2020-04-30 21:48:21 +00:00
Rahul Frias
4040951907 Merge "Do not log nonces" into rvc-dev am: d627fdfdd4 am: d39e5f3ad3 am: 96a3893440 am: ee902bc63f
Change-Id: I4f77136607465c1af9ff70d489bf76e4d89dea4e
2020-04-30 21:47:44 +00:00
Rahul Frias
268155f42b Merge "Do not log nonces" into rvc-dev am: d627fdfdd4 am: da19e563f5 am: aa6c60fbbf am: faedb21020
Change-Id: I0be43a42e9e17d5b39f0ca4eea20ef34a8e31a64
2020-04-30 21:47:08 +00:00
Rahul Frias
4915580223 Merge "Do not log nonces" into rvc-dev am: d627fdfdd4 am: da19e563f5 am: c600c70f8c
Change-Id: I74036eb6d5547a8702a6e4c3a083078677e798b4
2020-04-30 21:34:56 +00:00
Rahul Frias
faedb21020 Merge "Do not log nonces" into rvc-dev am: d627fdfdd4 am: da19e563f5 am: aa6c60fbbf
Change-Id: I7aaaf63f99cc0683578bc3832572b9c469e67f7a
2020-04-30 21:33:56 +00:00
Rahul Frias
ee902bc63f Merge "Do not log nonces" into rvc-dev am: d627fdfdd4 am: d39e5f3ad3 am: 96a3893440
Change-Id: I6f510d9b107e92f6a5705c7218ba9a97a4235b04
2020-04-30 21:33:27 +00:00
Rahul Frias
c600c70f8c Merge "Do not log nonces" into rvc-dev am: d627fdfdd4 am: da19e563f5
Change-Id: I97073ad5e2f8850ebe7757744ace8b49cfb124a7
2020-04-30 21:13:11 +00:00
Rahul Frias
96a3893440 Merge "Do not log nonces" into rvc-dev am: d627fdfdd4 am: d39e5f3ad3
Change-Id: I7359b0ed52308d96216b3c55b2fd2fc5efd5a2e9
2020-04-30 21:12:45 +00:00
Rahul Frias
aa6c60fbbf Merge "Do not log nonces" into rvc-dev am: d627fdfdd4 am: da19e563f5
Change-Id: Ib59472b51397e0838ce6b412f324ab630a7b41f5
2020-04-30 21:12:36 +00:00
Rahul Frias
da19e563f5 Merge "Do not log nonces" into rvc-dev am: d627fdfdd4
Change-Id: I1a767568408f306b5ff8b2070f362556ba331ef6
2020-04-30 20:55:12 +00:00
Rahul Frias
d39e5f3ad3 Merge "Do not log nonces" into rvc-dev am: d627fdfdd4
Change-Id: I3866ed9ac5df8873609a95303a716664fc293490
2020-04-30 20:54:36 +00:00
Rahul Frias
d627fdfdd4 Merge "Do not log nonces" into rvc-dev 2020-04-30 20:40:42 +00:00
Rahul Frias
6ea6723462 Do not log nonces
[ Merge of http://go/wvgerrit/99063 ]

Bug: 155329753
Test: wv unit/integration tests
Change-Id: I642b19f817ce69cb0838512cb8922a2e9c51cef2
2020-04-30 00:34:44 -07:00
Rahul Frias
d624485a49 [automerger skipped] Accept a security level to be specified during provisioning am: e27bc4ba6a am: 8429ab587a am: 8cc100c11a am: ad06c10609 -s ours am: b4763de681 -s ours
am skip reason: Change-Id I8d9234eec2b23a9c913e77a709943b431e25e43e with SHA-1 e27bc4ba6a is in history

Change-Id: Id159a3dd18e4443d3f132a349c58f1325054515d
2020-04-30 01:12:20 +00:00
Rahul Frias
a6cf402791 [automerger skipped] Accept a security level to be specified during provisioning am: e27bc4ba6a am: 2ffb86ffca -s ours am: 874b639de1 -s ours am: d0c8c84f88 -s ours
am skip reason: Change-Id I8d9234eec2b23a9c913e77a709943b431e25e43e with SHA-1 e27bc4ba6a is in history

Change-Id: I088e628fc5917f0efca06e1cfd7860b31c491042
2020-04-30 01:12:05 +00:00
Rahul Frias
bf2c744b62 [automerger skipped] Accept a security level to be specified during provisioning am: e27bc4ba6a am: 8429ab587a am: d3920095ba am: 4b704dea65 -s ours
am skip reason: Change-Id I8d9234eec2b23a9c913e77a709943b431e25e43e with SHA-1 3c8acc3d56 is in history

Change-Id: Ibeb471001aa41463f8be034633cd9538b63f7d98
2020-04-30 01:11:08 +00:00
Rahul Frias
b4763de681 [automerger skipped] Accept a security level to be specified during provisioning am: e27bc4ba6a am: 8429ab587a am: 8cc100c11a am: ad06c10609 -s ours
am skip reason: Change-Id I8d9234eec2b23a9c913e77a709943b431e25e43e with SHA-1 e27bc4ba6a is in history

Change-Id: Ic380e7d76d1518adc2a5e96789c23498cba749d4
2020-04-30 01:07:12 +00:00
Rahul Frias
d0c8c84f88 [automerger skipped] Accept a security level to be specified during provisioning am: e27bc4ba6a am: 2ffb86ffca -s ours am: 874b639de1 -s ours
am skip reason: Change-Id I8d9234eec2b23a9c913e77a709943b431e25e43e with SHA-1 e27bc4ba6a is in history

Change-Id: Ic9306fee543cd8a12d5476fb94d24198aed7538a
2020-04-30 00:54:12 +00:00
Rahul Frias
ad06c10609 Accept a security level to be specified during provisioning am: e27bc4ba6a am: 8429ab587a am: 8cc100c11a
Change-Id: I1b45aebfc57799f89a789a2ac839bf1c8f95a9c6
2020-04-30 00:53:35 +00:00
Rahul Frias
4b704dea65 Accept a security level to be specified during provisioning am: e27bc4ba6a am: 8429ab587a am: d3920095ba
Change-Id: I88e37373b2f07274589fa1674c1fc67e90c7c01a
2020-04-30 00:53:29 +00:00
Alex Dale
2a16d70a06 Suppress error for removing lingering offline licenses.
[ Merge of http://go/wvgerrit/97963 ]

There are situations where an offline license file will remain on the
system after it's usage entry has been deleted.  This would result in
its key set ID being reported as present by the CDM, but any
operations acting upon it will result in an error.

The app should be able to remove the license without error, so long
as the license file exists and no other OEMCrypto operations fail.

This change introduces a new error code LICENSE_USAGE_ENTRY_MISSING,
which indicates that a license's usage entry cannot be found.

A new integration test checks that the CDM can handle the calls to
removeOfflineLicense().

Bug: 137034719
Test: Android unit and integration tests
Change-Id: Ibdbe963b7f7e3ac97b446300d8e3896cdee7abc5
2020-04-29 17:48:26 -07:00