Commit graph android_packages_modules_Co.../tests/net/java
Message SHA1
[NS D05] Rework how to tear down networks
Networks are torn down if they don't satisfy requests but only if
they are found unable to ever do so. This is important because
general-purpose networks typically turn up unvalidated, which
means they would get torn down immediately in the presence of
some worse network that is already validated.

Note that functionally it's the same as before for the existing
scores, except that
• An exiting network that doesn't satisfy any request is always
  torn down immediately – this is WAI
• An unmetered network is never torn down when compared to a
  metered network – this is a bugfix (previously the platform
  would tear down an unmetered cellular on grounds that it
  could not beat the performance of a metered Ethernet, but
  that's wrong ; the bug was never realized because Android
  always thinks Ethernet is unmetered)
• An unvalidated network will not be torn down if the current
  satisfier is also unvalidated, even if the satisfier is much
  faster. This is the reason for the change in the test. It's
  wrong to tear down in this case because even if much slower
  the slower network should win if it validates and the other
  doesn't.

Test: ConnectivityServiceTest
Change-Id: Ic9a3d336306a25d1272976ce467aa7c908af7bef

Chalard Jean   commited 2020-02-19 21:27:22 +09:00
2a572e0a6d
Merge changes from topic "settings-vpn" am: 70f90282ef
Change-Id: If7e8310306889b38527bfab65316a50807814372

Automerger Merge Worker   commited 2020-02-19 07:51:20 +00:00
db9074340f
Add always-on VPN support for platform VPNs am: 2482518ce3
Change-Id: I9f600a9ea2002bf9a1ee88137e3a29b2c90b22ac

Automerger Merge Worker   commited 2020-02-19 07:51:14 +00:00
0ba1fb6181
Add support for starting IKEv2/IPsec VPNs from settings
This commit allows the startLegacyVpn() call to start Platform VPN
profiles, allowing Settings to use the IKEv2/IPsec VPN options

When using an aliased private key, the
Ikev2VpnProfile.KEYSTORE_ALIAS_PREFIX must be prepended to the front of
the alias. This will in turn result in the fromVpnProfile() function to
pull the key from the KeyStore, as opposed to the inline-key that the
VpnManager API uses.

Bug: 148991741
Test: FrameworksNetTests passing, new tests added in subsequent CL
Test: Manually tested
Change-Id: Icbca695c353b2e12e99305676404dbf1a4495949

Benedict Wong   commited 2020-02-19 02:44:34 +00:00
d896b133e3
Add always-on VPN support for platform VPNs
This commit allows Platform VPNs to be started as part of always-on
mode.

Test: FrameworksNetTests passing, new tests added in subsequent CL
Test: Manually tested.
Change-Id: I5eda88e5b406a0e425eb7424665cf702e0979324
Merged-In: I5eda88e5b406a0e425eb7424665cf702e0979324

Benedict Wong   commited 2020-02-18 22:13:31 +00:00
2482518ce3
Add always-on VPN support for platform VPNs
This commit allows Platform VPNs to be started as part of always-on
mode.

Test: FrameworksNetTests passing, new tests added in subsequent CL
Test: Manually tested.
Change-Id: I5eda88e5b406a0e425eb7424665cf702e0979324

Benedict Wong   commited 2020-02-18 18:58:54 +00:00
c13b9a30b6
Remove framework code that has moved to frameworks/libs/net
Add srcs to framework and change import path.
Remove the codes which are moved to frameworks/libs/net.

Bug: 139268426
Bug: 135998869
Bug: 138306002
Bug: 143925787
Test: atest FrameworksNetTests
      atest FrameworksTelephonyTests
      ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh

Change-Id: I44e0a8361637c2d43be2e5d033d405b22e1a149c
Merged-In: I067cdc404e5a63947c19cb75069a39ae42faa3c8
Merged-In: Ieb8927f9af7f87a5ae038bd6c7daeb3d70117fef

Aaron Huang   commited 2020-02-18 13:52:35 +00:00
a1d89dc62a
Merge changes I32c12702,I688593cc
* changes:
  [NS D04] Implement a simple speed comparison between scores.
  [NS D03] Migrate the bad wifi avoidance policy

Chalard Jean   authored and   Android (Google) Code Review   commited 2020-02-18 10:51:26 +00:00
d3267fd304
[NS D03] Migrate the bad wifi avoidance policy
Test: ConnectivityServiceTest
Bug: 113554781

Change-Id: I688593cc0379a0d2042e30fbe83e549dcb02723e

