am 57a99202: am d247d8b4: am 135e2ce5: am 53c75014: Merge "Add OrSelf to privileged permission check." into mnc-dev

* commit '57a992021b2279f34265eb403816417a1ce682f2':
  Add OrSelf to privileged permission check.
This commit is contained in:
Amit Mahajan
2015-07-31 00:20:29 +00:00
committed by Android Git Automerger
2 changed files with 13 additions and 10 deletions

View File

@@ -362,10 +362,10 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
} }
try { try {
mContext.enforceCallingPermission( mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
"addOnSubscriptionsChangedListener"); "addOnSubscriptionsChangedListener");
// SKIP checking for run-time permission since obtained PRIVILEGED // SKIP checking for run-time permission since caller or self has PRIVILEGED permission
} catch (SecurityException e) { } catch (SecurityException e) {
mContext.enforceCallingOrSelfPermission( mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE,
@@ -481,9 +481,10 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
if ((events & ENFORCE_PHONE_STATE_PERMISSION_MASK) != 0) { if ((events & ENFORCE_PHONE_STATE_PERMISSION_MASK) != 0) {
try { try {
mContext.enforceCallingPermission( mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, null); android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, null);
// SKIP checking for run-time permission since obtained PRIVILEGED // SKIP checking for run-time permission since caller or self has PRIVILEGED
// permission
} catch (SecurityException e) { } catch (SecurityException e) {
if (mAppOps.noteOp(AppOpsManager.OP_READ_PHONE_STATE, Binder.getCallingUid(), if (mAppOps.noteOp(AppOpsManager.OP_READ_PHONE_STATE, Binder.getCallingUid(),
callingPackage) != AppOpsManager.MODE_ALLOWED) { callingPackage) != AppOpsManager.MODE_ALLOWED) {
@@ -661,10 +662,10 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
} }
private boolean canReadPhoneState(String callingPackage) { private boolean canReadPhoneState(String callingPackage) {
if (mContext.checkCallingPermission( if (mContext.checkCallingOrSelfPermission(
android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) == android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) ==
PackageManager.PERMISSION_GRANTED) { PackageManager.PERMISSION_GRANTED) {
// SKIP checking for run-time permission since obtained PRIVILEGED // SKIP checking for run-time permission since caller or self has PRIVILEGED permission
return true; return true;
} }
boolean canReadPhoneState = mContext.checkCallingOrSelfPermission( boolean canReadPhoneState = mContext.checkCallingOrSelfPermission(
@@ -1589,9 +1590,10 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
if ((events & ENFORCE_PHONE_STATE_PERMISSION_MASK) != 0) { if ((events & ENFORCE_PHONE_STATE_PERMISSION_MASK) != 0) {
try { try {
mContext.enforceCallingPermission( mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, null); android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, null);
// SKIP checking for run-time permission since obtained PRIVILEGED // SKIP checking for run-time permission since caller or self has PRIVILEGED
// permission
} catch (SecurityException e) { } catch (SecurityException e) {
mContext.enforceCallingOrSelfPermission( mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.READ_PHONE_STATE, null); android.Manifest.permission.READ_PHONE_STATE, null);

View File

@@ -1668,8 +1668,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
public NetworkPolicy[] getNetworkPolicies(String callingPackage) { public NetworkPolicy[] getNetworkPolicies(String callingPackage) {
mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG);
try { try {
mContext.enforceCallingPermission(READ_PRIVILEGED_PHONE_STATE, TAG); mContext.enforceCallingOrSelfPermission(READ_PRIVILEGED_PHONE_STATE, TAG);
// SKIP checking run-time OP_READ_PHONE_STATE since using PRIVILEGED // SKIP checking run-time OP_READ_PHONE_STATE since caller or self has PRIVILEGED
// permission
} catch (SecurityException e) { } catch (SecurityException e) {
mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, TAG); mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, TAG);