From 0b103c697331a5bcae2f65de4a3864bca0b592ff Mon Sep 17 00:00:00 2001 From: Hongming Jin Date: Fri, 28 Sep 2018 19:23:22 +0000 Subject: Revert "RESTRICT AUTOMERGE: Check both self and shared user id package for requested permissions." This reverts commit 5e37e9d962c476202590bef32b87c2eb794d61a1. Reason for revert: Not a security fix and the security fix needs this cl is reverted. Bug: 114365189 Change-Id: Ia12ce2692b47a1d59be0b199b1fbfa415767e145 --- .../java/com/android/server/pm/permission/BasePermission.java | 5 +---- .../java/com/android/server/pm/permission/PermissionsState.java | 9 +-------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/services/core/java/com/android/server/pm/permission/BasePermission.java b/services/core/java/com/android/server/pm/permission/BasePermission.java index 820258022fd5..1d002efc546f 100644 --- a/services/core/java/com/android/server/pm/permission/BasePermission.java +++ b/services/core/java/com/android/server/pm/permission/BasePermission.java @@ -39,7 +39,6 @@ import android.util.Slog; import com.android.server.pm.DumpState; import com.android.server.pm.PackageManagerService; -import com.android.server.pm.PackageSetting; import com.android.server.pm.PackageSettingBase; import org.xmlpull.v1.XmlPullParser; @@ -375,10 +374,8 @@ public final class BasePermission { } public void enforceDeclaredUsedAndRuntimeOrDevelopment(PackageParser.Package pkg) { - final PackageSetting pkgSetting = (PackageSetting) pkg.mExtras; - final PermissionsState permsState = pkgSetting.getPermissionsState(); int index = pkg.requestedPermissions.indexOf(name); - if (!permsState.hasRequestedPermission(name) && index == -1) { + if (index == -1) { throw new SecurityException("Package " + pkg.packageName + " has not requested permission " + name); } diff --git a/services/core/java/com/android/server/pm/permission/PermissionsState.java b/services/core/java/com/android/server/pm/permission/PermissionsState.java index 5e66bfc3cd3e..11df380427eb 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionsState.java +++ b/services/core/java/com/android/server/pm/permission/PermissionsState.java @@ -20,9 +20,9 @@ import android.content.pm.PackageManager; import android.os.UserHandle; import android.util.ArrayMap; import android.util.ArraySet; + import android.util.SparseArray; import android.util.SparseBooleanArray; - import com.android.internal.util.ArrayUtils; import java.util.ArrayList; @@ -290,13 +290,6 @@ public final class PermissionsState { return false; } - /** - * Returns whether the state has any known request for the given permission name, - * whether or not it has been granted. - */ - public boolean hasRequestedPermission(String name) { - return mPermissions != null && (mPermissions.get(name) != null); - } /** * Gets all permissions for a given device user id regardless if they * are install time or runtime permissions. -- cgit v1.2.3-59-g8ed1b