Chalard Jean   commited 2020-02-18 16:06:10 +09:00
edf5386cf0
Merge changes Ide9daebc,Id47ada57 am: 1609800ef9 am: 0cf192258c am: c95de7b476
Change-Id: Iaacfbe8b221d79e3d06d0d7ea81528db13e4611a

Benedict Wong   commited 2020-02-18 06:35:06 +00:00
1297529bf9
Merge changes Ide9daebc,Id47ada57 am: 1609800ef9
Change-Id: Ied52fed05566a0d75e82007170210205db7832a8

Benedict Wong   commited 2020-02-17 22:01:24 +00:00
0cf192258c
Merge changes Ide9daebc,Id47ada57
* changes:
  Ensure all VPN runners clean up state when exiting
  Enforce restricted user, getConnectionOwnerUid checks

Benedict Wong   authored and   Gerrit Code Review   commited 2020-02-17 21:30:35 +00:00
1609800ef9
Merge changes from topics "capport_dhcpresults", "nm_cb_capport" am: 66b08c6e20 am: 7afcf10ca6 am: d45ab73281
Change-Id: Ie27e5dfd51b38194fa104cbd73f9bbe7c4395e0f

Lorenzo Colitti   commited 2020-02-17 14:20:04 +00:00
5c8c6fc3d2
Merge "Update state in NetworkInfo when network resumes" am: c27f541f1b am: 03bc93d50d am: 458d8ff0b1
Change-Id: I98e64e6197c5e79e6425f39053981f7bf389a895

Chiachang Wang   commited 2020-02-17 14:18:56 +00:00
cd0874d3cf
Merge changes from topics "capport_dhcpresults", "nm_cb_capport" am: 66b08c6e20
Change-Id: I22bbbb598aaca6ba6c73ab37d34e855ec0def48f

Lorenzo Colitti   commited 2020-02-15 17:36:37 +00:00
7afcf10ca6
Merge changes from topics "capport_dhcpresults", "nm_cb_capport"
* changes:
  Add CaptivePortalApiUrl to DhcpResults
  Send LinkProperties update on new capport data

Lorenzo Colitti   authored and   Gerrit Code Review   commited 2020-02-15 17:22:18 +00:00
66b08c6e20
Merge "Update state in NetworkInfo when network resumes" am: c27f541f1b
Change-Id: I26e4b318f7acacde38ee5cf0977fd63fc5567d79

Chiachang Wang   commited 2020-02-15 03:31:36 +00:00
03bc93d50d
Merge "Update state in NetworkInfo when network resumes"
Chiachang Wang   authored and   Gerrit Code Review   commited 2020-02-15 03:16:31 +00:00
c27f541f1b
Send LinkProperties update on new capport data
When new CaptivePortalData is received from NetworkMonitor, send a
LinkProperties updated callback.
The updated LinkProperties only contain CaptivePortalData if the
receiver has NETWORK_SETTINGS or MAINLINE_NETWORK_STACK permissions, as
defined in the current callback code.

Test: atest FrameworksNetTests
Bug: 139269711

Change-Id: I68595a519171b31792259849efff5f58c43cacd4

Remi NGUYEN VAN   commited 2020-02-15 05:00:17 +09:00
6cfa0140eb
Merge "Revert "Remove framework code that has moved to frameworks/libs/net"" am: 14c76eba82
Change-Id: I5e0b4e50352428ca5886a808b5667daffb4f2e4c

Isabelle Taylor   commited 2020-02-14 13:51:45 +00:00
69075c2d1b
Merge "Revert "Remove framework code that has moved to frameworks/libs/net""
Isabelle Taylor   authored and   Gerrit Code Review   commited 2020-02-14 13:42:37 +00:00
14c76eba82
Revert "Remove framework code that has moved to frameworks/libs/net"
Revert "Use createRandomUnicastAddress from MacAddressUtils"

Revert "Add net-utils-framework-net to telephony-common"

Revert submission 1191997-net-utils-framework-net

Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=git_qt-qpr1-dev-plus-aosp&target=aosp_taimen-userdebug&lkgb=6208131&lkbb=6208273&fkbb=6208273, bug b/149551544
Reverted Changes:
Ib1c807d64:Use createRandomUnicastAddress from MacAddressUtil...
I9e0f297e0:Add net-utils-framework-net to telephony-common
Ieb8927f9a:Remove framework code that has moved to frameworks...

Change-Id: I2824f781babd9f7e0bb9df524dadf6b8397dcaa1

