Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82ad8bb4 authored by Chalard Jean's avatar Chalard Jean Committed by android-build-merger
Browse files

Merge "Guard the SSID with NETWORK_SETTINGS" into pi-dev am: a7579d63

am: b1e51a08

Change-Id: I6cf364f0815a2eaab60f5de5e1d5ccc4908e9eca
parents cdc555f4 b1e51a08
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
    <uses-permission android:name="android.permission.NETWORK_STACK" />
    <uses-permission android:name="android.permission.NETWORK_SETTINGS" />

    <application android:label="@string/app_name"
                 android:usesCleartextTraffic="true">
+2 −7
Original line number Diff line number Diff line
@@ -1402,7 +1402,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
            NetworkCapabilities nc, int callerPid, int callerUid) {
        final NetworkCapabilities newNc = new NetworkCapabilities(nc);
        if (!checkSettingsPermission(callerPid, callerUid)) newNc.setUids(null);
        if (!checkNetworkStackPermission(callerPid, callerUid)) newNc.setSSID(null);
        if (!checkSettingsPermission(callerPid, callerUid)) newNc.setSSID(null);
        return newNc;
    }

@@ -1662,11 +1662,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
                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() {
        mContext.enforceCallingOrSelfPermission(
                android.Manifest.permission.ACCESS_NETWORK_STATE,
@@ -4247,7 +4242,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
    // calling app has permission to do so.
    private void ensureSufficientPermissionsForRequest(NetworkCapabilities nc,
            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");
        }
    }