Commit Graph

6154 Commits

Author SHA1 Message Date
TreeHugger Robot
bab2a08a61 Merge "Address compilation warnings" into sc-dev am: 6ee9f49e5c
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13818826

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9be5b0d7c8fdd6986f725bb8aa1377d8419ef38b
2021-03-13 03:44:38 +00:00
Alex Dale
d1fa77bb3e Android tests call exit() when complete. am: 16c704fa09
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13845281

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifa7e194f128b305ec90534d51a4bd9226a7ca91b
2021-03-13 03:44:19 +00:00
TreeHugger Robot
64ffa5502f Merge "Address compilation warnings" into sc-dev am: 6ee9f49e5c
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13818826

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I92ab0a942ca6772d3ceb5af66bd9dfca92a780e4
2021-03-13 03:44:17 +00:00
Alex Dale
467bc7162a Android tests call exit() when complete. am: 16c704fa09
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13845281

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I878d495626c7d4bea0b267830915b58722facf04
2021-03-13 03:43:45 +00:00
TreeHugger Robot
6ee9f49e5c Merge "Address compilation warnings" into sc-dev 2021-03-13 02:43:45 +00:00
Alex Dale
16c704fa09 Android tests call exit() when complete.
[ Merge of http://go/wvgerrit/119804 ]

The coverage framework used by Android requires the process to call
exit() for coverage information to be dumped after the tests.

Android unit tests have been adapted to use the a new main module.
The core test_main.cpp used by integration tests has been updated to
call exit().

Bug: 138941105
Test: Linux and Android unittests
Change-Id: Ifffc7b8290c50dffe527738a36547c1d2fb90bd3
2021-03-12 16:22:20 -08:00
Rahul Frias
a828bf5f58 Annotate fallthrough in OEC Testbed
[ Merge of http://go/wvgerrit/119230 ]

This patch adds an annotation to the one place in the codebase where we
intentionally fall through between switch statement cases, in order to
appease stricter compilers.

Bug: 182058081
Test: compile, WV unit/integration tests
Change-Id: I004a6a6e61681fcf22c6bf25d9b0284b8b64e776
2021-03-12 00:58:52 -08:00
Rahul Frias
cb48161e95 Merge "Update drm_certificate.proto" into sc-dev am: 9f918bc16b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13744352

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I15bb1291e5e2a6dd8891302847ef4e98b7288284
2021-03-11 19:26:13 +00:00
Rahul Frias
1c9fdeef0e Merge "Update drm_certificate.proto" into sc-dev am: 9f918bc16b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13744352

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I84631264b30cdb80fb5229450ed130bb95a65ab9
2021-03-11 19:25:36 +00:00
Rahul Frias
9f918bc16b Merge "Update drm_certificate.proto" into sc-dev 2021-03-11 18:57:36 +00:00
Rahul Frias
094fabed5a Address compilation warnings
[ Merge of http://go/wvgerrit/119523 ]

Bug: 182299187
Test: compile vendor/widevine/libwvdrmengine
Change-Id: I39d1b62a3237bfb9163a7e157b871f22e3fec394
2021-03-10 18:49:57 -08:00
Rahul Frias
83a85430e3 Release crypto resources when provisioning fails
[ Merge of http://go/wvgerrit/119564 ]

This closes a crypto session when the provisioning request fails. We
cannot be as eager when handling the response as the app may have
multiple simultaneous provisioning attempts in flight. In this case
all provisioning responses except the one associated with the last
request will fail. If we close the session on error, even the one
associated with the last request may fail.

Bug: 180986725
Test: WV unit/integration tests
Change-Id: Ic3d33a374e442b5bf040e345bed829d91c4ef1dc
2021-03-10 18:12:09 -08:00
Rahul Frias
b8049e1f20 Log license request and response
[ Merge of http://go/wvgerrit/119563 ]

This also increases the max log size from 1024 to 5120

Bug: 181642154
Test: WV unit/integration tests
Change-Id: Ifae90354dad1165f4d9fa3c9fe33a4dc14df1270
2021-03-10 17:58:15 -08:00
Edwin Wong
e51316bf10 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb am: 18065ce373 -s ours am: 49279fb200 am: 45dc1d106a am: d6226efa60 -s ours am: 4310a64a48 -s ours
am skip reason: subject contains skip directive

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I85940e14c1e1b0b6b80734e2fc3e2c05a227e4c7
2021-03-10 22:39:53 +00:00
Edwin Wong
d3cd01d34c [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb am: 18065ce373 -s ours am: 49279fb200 am: 45dc1d106a am: d6226efa60 -s ours am: 4310a64a48 -s ours
am skip reason: Change-Id Id3aece61d46d548c304782d4e1dc3a4747795c01 with SHA-1 f3ad627bcb is in history

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If2f119233787b151a81e060d611ba626f8e2796b
2021-03-10 22:39:03 +00:00
Edwin Wong
4310a64a48 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb am: 18065ce373 -s ours am: 49279fb200 am: 45dc1d106a am: d6226efa60 -s ours
am skip reason: subject contains skip directive

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id7a7aeb5963e74c3a263340bbab089aa42e49a2c
2021-03-10 22:37:39 +00:00
Edwin Wong
862d5184ec [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb am: 18065ce373 -s ours am: 49279fb200 am: 242713098f -s ours am: 08a80add55
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13462543

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I915603ac6a9a3e7275a7fc711d9e6b831c74fdda
2021-03-10 22:15:39 +00:00
Edwin Wong
6ac8f599d8 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb am: 18065ce373 -s ours am: 49279fb200 am: 242713098f -s ours am: 08a80add55 -s ours
am skip reason: subject contains skip directive

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6b6bff385ed32a3b9821ad3b791876377f184737
2021-03-10 22:12:49 +00:00
Edwin Wong
08a80add55 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb am: 18065ce373 -s ours am: 49279fb200 am: 242713098f -s ours
am skip reason: subject contains skip directive

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7a37930fc220495957e017e204d95e32ade6d282
2021-03-10 21:57:10 +00:00
Edwin Wong
d6226efa60 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb am: 18065ce373 -s ours am: 49279fb200 am: 45dc1d106a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13462543

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I88ba0b965d2d546ba090e1b138846b997744dece
2021-03-10 21:53:38 +00:00
Edwin Wong
242713098f [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb am: 18065ce373 -s ours am: 49279fb200
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13462543

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I75d982f8a96803bfdf6ff9bd5807d802d80e04c6
2021-03-10 21:36:27 +00:00
Edwin Wong
45dc1d106a [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb am: 18065ce373 -s ours am: 49279fb200
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13462543

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0a8f36599fe984fedf236f6240fd1f08bf99f36d
2021-03-10 21:13:54 +00:00
Edwin Wong
49279fb200 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb am: 18065ce373 -s ours
am skip reason: subject contains skip directive

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia1bce0f38c0ab07f1028e9ecd0f38b78b8de0d77
2021-03-10 20:56:24 +00:00
Edwin Wong
7752248af7 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: 1bd967f9a8 -s ours
am skip reason: subject contains skip directive

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7ca4e8eeb271574476a23c21aac98540264a81a0
2021-03-10 20:12:37 +00:00
Edwin Wong
18065ce373 [RESTRICT AUTOMERGE] Fix potential decrypt destPtr overflow. am: f3ad627bcb
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13462543

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I36fb97d8855ef97a15c7d9d553efa874a2df7c84
2021-03-10 20:12:35 +00:00
Alex Dale
39fb5fde42 Merge "Added unittests for reference RSA implementation." into sc-dev am: d40302f3e3
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13619898

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia14b91e8c80c5e7e27a9877abd963020b2382ce1
2021-03-10 15:45:07 +00:00
Rahul Frias
7f0fbbee22 Integration test for license duration with renewal am: 9ab837c78a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13807335

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I996b7448c4b35084e13f1bed7c9ae1116e255045
2021-03-10 15:42:48 +00:00
Rahul Frias
c6b6a06fe0 An integration test for secure buffers am: 3176f5f66f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13805574

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I31802d6060bab2b117a3e8b1695c000ca81a63f6
2021-03-10 15:42:47 +00:00
Rahul Frias
80cfd103ad Add Duration Use Case integration tests am: 0831e575ba
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13805072

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2b66f2f139b0a755712e5a3df78eaa2413b5f356
2021-03-10 15:42:44 +00:00
Rahul Frias
368179216c Fix test sleep on iOS. am: a9f051faac
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13805070

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I83b4fe9f33fb61fc1b4a57088783513d9e5abbae
2021-03-10 15:42:42 +00:00
Rahul Frias
f540c4084c Restrict a2b_hex to 2000 bytes. am: 9a659e31c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13805068

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0222738e2478832fc53012be6b234b34f62935b9
2021-03-10 15:42:40 +00:00
Rahul Frias
70963e5971 Return error when test initialization fails am: 616a9b38dc
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13798630

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia7d3546e771d887bdec0ddc55fc8507b27a46918
2021-03-10 15:42:38 +00:00
Rahul Frias
7a380a4bd4 Set renewal server on command line for tests am: 50efa73e34
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13798629

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I000c647fa4e2a75bd30d713b60d12be19e3c2b51
2021-03-10 15:42:35 +00:00
Rahul Frias
2d5fb35575 Fix deprecated and printf warnings. am: 24e4c33262
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13798628

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I96bbfb3f2dc7d98e124af95d779f9195e6ee2fcf
2021-03-10 15:41:07 +00:00
Rahul Frias
9081643582 Throw DeniedByServerException when provisioning detects a revoked device am: 71cf45fb3f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13798627

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5155bd714e27328a3dba02603134ebb26331fbaa
2021-03-10 15:19:28 +00:00
Alex Dale
7f5a530cfb Include DRM key type to SessionMetrics. am: e52086c283
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13679588

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic0ca254ce31eb16d1bf435fe4252da0e3bfcaecb
2021-03-10 12:15:29 +00:00
Robert Shih
47a63dd9cf Merge "libwvhidl: map errors to PROVISIONING_REQUEST_REJECTED" into sc-dev am: 6c03986218
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13756452

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8062f28b49feaa0cdd6fad3bf7c64a3abca72096
2021-03-10 12:09:04 +00:00
Rahul Frias
0cf99f685f Update drm_certificate.proto
[ Merge of http://go/wvgerrit/118563 ]

Sync with the latest version of drm_certificate.proto to add in
certificate expiry time. Add in signed_drm_certificate.proto and remove
messages from device_certificate.proto.

SignedDrmDeviceCertificate and DrmDeviceCertificate are now named
SignedDrmCertificate and DrmCertificate. This necessitated non-proto
changes.

Bug: 169740403
Test: WV unit/integration tests
Change-Id: Ie5969ac7217a25eb075a41df59b77da2becd4545
2021-03-09 14:57:47 -08:00
Alex Dale
0c87234d45 Merge "Added unittests for reference RSA implementation." into sc-dev am: d40302f3e3
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13619898

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I719e6345e6bb71025de575ce8c946d852ec397cd
2021-03-09 22:47:25 +00:00
Alex Dale
d40302f3e3 Merge "Added unittests for reference RSA implementation." into sc-dev 2021-03-09 22:19:51 +00:00
Rahul Frias
540b264995 Integration test for license duration with renewal am: 9ab837c78a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13807335

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9d480046e482dbf783f988a7c45d992b45511fb0
2021-03-09 19:57:40 +00:00
Rahul Frias
b722948671 An integration test for secure buffers am: 3176f5f66f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13805574

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I013db55c8e7cc88736e5156eb15fcf9c18f2716c
2021-03-09 19:57:38 +00:00
Rahul Frias
b7c82b1f59 Add Duration Use Case integration tests am: 0831e575ba
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13805072

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I71d4d9ab5bd9e2badfe5c62782ecd79db3811d91
2021-03-09 19:57:37 +00:00
Rahul Frias
870162db98 Fix test sleep on iOS. am: a9f051faac
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13805070

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I31ecfb95fb38161e88923743b86a42c609f4b010
2021-03-09 19:57:35 +00:00
Rahul Frias
0275dc360f Restrict a2b_hex to 2000 bytes. am: 9a659e31c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13805068

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibdaaf80a067aff3764062ec1f698b68ff9e8e6fa
2021-03-09 19:57:33 +00:00
Rahul Frias
c5f308ac9f Return error when test initialization fails am: 616a9b38dc
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13798630

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I28c4774387c120a0b6e55379510e2b34b3c8d621
2021-03-09 19:57:31 +00:00
Rahul Frias
7cae719e46 Set renewal server on command line for tests am: 50efa73e34
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13798629

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I175b7b4343ced8563410d1cd5e6b59a27c493b97
2021-03-09 19:57:30 +00:00
Rahul Frias
ed0b7fb569 Fix deprecated and printf warnings. am: 24e4c33262
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13798628

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic995c1b470c82ddbdd9905cf8c22d61bba779212
2021-03-09 19:37:54 +00:00
Edwin Wong
76f39ddb08 [RESTRICT AUTOMERGE] Fix WVCryptoPlugin use after free vulnerability.
The shared memory buffer used by srcPtr can be freed by another
thread because it is not protected by a mutex. Subsequently,
a use after free AIGABRT can occur in a race condition.

SafetyNet logging is not added to avoid log spamming. The
mutex lock is called to setup for decryption, which is
called frequently.

The crash was reproduced on the device before the fix.
Verified the test passes after the fix.

Test: sts
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176495665#testPocBug_176495665

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-176495665_sts64

Bug: 176495665
Bug: 176444161
Change-Id: Ie1aca0ceacb4b7a1b6e473b823541607a36d8cb4
Merged-In: If62b73a9c636048f942a2fc63a13b5bfd1e57b86
2021-03-09 17:10:54 +00:00
Edwin Wong
596d8bf4cc Fix WVCryptoPlugin use after free vulnerability.
The shared memory buffer used by srcPtr can be freed by another
thread because it is not protected by a mutex. Subsequently,
a use after free AIGABRT can occur in a race condition.

SafetyNet logging is not added to avoid log spamming. The
mutex lock is called to setup for decryption, which is
called frequently.

The crash was reproduced on the device before the fix.
Verified the test passes after the fix.

Test: sts
  sts-tradefed run sts-engbuild-no-spl-lock -m StsHostTestCases --test android.security.sts.Bug_176495665#testPocBug_176495665

Test: push to device with target_hwasan-userdebug build
  adb shell /data/local/tmp/Bug-176495665_sts64

Bug: 176495665
Bug: 176444161
Change-Id: If62b73a9c636048f942a2fc63a13b5bfd1e57b86
2021-03-08 21:37:42 -08:00