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

Commit 9b03bba6 authored by Remi NGUYEN VAN's avatar Remi NGUYEN VAN Committed by android-build-merger
Browse files

Merge "Check MAINLINE_NETWORK_STACK in ConnectivityService" am: 5cdb4c34

am: e7408d4f

Change-Id: I5684b4fdc0e1030d372287d53f22b66fe8d90420
parents b6a6843c e7408d4f
Loading
Loading
Loading
Loading
+26 −21
Original line number Original line Diff line number Diff line
@@ -1832,14 +1832,20 @@ public class ConnectivityService extends IConnectivityManager.Stub
                "ConnectivityService");
                "ConnectivityService");
    }
    }


    private void enforceAnyPermissionOf(String... permissions) {
    private boolean checkAnyPermissionOf(String... permissions) {
        for (String permission : permissions) {
        for (String permission : permissions) {
            if (mContext.checkCallingOrSelfPermission(permission) == PERMISSION_GRANTED) {
            if (mContext.checkCallingOrSelfPermission(permission) == PERMISSION_GRANTED) {
                return;
                return true;
            }
        }
        return false;
    }
    }

    private void enforceAnyPermissionOf(String... permissions) {
        if (!checkAnyPermissionOf(permissions)) {
            throw new SecurityException("Requires one of the following permissions: "
                    + String.join(", ", permissions) + ".");
        }
        }
        throw new SecurityException(
            "Requires one of the following permissions: " + String.join(", ", permissions) + ".");
    }
    }


    private void enforceInternetPermission() {
    private void enforceInternetPermission() {
@@ -1859,19 +1865,22 @@ public class ConnectivityService extends IConnectivityManager.Stub
    }
    }


    private void enforceSettingsPermission() {
    private void enforceSettingsPermission() {
        mContext.enforceCallingOrSelfPermission(
        enforceAnyPermissionOf(
                android.Manifest.permission.NETWORK_SETTINGS,
                android.Manifest.permission.NETWORK_SETTINGS,
                "ConnectivityService");
                NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
    }
    }


    private boolean checkSettingsPermission() {
    private boolean checkSettingsPermission() {
        return PERMISSION_GRANTED == mContext.checkCallingOrSelfPermission(
        return checkAnyPermissionOf(
                android.Manifest.permission.NETWORK_SETTINGS);
                android.Manifest.permission.NETWORK_SETTINGS,
                NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
    }
    }


    private boolean checkSettingsPermission(int pid, int uid) {
    private boolean checkSettingsPermission(int pid, int uid) {
        return PERMISSION_GRANTED == mContext.checkPermission(
        return PERMISSION_GRANTED == mContext.checkPermission(
                android.Manifest.permission.NETWORK_SETTINGS, pid, uid);
                android.Manifest.permission.NETWORK_SETTINGS, pid, uid)
                || PERMISSION_GRANTED == mContext.checkPermission(
                NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, pid, uid);
    }
    }


    private void enforceTetherAccessPermission() {
    private void enforceTetherAccessPermission() {
@@ -1881,9 +1890,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
    }
    }


    private void enforceConnectivityInternalPermission() {
    private void enforceConnectivityInternalPermission() {
        mContext.enforceCallingOrSelfPermission(
        enforceAnyPermissionOf(
                android.Manifest.permission.CONNECTIVITY_INTERNAL,
                android.Manifest.permission.CONNECTIVITY_INTERNAL,
                "ConnectivityService");
                NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
    }
    }


    private void enforceControlAlwaysOnVpnPermission() {
    private void enforceControlAlwaysOnVpnPermission() {
@@ -1896,18 +1905,14 @@ public class ConnectivityService extends IConnectivityManager.Stub
        enforceAnyPermissionOf(
        enforceAnyPermissionOf(
                android.Manifest.permission.NETWORK_SETTINGS,
                android.Manifest.permission.NETWORK_SETTINGS,
                android.Manifest.permission.NETWORK_SETUP_WIZARD,
                android.Manifest.permission.NETWORK_SETUP_WIZARD,
            android.Manifest.permission.NETWORK_STACK);
    }

    private void enforceNetworkStackPermission() {
        mContext.enforceCallingOrSelfPermission(
                android.Manifest.permission.NETWORK_STACK,
                android.Manifest.permission.NETWORK_STACK,
                "ConnectivityService");
                NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
    }
    }


    private boolean checkNetworkStackPermission() {
    private boolean checkNetworkStackPermission() {
        return PERMISSION_GRANTED == mContext.checkCallingOrSelfPermission(
        return checkAnyPermissionOf(
                android.Manifest.permission.NETWORK_STACK);
                android.Manifest.permission.NETWORK_STACK,
                NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
    }
    }


    private void enforceConnectivityRestrictedNetworksPermission() {
    private void enforceConnectivityRestrictedNetworksPermission() {