Isabelle Taylor   commited 2020-02-14 13:09:16 +00:00
1b6eb64103
Merge "Remove framework code that has moved to frameworks/libs/net" am: 03d86d613c
Change-Id: I20b8398f1fe410819f18a0afcd8646c75c594fb8

Aaron Huang   commited 2020-02-14 09:53:36 +00:00
840975d91d
Merge "Remove framework code that has moved to frameworks/libs/net"
Aaron Huang   authored and   Gerrit Code Review   commited 2020-02-14 09:42:49 +00:00
03d86d613c
Update state in NetworkInfo when network resumes
State override is only handled when state is changed from
CONNECTED to SUSPENDED but not reverse path. Handle both ways
for SUSPENDED state.

Bug: 148678431
Test: FrameworkNetTests
Change-Id: I9333f865d61bbf008fdb8ca162ad17dfdffd1d67

Chiachang Wang   commited 2020-02-14 16:41:33 +08:00
59f5d1168c
Enforce restricted user, getConnectionOwnerUid checks
This CL adds checks to ensure restricted users cannot change or
start/stop platform VPNs. In addition, this also adds checks to the
ConnectivityManager#getConnectionOwnerUid() to ensure that only
VpnService based VPNs can identify connections

Bug: 148040659
Test: FrameworksNetTests run
Change-Id: Id47ada5766036bfc84f3ba47f66f2d2683af916d

Benedict Wong   commited 2020-02-14 00:09:47 -08:00
8974a1c43a
Merge "RELAND: NetworkRequest: Embed requestor uid & packageName"
Roshan Pius   authored and   Gerrit Code Review   commited 2020-02-14 01:57:49 +00:00
7fbddc35ba
Merge "Implement Ikev2VpnRunner"
Benedict Wong   authored and   Gerrit Code Review   commited 2020-02-13 21:15:24 +00:00
c71f8b35da
Implement Ikev2VpnRunner
This change adds the implementation for IKEv2/IPsec VPNs.

Bug: 144246767
Test: Manually tested
Change-Id: I5ccec756cec49ccf57ccc4d5ad800eeb5d595a76
Merged-In: I5ccec756cec49ccf57ccc4d5ad800eeb5d595a76

Benedict Wong   commited 2020-02-13 18:37:06 +00:00
5245afdcb8
Implement Ikev2VpnRunner
This change adds the implementation for IKEv2/IPsec VPNs.

Bug: 144246767
Test: Manually tested
Change-Id: I5ccec756cec49ccf57ccc4d5ad800eeb5d595a76

Benedict Wong   commited 2020-02-13 00:33:44 -08:00
db38170ec9
RELAND: NetworkRequest: Embed requestor uid & packageName
Add the requestorUid & requestorPackageName fields to
NetworkCapabilities. This is populated by CS when
a new network request is received.
These 2 requestor fields are also optionally used for network
matching. All of the regular app initiated requests will have the
requestor uid and package name set by connectivity service. Network
agents can optionally set the requestorUid and requestorPackageName
to restrict the network created only to the app that requested the network.

This will help removing the necessity for the various specifiers to embed
the uid & package name info in the specifier for network matching.

Note: NetworkSpecifier.assertValidFromUid() is deprecated & removed in
favor of setting the uid/package name on the agent to restrict the
network to a certain app (useful for wifi peer to peer API & wifi aware).

Bug: 144102365
Test: Verified that wifi network request related CTS verifier tests
pass.
Test: Device boots up and connects to wifi networks
Merged-In: I207c446108afdac7ee2c25e6bbcbc37c4e3f6529

Change-Id: I58775e82aa7725aac5aa27ca9d2b5ee8f0be4242

Roshan Pius   commited 2020-02-12 16:58:36 -08:00
1cbb1ae2f0
Merge "Revert "NetworkRequest: Embed requestor uid & packageName""
Roshan Pius   authored and   Gerrit Code Review   commited 2020-02-12 23:36:13 +00:00
32e18bea08
Revert "NetworkRequest: Embed requestor uid & packageName"
This reverts commit 31f7152793.

Reason for revert: b/149425896
Bug: b/149425896

Change-Id: I9fe31509c040cc421ccb00ea60f15e6f199e8bc6

Roshan Pius   commited 2020-02-12 23:33:43 +00:00
fb61a94a88
Merge "NetworkRequest: Embed requestor uid & packageName"
Qingxi Li   authored and   Gerrit Code Review   commited 2020-02-12 18:43:32 +00:00
0964d02bcd
Merge "Include NetworkCapabilities and LinkProperties in DataStallReport." am: 3dbf6f6949 am: ec0a4b6791 am: 489b7adcf8
Change-Id: Iae8c37ceeae1616b2b0edc43248e72f3de082f20

