summaryrefslogtreecommitdiffstats
path: root/service/java/com/android
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-06-08 00:28:23 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-06-08 00:28:23 +0000
commit6a70be37fe18f0b9b1a968a69190d3fab0505a71 (patch)
tree08e70dab93bda1f0759d001e97a98d3f0e180c3e /service/java/com/android
parentd23921925eeb0d42497e5e4bee75b5e500d71fc0 (diff)
parent751d92efd542fae18c5c4a0e5597edd24ecb684b (diff)
downloadandroid_frameworks_opt_net_wifi-6a70be37fe18f0b9b1a968a69190d3fab0505a71.tar.gz
android_frameworks_opt_net_wifi-6a70be37fe18f0b9b1a968a69190d3fab0505a71.tar.bz2
android_frameworks_opt_net_wifi-6a70be37fe18f0b9b1a968a69190d3fab0505a71.zip
Merge "Use correct method for checking NETWORK_SETUP_WIZARD permission" into qt-dev
Diffstat (limited to 'service/java/com/android')
-rw-r--r--service/java/com/android/server/wifi/WifiServiceImpl.java47
1 files changed, 15 insertions, 32 deletions
diff --git a/service/java/com/android/server/wifi/WifiServiceImpl.java b/service/java/com/android/server/wifi/WifiServiceImpl.java
index ef57382bf..6bb36b3b9 100644
--- a/service/java/com/android/server/wifi/WifiServiceImpl.java
+++ b/service/java/com/android/server/wifi/WifiServiceImpl.java
@@ -747,6 +747,13 @@ public class WifiServiceImpl extends BaseWifiService {
|| checkNetworkManagedProvisioningPermission(pid, uid);
}
+ // Helper method to check if the entity initiating the binder call has setup wizard or settings
+ // permissions.
+ private boolean isSettingsOrSuw(int pid, int uid) {
+ return checkNetworkSettingsPermission(pid, uid)
+ || checkNetworkSetupWizardPermission(pid, uid);
+ }
+
// Helper method to check if the entity initiating the binder call is a system app.
private boolean isSystem(String packageName) {
long ident = Binder.clearCallingIdentity();
@@ -1909,10 +1916,7 @@ public class WifiServiceImpl extends BaseWifiService {
@Override
public Map<String, Map<Integer, List<ScanResult>>> getAllMatchingFqdnsForScanResults(
List<ScanResult> scanResults) {
- if ((mContext.checkCallingOrSelfPermission(android.Manifest.permission.NETWORK_SETTINGS)
- != PERMISSION_GRANTED)
- && (mContext.checkSelfPermission(android.Manifest.permission.NETWORK_SETUP_WIZARD)
- != PERMISSION_GRANTED)) {
+ if (!isSettingsOrSuw(Binder.getCallingPid(), Binder.getCallingUid())) {
throw new SecurityException(TAG + ": Permission denied");
}
if (mVerboseLoggingEnabled) {
@@ -1934,10 +1938,7 @@ public class WifiServiceImpl extends BaseWifiService {
@Override
public Map<OsuProvider, List<ScanResult>> getMatchingOsuProviders(
List<ScanResult> scanResults) {
- if ((mContext.checkCallingOrSelfPermission(android.Manifest.permission.NETWORK_SETTINGS)
- != PERMISSION_GRANTED)
- && (mContext.checkSelfPermission(android.Manifest.permission.NETWORK_SETUP_WIZARD)
- != PERMISSION_GRANTED)) {
+ if (!isSettingsOrSuw(Binder.getCallingPid(), Binder.getCallingUid())) {
throw new SecurityException(TAG + ": Permission denied");
}
if (mVerboseLoggingEnabled) {
@@ -1958,10 +1959,7 @@ public class WifiServiceImpl extends BaseWifiService {
@Override
public Map<OsuProvider, PasspointConfiguration> getMatchingPasspointConfigsForOsuProviders(
List<OsuProvider> osuProviders) {
- if ((mContext.checkCallingOrSelfPermission(android.Manifest.permission.NETWORK_SETTINGS)
- != PERMISSION_GRANTED)
- && (mContext.checkSelfPermission(android.Manifest.permission.NETWORK_SETUP_WIZARD)
- != PERMISSION_GRANTED)) {
+ if (!isSettingsOrSuw(Binder.getCallingPid(), Binder.getCallingUid())) {
throw new SecurityException(TAG + ": Permission denied");
}
if (mVerboseLoggingEnabled) {
@@ -1990,10 +1988,7 @@ public class WifiServiceImpl extends BaseWifiService {
*/
@Override
public List<WifiConfiguration> getWifiConfigsForPasspointProfiles(List<String> fqdnList) {
- if ((mContext.checkCallingOrSelfPermission(android.Manifest.permission.NETWORK_SETTINGS)
- != PERMISSION_GRANTED)
- && (mContext.checkSelfPermission(android.Manifest.permission.NETWORK_SETUP_WIZARD)
- != PERMISSION_GRANTED)) {
+ if (!isSettingsOrSuw(Binder.getCallingPid(), Binder.getCallingUid())) {
throw new SecurityException(TAG + ": Permission denied");
}
if (mVerboseLoggingEnabled) {
@@ -3123,10 +3118,7 @@ public class WifiServiceImpl extends BaseWifiService {
if (callback == null) {
throw new IllegalArgumentException("Callback must not be null");
}
- if ((mContext.checkCallingOrSelfPermission(android.Manifest.permission.NETWORK_SETTINGS)
- != PERMISSION_GRANTED)
- && (mContext.checkSelfPermission(android.Manifest.permission.NETWORK_SETUP_WIZARD)
- != PERMISSION_GRANTED)) {
+ if (!isSettingsOrSuw(Binder.getCallingPid(), Binder.getCallingUid())) {
throw new SecurityException(TAG + ": Permission denied");
}
if (!mContext.getPackageManager().hasSystemFeature(
@@ -3419,10 +3411,7 @@ public class WifiServiceImpl extends BaseWifiService {
final int uid = getMockableCallingUid();
- if ((mContext.checkCallingOrSelfPermission(android.Manifest.permission.NETWORK_SETTINGS)
- != PERMISSION_GRANTED)
- && (mContext.checkSelfPermission(android.Manifest.permission.NETWORK_SETUP_WIZARD)
- != PERMISSION_GRANTED)) {
+ if (!isSettingsOrSuw(Binder.getCallingPid(), Binder.getCallingUid())) {
throw new SecurityException(TAG + ": Permission denied");
}
@@ -3456,10 +3445,7 @@ public class WifiServiceImpl extends BaseWifiService {
final int uid = getMockableCallingUid();
- if ((mContext.checkCallingOrSelfPermission(android.Manifest.permission.NETWORK_SETTINGS)
- != PERMISSION_GRANTED)
- && (mContext.checkSelfPermission(android.Manifest.permission.NETWORK_SETUP_WIZARD)
- != PERMISSION_GRANTED)) {
+ if (!isSettingsOrSuw(Binder.getCallingPid(), Binder.getCallingUid())) {
throw new SecurityException(TAG + ": Permission denied");
}
@@ -3473,10 +3459,7 @@ public class WifiServiceImpl extends BaseWifiService {
*/
@Override
public void stopDppSession() throws android.os.RemoteException {
- if ((mContext.checkCallingOrSelfPermission(android.Manifest.permission.NETWORK_SETTINGS)
- != PERMISSION_GRANTED)
- && (mContext.checkSelfPermission(android.Manifest.permission.NETWORK_SETUP_WIZARD)
- != PERMISSION_GRANTED)) {
+ if (!isSettingsOrSuw(Binder.getCallingPid(), Binder.getCallingUid())) {
throw new SecurityException(TAG + ": Permission denied");
}
final int uid = getMockableCallingUid();