summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nikita Ioffe <ioffe@google.com> 2020-03-11 23:49:29 +0000
committer Nikita Ioffe <ioffe@google.com> 2020-03-12 13:04:40 +0000
commite729070f35aee5e07cce6f2048e27a424daeab97 (patch)
treeef067a16f66339a976acf65dd6a14518aaa8609b
parent3320dd6186e41f83dfccb8fe5303044933bbabe3 (diff)
Always send verification request to sufficient verifiers
Currently, a verification request is sent to sufficient verifiers (ones defined in apps manifest) only there is a system-level verifier. But there can be a setup, when system doesn't have a global verifier, but some apps still ask for their own sufficient verifier to verify the installation. This change changes a behaviour to make sure that verification request will be sent in such cases. Test: atest android.security.cts.PackageInstallerTest Bug: 143374792 Change-Id: I35fa0f4bb86e61a3715a167342e4652e8df59704
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java9
1 files changed, 4 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 799ce65669db..f106bfb0dea3 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -14726,9 +14726,8 @@ public class PackageManagerService extends IPackageManager.Stub
verificationState.setRequiredVerifierUid(requiredUid);
final int installerUid =
verificationInfo == null ? -1 : verificationInfo.installerUid;
- if (!origin.existing && requiredUid != -1
- && isVerificationEnabled(
- pkgLite, verifierUser.getIdentifier(), installFlags, installerUid)) {
+ if (!origin.existing && isVerificationEnabled(pkgLite, verifierUser.getIdentifier(),
+ installFlags, installerUid)) {
final Intent verification = new Intent(
Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
verification.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
@@ -14794,9 +14793,9 @@ public class PackageManagerService extends IPackageManager.Stub
}
}
- final ComponentName requiredVerifierComponent = matchComponentForVerifier(
- mRequiredVerifierPackage, receivers);
if (mRequiredVerifierPackage != null) {
+ final ComponentName requiredVerifierComponent = matchComponentForVerifier(
+ mRequiredVerifierPackage, receivers);
/*
* Send the intent to the required verification agent,
* but only start the verification timeout after the