From 18e46e36eba07a83a204cb3d16aa2b2cf4c5164d Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Tue, 25 Feb 2020 17:48:49 -0800 Subject: Verify all possible hosts that match web nav Even if an matches non-web schemes in addition to http or https, make sure to include its cited hosts in the autoVerify evaluation. Bug: 150038428 Test: atest OsHostTests#testIntentFilterHostValidation Change-Id: If9ef0fc53d96e6581c56d86f89fe63bc9a5fb89a Merged-In: If9ef0fc53d96e6581c56d86f89fe63bc9a5fb89a (cherry picked from commit 1fba0f897f276d5d47962534867e764da8061105) --- services/core/java/com/android/server/pm/PackageManagerService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index a3f3cedf1e2..3888c3130c1 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -18470,7 +18470,9 @@ public class PackageManagerService extends IPackageManager.Stub final int verificationId = mIntentFilterVerificationToken++; for (PackageParser.Activity a : pkg.activities) { for (ActivityIntentInfo filter : a.intents) { - if (filter.handlesWebUris(true) && needsNetworkVerificationLPr(filter)) { + // Run verification against hosts mentioned in any web-nav intent filter, + // even if the filter matches non-web schemes as well + if (filter.handlesWebUris(false) && needsNetworkVerificationLPr(filter)) { if (DEBUG_DOMAIN_VERIFICATION) Slog.d(TAG, "Verification needed for IntentFilter:" + filter.toString()); mIntentFilterVerifier.addOneIntentFilterVerification( -- cgit v1.2.3