diff options
| author | 2015-07-31 00:13:55 +0000 | |
|---|---|---|
| committer | 2015-07-31 00:13:55 +0000 | |
| commit | 57a992021b2279f34265eb403816417a1ce682f2 (patch) | |
| tree | b8c7dab2fa2588c55930094099c0e63e60bf4cc1 | |
| parent | c8c3539de720449d60b754aabc19bf2693eaa09b (diff) | |
| parent | d247d8b4aa6eff39fad55c04e47d0d92d9c69751 (diff) | |
am d247d8b4: am 135e2ce5: am 53c75014: Merge "Add OrSelf to privileged permission check." into mnc-dev
* commit 'd247d8b4aa6eff39fad55c04e47d0d92d9c69751':
Add OrSelf to privileged permission check.
| -rw-r--r-- | services/core/java/com/android/server/TelephonyRegistry.java | 18 | ||||
| -rw-r--r-- | services/core/java/com/android/server/net/NetworkPolicyManagerService.java | 5 |
2 files changed, 13 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java index a06bb3069d64..19a4851525a6 100644 --- a/services/core/java/com/android/server/TelephonyRegistry.java +++ b/services/core/java/com/android/server/TelephonyRegistry.java @@ -362,10 +362,10 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub { } try { - mContext.enforceCallingPermission( + mContext.enforceCallingOrSelfPermission( android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, "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) { mContext.enforceCallingOrSelfPermission( android.Manifest.permission.READ_PHONE_STATE, @@ -481,9 +481,10 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub { if ((events & ENFORCE_PHONE_STATE_PERMISSION_MASK) != 0) { try { - mContext.enforceCallingPermission( + mContext.enforceCallingOrSelfPermission( 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) { if (mAppOps.noteOp(AppOpsManager.OP_READ_PHONE_STATE, Binder.getCallingUid(), callingPackage) != AppOpsManager.MODE_ALLOWED) { @@ -661,10 +662,10 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub { } private boolean canReadPhoneState(String callingPackage) { - if (mContext.checkCallingPermission( + if (mContext.checkCallingOrSelfPermission( android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) == 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; } boolean canReadPhoneState = mContext.checkCallingOrSelfPermission( @@ -1589,9 +1590,10 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub { if ((events & ENFORCE_PHONE_STATE_PERMISSION_MASK) != 0) { try { - mContext.enforceCallingPermission( + mContext.enforceCallingOrSelfPermission( 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) { mContext.enforceCallingOrSelfPermission( android.Manifest.permission.READ_PHONE_STATE, null); diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java index cd982d32d45d..46bda8ccfd89 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -1668,8 +1668,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { public NetworkPolicy[] getNetworkPolicies(String callingPackage) { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); try { - mContext.enforceCallingPermission(READ_PRIVILEGED_PHONE_STATE, TAG); - // SKIP checking run-time OP_READ_PHONE_STATE since using PRIVILEGED + mContext.enforceCallingOrSelfPermission(READ_PRIVILEGED_PHONE_STATE, TAG); + // SKIP checking run-time OP_READ_PHONE_STATE since caller or self has PRIVILEGED + // permission } catch (SecurityException e) { mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, TAG); |