Merge "Stop calling setAlwaysOnPackage from VpnManagerService"
This commit is contained in:
@@ -8531,8 +8531,7 @@ public class ConnectivityServiceTest {
|
|||||||
|
|
||||||
// Enable always-on VPN lockdown. The main user loses network access because no VPN is up.
|
// Enable always-on VPN lockdown. The main user loses network access because no VPN is up.
|
||||||
final ArrayList<String> allowList = new ArrayList<>();
|
final ArrayList<String> allowList = new ArrayList<>();
|
||||||
mVpnManagerService.setAlwaysOnVpnPackage(PRIMARY_USER, ALWAYS_ON_PACKAGE,
|
mMockVpn.setAlwaysOnPackage(ALWAYS_ON_PACKAGE, true /* lockdown */, allowList);
|
||||||
true /* lockdown */, allowList);
|
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
assertNull(mCm.getActiveNetworkForUid(uid));
|
assertNull(mCm.getActiveNetworkForUid(uid));
|
||||||
// This is arguably overspecified: a UID that is not running doesn't have an active network.
|
// This is arguably overspecified: a UID that is not running doesn't have an active network.
|
||||||
@@ -8564,8 +8563,7 @@ public class ConnectivityServiceTest {
|
|||||||
assertNull(mCm.getActiveNetworkForUid(uid));
|
assertNull(mCm.getActiveNetworkForUid(uid));
|
||||||
assertNotNull(mCm.getActiveNetworkForUid(restrictedUid));
|
assertNotNull(mCm.getActiveNetworkForUid(restrictedUid));
|
||||||
|
|
||||||
mVpnManagerService.setAlwaysOnVpnPackage(PRIMARY_USER, null, false /* lockdown */,
|
mMockVpn.setAlwaysOnPackage(null, false /* lockdown */, allowList);
|
||||||
allowList);
|
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9023,10 +9021,8 @@ public class ConnectivityServiceTest {
|
|||||||
new Handler(ConnectivityThread.getInstanceLooper()));
|
new Handler(ConnectivityThread.getInstanceLooper()));
|
||||||
|
|
||||||
final int uid = Process.myUid();
|
final int uid = Process.myUid();
|
||||||
final int userId = UserHandle.getUserId(uid);
|
|
||||||
final ArrayList<String> allowList = new ArrayList<>();
|
final ArrayList<String> allowList = new ArrayList<>();
|
||||||
mVpnManagerService.setAlwaysOnVpnPackage(userId, ALWAYS_ON_PACKAGE, true /* lockdown */,
|
mMockVpn.setAlwaysOnPackage(ALWAYS_ON_PACKAGE, true /* lockdown */, allowList);
|
||||||
allowList);
|
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
|
|
||||||
final Set<Integer> excludedUids = new ArraySet<Integer>();
|
final Set<Integer> excludedUids = new ArraySet<Integer>();
|
||||||
@@ -9056,7 +9052,7 @@ public class ConnectivityServiceTest {
|
|||||||
assertNetworkInfo(TYPE_WIFI, DetailedState.BLOCKED);
|
assertNetworkInfo(TYPE_WIFI, DetailedState.BLOCKED);
|
||||||
|
|
||||||
// Disable lockdown, expect to see the network unblocked.
|
// Disable lockdown, expect to see the network unblocked.
|
||||||
mVpnManagerService.setAlwaysOnVpnPackage(userId, null, false /* lockdown */, allowList);
|
mMockVpn.setAlwaysOnPackage(null, false /* lockdown */, allowList);
|
||||||
callback.expectBlockedStatusCallback(false, mWiFiNetworkAgent);
|
callback.expectBlockedStatusCallback(false, mWiFiNetworkAgent);
|
||||||
defaultCallback.expectBlockedStatusCallback(false, mWiFiNetworkAgent);
|
defaultCallback.expectBlockedStatusCallback(false, mWiFiNetworkAgent);
|
||||||
vpnUidCallback.assertNoCallback();
|
vpnUidCallback.assertNoCallback();
|
||||||
@@ -9071,8 +9067,7 @@ public class ConnectivityServiceTest {
|
|||||||
|
|
||||||
// Add our UID to the allowlist and re-enable lockdown, expect network is not blocked.
|
// Add our UID to the allowlist and re-enable lockdown, expect network is not blocked.
|
||||||
allowList.add(TEST_PACKAGE_NAME);
|
allowList.add(TEST_PACKAGE_NAME);
|
||||||
mVpnManagerService.setAlwaysOnVpnPackage(userId, ALWAYS_ON_PACKAGE, true /* lockdown */,
|
mMockVpn.setAlwaysOnPackage(ALWAYS_ON_PACKAGE, true /* lockdown */, allowList);
|
||||||
allowList);
|
|
||||||
callback.assertNoCallback();
|
callback.assertNoCallback();
|
||||||
defaultCallback.assertNoCallback();
|
defaultCallback.assertNoCallback();
|
||||||
vpnUidCallback.assertNoCallback();
|
vpnUidCallback.assertNoCallback();
|
||||||
@@ -9110,12 +9105,11 @@ public class ConnectivityServiceTest {
|
|||||||
|
|
||||||
// Disable lockdown, remove our UID from the allowlist, and re-enable lockdown.
|
// Disable lockdown, remove our UID from the allowlist, and re-enable lockdown.
|
||||||
// Everything should now be blocked.
|
// Everything should now be blocked.
|
||||||
mVpnManagerService.setAlwaysOnVpnPackage(userId, null, false /* lockdown */, allowList);
|
mMockVpn.setAlwaysOnPackage(null, false /* lockdown */, allowList);
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
expectNetworkRejectNonSecureVpn(inOrder, false, uidRangeParcelsAlsoExcludingUs);
|
expectNetworkRejectNonSecureVpn(inOrder, false, uidRangeParcelsAlsoExcludingUs);
|
||||||
allowList.clear();
|
allowList.clear();
|
||||||
mVpnManagerService.setAlwaysOnVpnPackage(userId, ALWAYS_ON_PACKAGE, true /* lockdown */,
|
mMockVpn.setAlwaysOnPackage(ALWAYS_ON_PACKAGE, true /* lockdown */, allowList);
|
||||||
allowList);
|
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
expectNetworkRejectNonSecureVpn(inOrder, true, uidRangeParcels);
|
expectNetworkRejectNonSecureVpn(inOrder, true, uidRangeParcels);
|
||||||
defaultCallback.expectBlockedStatusCallback(true, mWiFiNetworkAgent);
|
defaultCallback.expectBlockedStatusCallback(true, mWiFiNetworkAgent);
|
||||||
@@ -9130,7 +9124,7 @@ public class ConnectivityServiceTest {
|
|||||||
assertNetworkInfo(TYPE_WIFI, DetailedState.BLOCKED);
|
assertNetworkInfo(TYPE_WIFI, DetailedState.BLOCKED);
|
||||||
|
|
||||||
// Disable lockdown. Everything is unblocked.
|
// Disable lockdown. Everything is unblocked.
|
||||||
mVpnManagerService.setAlwaysOnVpnPackage(userId, null, false /* lockdown */, allowList);
|
mMockVpn.setAlwaysOnPackage(null, false /* lockdown */, allowList);
|
||||||
defaultCallback.expectBlockedStatusCallback(false, mWiFiNetworkAgent);
|
defaultCallback.expectBlockedStatusCallback(false, mWiFiNetworkAgent);
|
||||||
assertBlockedCallbackInAnyOrder(callback, false, mWiFiNetworkAgent, mCellNetworkAgent);
|
assertBlockedCallbackInAnyOrder(callback, false, mWiFiNetworkAgent, mCellNetworkAgent);
|
||||||
vpnUidCallback.assertNoCallback();
|
vpnUidCallback.assertNoCallback();
|
||||||
@@ -9144,8 +9138,7 @@ public class ConnectivityServiceTest {
|
|||||||
|
|
||||||
// Enable and disable an always-on VPN package without lockdown. Expect no changes.
|
// Enable and disable an always-on VPN package without lockdown. Expect no changes.
|
||||||
reset(mMockNetd);
|
reset(mMockNetd);
|
||||||
mVpnManagerService.setAlwaysOnVpnPackage(userId, ALWAYS_ON_PACKAGE, false /* lockdown */,
|
mMockVpn.setAlwaysOnPackage(ALWAYS_ON_PACKAGE, false /* lockdown */, allowList);
|
||||||
allowList);
|
|
||||||
inOrder.verify(mMockNetd, never()).networkRejectNonSecureVpn(anyBoolean(), any());
|
inOrder.verify(mMockNetd, never()).networkRejectNonSecureVpn(anyBoolean(), any());
|
||||||
callback.assertNoCallback();
|
callback.assertNoCallback();
|
||||||
defaultCallback.assertNoCallback();
|
defaultCallback.assertNoCallback();
|
||||||
@@ -9158,7 +9151,7 @@ public class ConnectivityServiceTest {
|
|||||||
assertNetworkInfo(TYPE_MOBILE, DetailedState.DISCONNECTED);
|
assertNetworkInfo(TYPE_MOBILE, DetailedState.DISCONNECTED);
|
||||||
assertNetworkInfo(TYPE_WIFI, DetailedState.CONNECTED);
|
assertNetworkInfo(TYPE_WIFI, DetailedState.CONNECTED);
|
||||||
|
|
||||||
mVpnManagerService.setAlwaysOnVpnPackage(userId, null, false /* lockdown */, allowList);
|
mMockVpn.setAlwaysOnPackage(null, false /* lockdown */, allowList);
|
||||||
inOrder.verify(mMockNetd, never()).networkRejectNonSecureVpn(anyBoolean(), any());
|
inOrder.verify(mMockNetd, never()).networkRejectNonSecureVpn(anyBoolean(), any());
|
||||||
callback.assertNoCallback();
|
callback.assertNoCallback();
|
||||||
defaultCallback.assertNoCallback();
|
defaultCallback.assertNoCallback();
|
||||||
@@ -9172,8 +9165,7 @@ public class ConnectivityServiceTest {
|
|||||||
assertNetworkInfo(TYPE_WIFI, DetailedState.CONNECTED);
|
assertNetworkInfo(TYPE_WIFI, DetailedState.CONNECTED);
|
||||||
|
|
||||||
// Enable lockdown and connect a VPN. The VPN is not blocked.
|
// Enable lockdown and connect a VPN. The VPN is not blocked.
|
||||||
mVpnManagerService.setAlwaysOnVpnPackage(userId, ALWAYS_ON_PACKAGE, true /* lockdown */,
|
mMockVpn.setAlwaysOnPackage(ALWAYS_ON_PACKAGE, true /* lockdown */, allowList);
|
||||||
allowList);
|
|
||||||
defaultCallback.expectBlockedStatusCallback(true, mWiFiNetworkAgent);
|
defaultCallback.expectBlockedStatusCallback(true, mWiFiNetworkAgent);
|
||||||
assertBlockedCallbackInAnyOrder(callback, true, mWiFiNetworkAgent, mCellNetworkAgent);
|
assertBlockedCallbackInAnyOrder(callback, true, mWiFiNetworkAgent, mCellNetworkAgent);
|
||||||
vpnUidCallback.assertNoCallback();
|
vpnUidCallback.assertNoCallback();
|
||||||
|
|||||||
Reference in New Issue
Block a user