Merge "Check MAINLINE_NETWORK_STACK in ConnectivityService"
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new SecurityException(
|
return false;
|
||||||
"Requires one of the following permissions: " + String.join(", ", permissions) + ".");
|
}
|
||||||
|
|
||||||
|
private void enforceAnyPermissionOf(String... permissions) {
|
||||||
|
if (!checkAnyPermissionOf(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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user