Automerger Merge Worker   commited 2020-02-12 17:50:39 +00:00
2310c8b694
Merge "Include NetworkCapabilities and LinkProperties in DataStallReport."
Cody Kesting   authored and   Gerrit Code Review   commited 2020-02-12 16:38:38 +00:00
3dbf6f6949
Merge changes from topic "NS-A44_lingerstate" am: 47be84c872 am: faadf36430 am: 2fdf36c01b
Change-Id: Ic9ea1c879cfcf145f569a388b52c6b7de0e8bb87

Automerger Merge Worker   commited 2020-02-12 16:00:34 +00:00
24ef2d6098
[NS B09] Create NetworkRanker
Bug: 113554781
Test: FrameworksNetTests
Change-Id: Ia534247144f479fe896e1a6e05b906103cd10005

Chalard Jean   commited 2020-02-12 20:57:45 +09:00
58d486ce9b
NetworkRequest: Embed requestor uid & packageName
Add the requestorUid & requestorPackageName fields to
NetworkCapabilities. This is populated by CS when
a new network request is received.
These 2 requestor fields are also optionally used for network
matching. All of the regular app initiated requests will have the
requestor uid and package name set by connectivity service. Network
agents can optionally set the requestorUid and requestorPackageName
to restrict the network created only to the app that requested the network.

This will help removing the necessity for the various specifiers to embed
the uid & package name info in the specifier for network matching.

Note: NetworkSpecifier.assertValidFromUid() is deprecated & removed in
favor of setting the uid/package name on the agent to restrict the
network to a certain app (useful for wifi peer to peer API & wifi aware).

Bug: 144102365
Test: Verified that wifi network request related CTS verifier tests
pass.
Test: Device boots up and connects to wifi networks
Change-Id: I207c446108afdac7ee2c25e6bbcbc37c4e3f6529
Merged-In: I207c446108afdac7ee2c25e6bbcbc37c4e3f6529

Roshan Pius   authored and   Qingxi Li   commited 2020-02-12 04:42:58 +00:00
31f7152793
Include NetworkCapabilities and LinkProperties in DataStallReport.
DataStallReport is updated to include the NetworkCapabilities and Link
Properties for the Network being reported on. This provides a more
complete picture of the Network conditions when the suspected data stall
was detected.

Bug: 148966398
Test: atest FrameworksNetTests
Change-Id: I913cf18c348b9f688f9d2a3d25a71bc94eb8f000

Cody Kesting   commited 2020-02-11 08:50:59 -08:00
4a77307caa
Merge changes from topic "network_specifier_uid_packageName"
* changes:
  Wifi/WifiAware NetworkSpecifier: Stop storing uid/packageName
  NetworkRequest: Embed requestor uid & packageName

Roshan Pius   authored and   Android (Google) Code Review   commited 2020-02-06 19:08:51 +00:00
f125f9a8e7
Merge "Use waitForIdle() to wait for Threaded processing." am: a67124b1af am: cfa95efc78 am: 3fd040a4f2
Change-Id: I0d7cbe58f55e25e552f6ae17ffd19cb79f86fe45

Automerger Merge Worker   commited 2020-02-06 16:38:11 +00:00
af8f19e364
NetworkRequest: Embed requestor uid & packageName
Add the requestorUid & requestorPackageName fields to
NetworkCapabilities. This is populated by CS when
a new network request is received.
These 2 requestor fields are also optionally used for network
matching. All of the regular app initiated requests will have the
requestor uid and package name set by connectivity service. Network
agents can optionally set the requestorUid and requestorPackageName
to restrict the network created only to the app that requested the network.

This will help removing the necessity for the various specifiers to embed
the uid & package name info in the specifier for network matching.

Note: NetworkSpecifier.assertValidFromUid() is deprecated & removed in
favor of setting the uid/package name on the agent to restrict the
network to a certain app (useful for wifi peer to peer API & wifi aware).

Bug: 144102365
Test: Verified that wifi network request related CTS verifier tests
pass.
Test: Device boots up and connects to wifi networks
Change-Id: I207c446108afdac7ee2c25e6bbcbc37c4e3f6529

