summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Christopher Tate <ctate@google.com> 2020-02-25 17:48:49 -0800
committer Chris Tate <ctate@android.com> 2020-03-31 18:57:40 +0000
commitf4976307cec95e213cf0ad656dd3d34a311e55c5 (patch)
tree70c2b67842223d291ef297a9dc7f171fc909b83e
parent6c6edf77e89ec304ca538b3ed29dfe431224b739 (diff)
Verify all possible hosts that match web nav
Even if an <intent-filter> 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)
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 093382a632c6..6bed7f381a6c 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -18156,7 +18156,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(