diff options
| author | 2020-03-11 23:49:29 +0000 | |
|---|---|---|
| committer | 2020-03-12 13:04:40 +0000 | |
| commit | e729070f35aee5e07cce6f2048e27a424daeab97 (patch) | |
| tree | ef067a16f66339a976acf65dd6a14518aaa8609b | |
| parent | 3320dd6186e41f83dfccb8fe5303044933bbabe3 (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.java | 9 |
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 |