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

Commit e7408d4f 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

Change-Id: I5bc7a8dae5667a1509f9741be571008a919b6461
parents 7f71f50a 5cdb4c34
Loading
Loading
Loading
Loading
+26 −21
Original line number Diff line number Diff line
@@ -1832,14 +1832,20 @@ public class ConnectivityService extends IConnectivityManager.Stub
                "ConnectivityService");
    }

    private void enforceAnyPermissionOf(String... permissions) {
    private boolean checkAnyPermissionOf(String... permissions) {
        for (String permission : permissions) {
            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() {
@@ -1859,19 +1865,22 @@ public class ConnectivityService extends IConnectivityManager.Stub
    }

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

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

    private boolean checkSettingsPermission(int pid, int uid) {
        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() {
@@ -1881,9 +1890,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
    }

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

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

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

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

    private void enforceConnectivityRestrictedNetworksPermission() {