Merge "Guard the SSID with NETWORK_SETTINGS" into pi-dev

am: a7579d6325

Change-Id: Iba59e93875c28b8e30db0c013575bc2f117cb16c
This commit is contained in:
Chalard Jean
2018-04-15 22:48:50 -07:00
committed by android-build-merger

View File

@@ -1402,7 +1402,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
NetworkCapabilities nc, int callerPid, int callerUid) { NetworkCapabilities nc, int callerPid, int callerUid) {
final NetworkCapabilities newNc = new NetworkCapabilities(nc); final NetworkCapabilities newNc = new NetworkCapabilities(nc);
if (!checkSettingsPermission(callerPid, callerUid)) newNc.setUids(null); if (!checkSettingsPermission(callerPid, callerUid)) newNc.setUids(null);
if (!checkNetworkStackPermission(callerPid, callerUid)) newNc.setSSID(null); if (!checkSettingsPermission(callerPid, callerUid)) newNc.setSSID(null);
return newNc; return newNc;
} }
@@ -1662,11 +1662,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
android.Manifest.permission.NETWORK_SETTINGS, pid, uid); android.Manifest.permission.NETWORK_SETTINGS, pid, uid);
} }
private boolean checkNetworkStackPermission(int pid, int uid) {
return PERMISSION_GRANTED == mContext.checkPermission(
android.Manifest.permission.NETWORK_STACK, pid, uid);
}
private void enforceTetherAccessPermission() { private void enforceTetherAccessPermission() {
mContext.enforceCallingOrSelfPermission( mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.ACCESS_NETWORK_STATE,
@@ -4247,7 +4242,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
// calling app has permission to do so. // calling app has permission to do so.
private void ensureSufficientPermissionsForRequest(NetworkCapabilities nc, private void ensureSufficientPermissionsForRequest(NetworkCapabilities nc,
int callerPid, int callerUid) { int callerPid, int callerUid) {
if (null != nc.getSSID() && !checkNetworkStackPermission(callerPid, callerUid)) { if (null != nc.getSSID() && !checkSettingsPermission(callerPid, callerUid)) {
throw new SecurityException("Insufficient permissions to request a specific SSID"); throw new SecurityException("Insufficient permissions to request a specific SSID");
} }
} }