Allow tests to create TRANSPORT_TEST|TRANSPORT_VPN networks.
This CL allows an app that has the MANAGE_TEST_NETWORKS permission to create test VPN networks. The code enforces that such networks can never apply to any UIDs and thus will never carry any traffic. Bug: 173331190 Test: passes existing tests, moved tests pass Change-Id: I5befea0e3b4b6dce4ca0c6a04471a055186b644c
This commit is contained in:
@@ -712,6 +712,7 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
if (ArrayUtils.contains(originalAdministratorUids, creatorUid)) {
|
||||
setAdministratorUids(new int[] {creatorUid});
|
||||
}
|
||||
// There is no need to clear the UIDs, they have already been cleared by clearAll() above.
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -805,7 +806,9 @@ public final class NetworkCapabilities implements Parcelable {
|
||||
*/
|
||||
private static final int TEST_NETWORKS_ALLOWED_TRANSPORTS = 1 << TRANSPORT_TEST
|
||||
// Test ethernet networks can be created with EthernetManager#setIncludeTestInterfaces
|
||||
| 1 << TRANSPORT_ETHERNET;
|
||||
| 1 << TRANSPORT_ETHERNET
|
||||
// Test VPN networks can be created but their UID ranges must be empty.
|
||||
| 1 << TRANSPORT_VPN;
|
||||
|
||||
/**
|
||||
* Adds the given transport type to this {@code NetworkCapability} instance.
|
||||
|
||||
Reference in New Issue
Block a user