Loading services/core/java/com/android/server/ConnectivityService.java +26 −21 Original line number Diff line number Diff line Loading @@ -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() { Loading @@ -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() { Loading @@ -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() { Loading @@ -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() { Loading Loading
services/core/java/com/android/server/ConnectivityService.java +26 −21 Original line number Diff line number Diff line Loading @@ -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() { Loading @@ -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() { Loading @@ -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() { Loading @@ -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() { Loading