diff options
author | Christopher Tate <ctate@google.com> | 2020-02-25 17:48:49 -0800 |
---|---|---|
committer | syphyr <syphyr@gmail.com> | 2020-05-07 00:53:03 +0200 |
commit | c227c2f121cad24cf661b99358ace8e755b27f7e (patch) | |
tree | c323a61f4d07fe355f496934c5fce4818f8348e7 /services | |
parent | 0cd8f1867b55ad7e526a9da66e6d1c8dc99a12c9 (diff) | |
download | android_frameworks_base-c227c2f121cad24cf661b99358ace8e755b27f7e.tar.gz android_frameworks_base-c227c2f121cad24cf661b99358ace8e755b27f7e.tar.bz2 android_frameworks_base-c227c2f121cad24cf661b99358ace8e755b27f7e.zip |
Verify all possible hosts that match web navcm-14.1
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)
(cherry picked from commit a481c86cd3742c7792f8607c004e0eeb4016b894)
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 4 |
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 8b85d971bed..393d27954ac 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -15610,7 +15610,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( |