Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f0427c1f authored by Winson Chiu's avatar Winson Chiu Committed by Android (Google) Code Review
Browse files

Merge "Revert "Verify PackageManagerShellCommand caller is shell""

parents 866fa3fb 47d30986
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.server.pm;

import static android.content.pm.PackageInstaller.LOCATION_DATA_APP;

import android.Manifest;
import android.accounts.IAccountManager;
import android.annotation.NonNull;
import android.annotation.UserIdInt;
@@ -171,20 +170,6 @@ class PackageManagerShellCommand extends ShellCommand {

    @Override
    public int onCommand(String cmd) {
        switch (Binder.getCallingUid()) {
            case Process.ROOT_UID:
            case Process.SHELL_UID:
                break;
            default:
                // This is called from a test and is allowed as non-shell with the right permission
                if ("install-incremental".equals(cmd)) {
                    mContext.enforceCallingPermission(Manifest.permission.USE_SYSTEM_DATA_LOADERS,
                            "Caller missing USE_SYSTEM_DATA_LOADERS permission to use " + cmd);
                } else {
                    throw new IllegalArgumentException("Caller must be root or shell");
                }
        }

        if (cmd == null) {
            return handleDefaultCommands(cmd);
        }
+0 −1
Original line number Diff line number Diff line
@@ -1197,7 +1197,6 @@ public class DomainVerificationService extends SystemService
            @Nullable @UserIdInt Integer userId,
            @NonNull Function<String, PackageStateInternal> pkgSettingFunction)
            throws NameNotFoundException {
        mEnforcer.assertApprovedQuerent(mConnection.getCallingUid(), mProxy);
        synchronized (mLock) {
            mDebug.printState(writer, packageName, userId, pkgSettingFunction, mAttachedPkgStates);
        }
+2 −19
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.server.pm.test.verify.domain
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.content.pm.SigningDetails
import android.content.pm.parsing.component.ParsedActivityImpl
import android.content.pm.parsing.component.ParsedIntentInfoImpl
import android.content.pm.verify.domain.DomainVerificationManager
@@ -27,7 +26,6 @@ import android.content.pm.verify.domain.DomainVerificationState
import android.os.Build
import android.os.Process
import android.util.ArraySet
import android.util.IndentingPrintWriter
import android.util.SparseArray
import androidx.test.platform.app.InstrumentationRegistry
import com.android.server.pm.parsing.pkg.AndroidPackage
@@ -48,7 +46,6 @@ import org.mockito.Mockito.anyInt
import org.mockito.Mockito.anyLong
import org.mockito.Mockito.anyString
import org.mockito.Mockito.eq
import org.mockito.Mockito.mock
import org.mockito.Mockito.verifyNoMoreInteractions
import java.util.UUID
import java.util.concurrent.atomic.AtomicBoolean
@@ -207,14 +204,6 @@ class DomainVerificationEnforcerTest {
                service(Type.QUERENT, "getInfo") {
                    getDomainVerificationInfo(it.targetPackageName)
                },
                service(Type.QUERENT, "printState") {
                    printState(mock(IndentingPrintWriter::class.java), null, null)
                },
                service(Type.QUERENT, "printStateInternal") {
                    printState(mock(IndentingPrintWriter::class.java), null, null) {
                        mockPkgState(it, UUID.randomUUID())
                    }
                },
                service(Type.VERIFIER, "setStatus") {
                    setDomainVerificationStatus(
                        it.targetDomainSetId,
@@ -322,7 +311,6 @@ class DomainVerificationEnforcerTest {
                    }
                )
            }
            whenever(signingDetails) { SigningDetails.UNKNOWN }
        }

        fun mockPkgState(packageName: String, domainSetId: UUID) =
@@ -339,7 +327,6 @@ class DomainVerificationEnforcerTest {
                    }
                }
                whenever(isSystem) { false }
                whenever(signingDetails) { SigningDetails.UNKNOWN }
            }
    }

@@ -807,13 +794,9 @@ class DomainVerificationEnforcerTest {
            }

            val valueAsInt = value as? Int
            if (valueAsInt != null) {
                if (valueAsInt == DomainVerificationManager.STATUS_OK) {
            if (valueAsInt != null && valueAsInt == DomainVerificationManager.STATUS_OK) {
                throw AssertionError("Expected call to return false, was $value")
            }
            } else {
                throw AssertionError("Expected call to fail")
            }
        } catch (e: SecurityException) {
        } catch (e: PackageManager.NameNotFoundException) {
            // Any of these 2 exceptions are considered failures, which is expected