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

Commit 37259089 authored by Alex Johnston's avatar Alex Johnston
Browse files

Only a test admin can be unmarked as a COPE admin

Allowing adb and system apps to unmark a COPE admin will have
security implications on the asset mng  guarantee of COPE

Bug: 225834187
Test: com.android.server.devicepolicy.DevicePolicyManagerTest
Change-Id: Ic493c1cb0548ce1a7be4ff57897a4c867c5e0ec3
parent c170d9ad
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -14649,6 +14649,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
            throw new SecurityException(
                    "Only the system can mark a profile owner of organization-owned device.");
        }
        // Only a test admin can be unmarked as a profile owner on an organization-owned device.
        synchronized (getLockObject()) {
            if (!isProfileOwnerOnOrganizationOwnedDevice && !isAdminTestOnlyLocked(who, userId)) {
                throw new SecurityException("Only a test admin can be unmarked as a "
                        + "profile owner of organization-owned device.");
            }
        }
        if (isAdb(caller)) {
            if (hasIncompatibleAccountsOrNonAdbNoLock(caller, userId, who)) {