Require INSTALL_PACKAGES if FRP is enabled

Bug: 141262900
Test: atest android.packageinstaller.install.cts.SessionTest
Change-Id: I1cf5b5355e2bc5287430e7b7ad49dd2a854c71ee
This commit is contained in:
Todd Kennedy
2019-11-25 15:36:12 -08:00
parent 2cebd529f3
commit 7e2b8e66cf

View File

@@ -959,9 +959,13 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
assertPreparedAndNotDestroyedLocked("commit");
assertNoWriteFileTransfersOpenLocked();
if (forTransfer) {
final boolean enforceInstallPackages = forTransfer
|| (android.provider.Settings.Secure.getInt(mContext.getContentResolver(),
android.provider.Settings.Secure.SECURE_FRP_MODE, 0) == 1);
if (enforceInstallPackages) {
mContext.enforceCallingOrSelfPermission(Manifest.permission.INSTALL_PACKAGES, null);
}
if (forTransfer) {
if (mInstallerUid == mOriginalInstallerUid) {
throw new IllegalArgumentException("Session has not been transferred");
}