Roshan Pius   commited 2020-02-06 07:36:29 -08:00
d26ae41442
Use waitForIdle() to wait for Threaded processing.
Unit testing for ConnectivityDiagnostics API in ConnectivityServiceTest
is updated to use HandlerUtilsKt#waitForIdle. In the general case, this
takes the same time to run as verify-with-timeout (used previously).
However, test failures due to messages not being enqueued on the handler
(backed by the ConnectivityService Thread) won't incur the timeout
delay, as the thread will be idle sooner. This shortens the delay in the
event of a programming error.

Bug: 143187964
Test: atest FrameworksNetTests
Change-Id: Iae66309501bb83449ca735dfa5e972a9852cbcd0

Cody Kesting   commited 2020-02-05 15:05:29 -08:00
1bae54ccb1
Fire ConnectivityDiagnostics callbacks on Connectivity reported.
When ConnectivityService#reportNetworkTested is called, the platform
needs to fire ConnectivityDiagnostics callbacks for registered callbacks
that are permissioned for the network being reported on. This adds a new
event to ConnectivityDiagnosticsHandler for invoking these callbacks.

Bug: 143187964
Test: compiles
Test: atest CtsNetTestCases ConnectivityServiceTest
Change-Id: Icc6bcf7a2411133d8ecd7477bc351dad9333f24f
Merged-In: Icc6bcf7a2411133d8ecd7477bc351dad9333f24f

Cody Kesting   commited 2020-02-05 15:05:29 -08:00
a58c07c71e
Implement INetworkMonitorCallbacks#notifyDataStallSuspected.
INetworkMonitorCallbacks defines notifyDataStallSuspected() for
notifying ConnectivityService of networks encountering a potential data
stall. A new event is introduced for ConnectivityDiagnosticsHandler to
process the notification and invoke the relevant
ConnectivityDiagnosticsCallbacks.

Bug: 143187964
Test: compiles
Test: atest CtsNetTestCases FrameworksNetTests
Change-Id: I70320bdda9855dced31e08e6a0b25329fb5cb535
Merged-In: I70320bdda9855dced31e08e6a0b25329fb5cb535

Cody Kesting   commited 2020-02-05 15:05:28 -08:00
1d326387e4
Merge "Implement INetworkMonitorCallbacks#notifyNetworkTestedWithExtras."
Cody Kesting   authored and   Gerrit Code Review   commited 2020-02-05 19:55:05 +00:00
b68115afb8
Implement INetworkMonitorCallbacks#notifyNetworkTestedWithExtras.
INetworkMonitorCallbacks defines notifyNetworkTestedWithExtras() for
notifying ConnectivityService of networks being tested along with a
PersistableBundle of extras. A new event is introduced for
NetworkStateTrackerHandler to notify the ConnectivityDiagnosticsHandler
before continuing with the normal processing for "network tested"
notifications. The event is also used in the
ConnectivityDiagnosticsHandler.

Bug: 143187964
Bug: 147391402
Test: compiles.
Test: atest CtsNetTestCases FrameworksNetTests
Change-Id: Iab29da790c0f5faae68227770bc3a84bbc94f124
Merged-In: Iab29da790c0f5faae68227770bc3a84bbc94f124

Cody Kesting   commited 2020-02-05 18:48:12 +00:00
d292a330c1
Fire ConnectivityDiagnostics callbacks on Connectivity reported.
When ConnectivityService#reportNetworkTested is called, the platform
needs to fire ConnectivityDiagnostics callbacks for registered callbacks
that are permissioned for the network being reported on. This adds a new
event to ConnectivityDiagnosticsHandler for invoking these callbacks.

Bug: 143187964
Test: compiles
Test: atest CtsNetTestCases ConnectivityServiceTest
Change-Id: Icc6bcf7a2411133d8ecd7477bc351dad9333f24f
(cherry picked from commit 3d57b0f4ff5b56780c79df6062dfaf2b9fa5ae3c)

Cody Kesting   commited 2020-02-05 07:10:47 -08:00
b8effbdfb8
Implement INetworkMonitorCallbacks#notifyDataStallSuspected.
INetworkMonitorCallbacks defines notifyDataStallSuspected() for
notifying ConnectivityService of networks encountering a potential data
stall. A new event is introduced for ConnectivityDiagnosticsHandler to
process the notification and invoke the relevant
ConnectivityDiagnosticsCallbacks.

Bug: 143187964
Test: compiles
Test: atest CtsNetTestCases FrameworksNetTests
Change-Id: I70320bdda9855dced31e08e6a0b25329fb5cb535
(cherry picked from commit 6c51dc9de39d7963a6bc6d03eacadf2ba2131e20)

Cody Kesting   commited 2020-02-05 07:10:47 -08:00
4d8ecafb5e