History log of /frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
507754a81e0b9d871e59fe9621c2a5d57befff90 29-Mar-2018 Chalard Jean <jchalard@google.com> Limit the number of routes for performance

In evaluating whether "most" of the addressing space is
covered, the list of routes are obtained from a third-party
app, so it's possbile the system service stalls unless
some limit is enforced on how much work it has to do.
This change limits the number of routes to 400, as determined
by time measurement on various devices.

Bug: 74176086
Test: runtest framework-net
Change-Id: Ie4a96098bc044ade87b188839586f14dd101c100
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
adbf1d029b753fabc2a7a5ad3b22d3d416cecdd9 26-Feb-2018 Chalard Jean <jchalard@google.com> Give VPNs the INTERNET capability when they route most of the IP space

Test: manual, plus wrote some new tests for this
Bug: 72765718
Change-Id: I9759da72b752fd8eeb1d0647db9ab341f04c0528
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
9b2a10f55d1659895e20ec0b88dd023ae18770eb 17-Jan-2018 Jeff Sharkey <jsharkey@android.com> Add "not congested" network capability.

Can be used by a network to indicate when it's congested, meaning that
apps should defer network traffic that could be done at a later time.

Test: bit FrameworksNetTests:android.net.,com.android.server.net.,com.android.server.connectivity.VpnTest,com.android.server.ConnectivityServiceTest
Bug: 64133169
Change-Id: I8a60b6f02dd0f42268b59690556c16335d34e220
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
72f9c42b9e59761a28d6b32c42f65de57c98daed 28-Oct-2017 Jeff Sharkey <jsharkey@android.com> Define NOT_ROAMING network capability.

The "roaming" state of a network really belongs on NetworkCapabilities
instead of being published through NetworkInfo.isRoaming(). One major
reason is to support developers creating NetworkRequests for a
non-roaming network.

Watch for any capability changes that network statistics are
interested in (either metered or roaming) and notify it to perform
an update pass; fixes bug where we previously only triggered on
roaming changes.

Fix bug in VPNs where metered/roaming capabilities of underlying
networks weren't being propagated; this was probably preventing
some jobs from running over unmetered networks, and causing other
jobs to run over roaming networks! Also passes along link bandwidth
information from underlying networks, and propegates any changes
to underlying networks.

Fix race condition by reading prevNc inside lock. Utility methods
correctly calculate min/max link bandwidth values.

Test: bit FrameworksNetTests:android.net.,com.android.server.net.,com.android.server.connectivity.,com.android.server.ConnectivityServiceTest
Bug: 68397798, 16207332
Change-Id: I3e1a6544c902bf3a79356b72d3616af1fd2b0f49
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
4a0c5d7ef7144280fe8a209a871bbd4ef90d6368 11-Oct-2017 Hugo Benichi <hugobenichi@google.com> Migrate most of core networking tests to junit4

This patch is a batch of mechanical changes to test classes to migrate
away from AndroidTestCase and TestCase.

Bug: 62918393
Test: runtest frameworks-net
Change-Id: I74134609e511f22c4d9ecd65780e981f9ba7ae3f
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
19bb1a0b99afcbb2ee4cb0f5b5d92011e0cc146f 19-Sep-2017 Charles He <qiurui@google.com> Merge changes from topic "vpn-dialog"

* changes:
Unbreak VPN unit tests.
Add alert dialog when always-on VPN disconnects.
c17f50f83d3e35f338095df6065426f2f304a1dc 16-Aug-2017 Charles He <qiurui@google.com> Unbreak VPN unit tests.

VpnTest was broken earlier due to a change to always-on VPN
notifications. This CL adds the corresponding mocks to the unit test to
fix it.

Bug: 36650087
Bug: 65439160
Test: runtest frameworks-net
Change-Id: Icff57c7e927c135d75a7d70ff347a579c5d45134
Merged-In: Icff57c7e927c135d75a7d70ff347a579c5d45134
(cherry picked from commit 3da6a1fc82b7e0c7adc88b92e50cceec8173672e)
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
5da5ae3b96769735a2dc5abe265101df545be828 15-Aug-2017 Charles He <qiurui@google.com> Opt-out for always-on VPN: rename API.

Rename the opt-out flag in AndroidManifest to
SERVICE_META_DATA_SUPPORTS_ALWAYS_ON
as directed by the API Council.

