diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-06-08 00:28:23 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-06-08 00:28:23 +0000 |
commit | 6a70be37fe18f0b9b1a968a69190d3fab0505a71 (patch) | |
tree | 08e70dab93bda1f0759d001e97a98d3f0e180c3e /service/java/com/android | |
parent | d23921925eeb0d42497e5e4bee75b5e500d71fc0 (diff) | |
parent | 751d92efd542fae18c5c4a0e5597edd24ecb684b (diff) | |
download | android_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.java | 47 |
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(); |