Bug: 64331776
Bug: 36650087
Test: runtest --path java/com/android/server/connectivity/VpnTest.java
Change-Id: I24326fad7a89083a2409134640bda81ee0359d08
Merged-In: I24326fad7a89083a2409134640bda81ee0359d08
(cherry picked from commit c57a01c16616f938eaa84ae5349a53efdec6e4cc)
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
a0a87e810870b696239f0371d33de924f84cb431 15-May-2017 Charles He <qiurui@google.com> Opt-out for always-on VPN

Always-on VPN is a feature introduced in N. Since then, all VPN apps
targeting N+ are assumed to support the feature, and the user or the DPC
can turn on / off always-on for any such VPN app. However, a few VPN
apps are not designed to support the always-on feature. Enabling
always-on for these apps will result in undefined behavior and confusing
"Always-on VPN disconnected" notification.

This feature provides a new manifest meta-data field through which a VPN
app can opt out of the always-on feature explicitly. This will stop the
always-on feature from being enabled for the app, both by the user and
by the DPC, and will clear its existing always-on state.

A @hide API is provided to check whether an app supports always-on VPN.
Documentation is updated to reflect the behavior change.

Bug: 36650087
Test: runtest --path java/com/android/server/connectivity/VpnTest.java
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'

Change-Id: I477897a29175e3994d4ecf8ec546e26043c90f13
Merged-In: I477897a29175e3994d4ecf8ec546e26043c90f13
(cherry picked from commit 3673863f3b2ec692201b7fb3089a1c05973e08e4)
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
c3736bc10da63d6a351d3f8e7781ff1d67ecc9a6 10-Mar-2017 Robin Lee <rgl@google.com> Use Vpn rules (not firewall) for always-on VPN

Firewall rules don't work on 464xlat because they were created under
an assumption that there's only one address for the server and it's
ipv4, which doesn't go so well when we're on an ipv6-only network.

Bug: 33159037
Test: runtest -x net/java/com/android/server/connectivity/VpnTest.java
Change-Id: Id331526367fe13838874961da194b07bd50d4c97
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
b8c2a2b85052479cb6affe2d4a8240e78198e2d5 10-Mar-2017 Robin Lee <rgl@google.com> Move some VPN logic out of ConnectivityService

This cleanup helps declutter ConnectivityService, and encapsulates the
always-on setting inside of Vpn instead of spreading it across two
classes.

In particular having the save code in one file and the load code in
another file was weird and I apologise for that.

Added a SystemServices wrapper for Settings.Secure and PendingIntent
calls to decouple some of the global state nastiness and make it
testable without forcing ConnectivityService to drive the load/save.

Test: runtest -x tests/net/java/com/android/server/ConnectivityServiceTest.java
Test: runtest -x tests/net/java/com/android/server/connectivity/VpnTest.java
Bug: 33159037
Change-Id: Ie2adb1c377adfcef0a5900dc866e6118f451b265
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
de7f7d195eec64802b7b6eee819c699f1a7d6951 30-Jun-2016 Tony Mak <tonymak@google.com> DO NOT MERGE: Show notification for always-on app VPN

This is the same notification as the one shown during legacy lockdown
mode, sans the 'reset' button.

The notification is only shown during times when VPN has not yet
established or has failed, for example during boot or after a crash.

Bug: 29123115

(cherry picked from commit 1a405fe300950d6ceae2166fd074b596d8110dbe)

Change-Id: I929a05c24df01e21415535a333bb14ac4b790a9d
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java
7ceef950a02b22bdf90609bdab8119b4bcd88edf 27-Oct-2016 Lorenzo Colitti <lorenzo@google.com> DO NOT MERGE: Move the connectivity tests to frameworks/base/tests/net.

This will give us a good place to put all the networking tests.

Fix: 31479480
Test: adb shell am instrument -w -e notClass com.android.server.connectivity.tethering.TetherInterfaceStateMachineTest 'com.android.frameworks.tests.net/android.support.test.runner.AndroidJUnitRunner' # PASS

(cherry picked from commit ecc986d430f4b8158f177ed97d2edb741f11ff71)

Change-Id: I993eeaa5dec001c39389023f355f506129b356e7
/frameworks/base/tests/net/java/com/android/server/connectivity/VpnTest.java