Commit graph android_packages_modules_Co.../tests/net/java/com/android/server
Message SHA1
Merge changes I446a8595,I68d2293f
* changes:
  Add VpnManager calls to ConnectivityService
  Add basic logic for profile-based VPNs

Benedict Wong   authored and   Gerrit Code Review   commited 2020-02-03 22:31:37 +00:00
3914abccce
Add callback registration in ConnectivityService.
ConnectivityDiagnosticsManager will send callbacks to
ConnectivityService for registering and unregistering them with the
system. ConnectivityService needs to do the processing for persisting
(and deleting) these callbacks on the ConnectivityService Thread, so
messages are sent to the Connectivity Diagnostics  Handler, which runs
on the ConnectivityService Thread.

Bug: 146444622
Bug: 143187964
Bug: 147848028
Test: compiles
Test: atest FrameworksNetTests
Change-Id: Ia5c8f90a60c050504e8676de9564a7607a9b03bc

Cody Kesting   commited 2020-01-31 09:42:05 -08:00
73708bff55
Add basic logic for profile-based VPNs
This change adds stubs for the Platform built-in VPNs, along with
implementing some basic permissions checks.

Bug: 144246837
Test: FrameworksNetTests passing, new tests added
Change-Id: I68d2293fc1468544f0d9f64d02ea7e1c80c8d18c

Benedict Wong   commited 2020-01-30 18:41:12 -08:00
df936cf1a7
Add API for apps to check if they are the network owner
This CL extends NetworkCapabilities#mEstablishingVpnAppUid
to the network owner app UID and introduces a new public API
to get this owner app's UID.

Bug: 142072839
Test: atest FrameworksNetTests
Change-Id: Id83cdea62b89b586aff74e51e3fee60e53d37d4c

Qingxi Li   commited 2020-01-24 17:28:23 +00:00
bb8da980ae
Merge "Add API for CaptivePortalData"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2020-01-22 15:55:17 +00:00
1c42b174ed
Add API for CaptivePortalData
CaptivePortalData will be used to hold data advertised by the network
following RFC7710bis.

To fetch the CaptivePortalData, the API URL is added to LinkProperties,
to be provided by the NetworkAgent.

Because CaptivePortalData can be used to guess user location (especially
from the URLs provided by the portal), it is only exposed to
applications that have privileged permissions.

Test: atest FrameworksNetTests
Bug: 139269711
Change-Id: I341175b5fece8ee00e19898af5e8eabe66cefbf3

Remi NGUYEN VAN   commited 2020-01-22 22:27:44 +09:00
0a65eeda32
Add a Builder to NetworkAgentConfig, and make it SystemApi.
Currently, only support the three elements in the config that are
known to be used.

Bug: 138306002
Test: builds, boots
Test: atest FrameworksTelephonyTests
Change-Id: I1d231ec2ddcff97c039bcbc815a39c1d3e26c410
Merged-In: I1d231ec2ddcff97c039bcbc815a39c1d3e26c410

Lorenzo Colitti   authored and   Chiachang Wang   commited 2020-01-21 13:12:15 +00:00
8f304608c7
Rename NetworkMisc to NetworkAgentConfig.
NetworkMisc is not really an appropriate name for a system API.

Bug: 138306002
Test: builds, boots, wifi works, telephony works
Test: atest FrameworksNetTests FrameworksWifiTests FrameworksTelephonyTests
Change-Id: I621cfbe165996c67b201ca2dd2f95a5ab9af10ee
Merged-In: I621cfbe165996c67b201ca2dd2f95a5ab9af10ee

Lorenzo Colitti   authored and   Chiachang Wang   commited 2020-01-21 12:57:27 +00:00
ab2fed7241
Have registerNetworkAgent return a Network.
This is more useful.

Bug: 135998869
Test: FrameworkNetTests FrameworksWifiTests
Change-Id: I74710b396fa3cec6fbae08d3dcab5bc90dc2e669
Merged-In: I74710b396fa3cec6fbae08d3dcab5bc90dc2e669

Chalard Jean   authored and   Chiachang Wang   commited 2020-01-20 16:22:06 +08:00
f78c964538
Replace StringNetworkSpecifier & subId with TelephonyNetworkSpecifer
StringNetworkSpecifier is widely used to specify subscription id for
the NetworkRequest. The raw string field introduce ambiguity and leave
large space for bugs. With TelephonyNetworkSpecifer, we are able to
settle down the type and value of the fields (although currently only
one) and introduce validation to detect the bug in the beginning.

Bug: 145993724
Test: atest FrameworksNetTests FrameworksTelephonyTests &
      make offline-sdk-docs
Change-Id: Iefbad9b1deb3de2c0b262d9ce5ae0704a50d08a6

Rambo Wang   commited 2020-01-14 10:51:11 -08:00
582ba554de
Merge changes from topic "sp04"
* changes:
  [SP05] add unit test for onStatsProviderLimitReached in NPMS
  [SP04] add unit test for NetworkStatsProvider
  [SP03] support registerNetworkStatsProvider API
  [SP03.1] Replace com.android.internal.util.Preconditions.checkNotNull

Junyu Lai   authored and   Gerrit Code Review   commited 2020-01-13 14:09:52 +00:00
429d86ae3c
[SP04] add unit test for NetworkStatsProvider
Test: atest NetworkStatsServiceTest
Bug: 130855321
Change-Id: I0c19d8bedcb9398da3f464efe01e775fde9f8a78

junyulai   commited 2020-01-13 14:43:06 +08:00
276921b6e1
Stop using NetworkFactory in connectivity code.
Bug: 138306002
Test: builds, boots
Test: atest FrameworksNetTests
Change-Id: I6b9979f343108c0c077abd86ae1c21e5ece0cccc

Lorenzo Colitti   commited 2020-01-12 17:40:02 +09:00
a86fae785a
[SP01] Add NetworkStats to system API
In order to let external module report their network stats,
expose necessary APIs to construct NetworkStats object.

Test: atest FrameworksNetTests CtsUsageStatsTestCases
Test: m doc-comment-check-docs
Bug: 130855321
Change-Id: Id3ec8aaff3df67948c25eac2319a74cf33a27979

junyulai   authored and   Junyu Lai   commited 2020-01-09 03:11:22 +00:00
9b292c2c1f
[Tether13] Move TetheringManager into framework
Move tethering out of ConnectivityService. All client would
use TetheringManager to talk with TetheringService directly.

Bug: 144320246
Test: -build, flash, boot
      -atest TetheringTests

Change-Id: Ib051bea724a256f9c4572b566e46ae7b9c4abe6e
Merged-In: Ib051bea724a256f9c4572b566e46ae7b9c4abe6e

markchien   commited 2019-12-19 20:53:06 +08:00
5776f96096
Merge "Replace the permission of internal connectivity checks"
Paul Hu   authored and   Gerrit Code Review   commited 2019-12-04 05:59:59 +00:00
032c3c3e30
Replace the permission of internal connectivity checks
A number of connectivity checks that protect system-only methods
check for CONNECTIVITY_INTERNAL, but CONNECTIVITY_INTERNAL is a
signature|privileged permission. We should audit the permission
checks, and convert checks that protect code that should not be
called outside the system to a signature permission. So replace
all CONNECTIVITY_INTERNAL to other proper permissions.

Bug: 32963470
Test: atest FrameworksNetTests NetworkPolicyManagerServiceTest
Change-Id: I8f2dd1cd0609056494eaf612d39820e273ae093f
Merged-In: I8f2dd1cd0609056494eaf612d39820e273ae093f

paulhu   commited 2019-12-04 11:44:45 +08:00
8e96a75543
Merge changes Ie756b9aa,I38110f3a
* changes:
  [NS A19] Inline updateCapabilities in rematch.
  [NS A18] Reverse listens and request-availables

Treehugger Robot   authored and   Gerrit Code Review   commited 2019-12-04 02:07:45 +00:00
e38a525a05
Disable a flaky test
Bug: 145513323
Test: FrameworkNetTests
Change-Id: I66e02fdaab2969b77db4a0f0e6fb8b1a981d9350

Chalard Jean   commited 2019-12-03 16:13:22 +09:00
54ef9299c7
[NS A18] Reverse listens and request-availables
This is a long standing bug that happens to now be trivial
to fix, and also be beneficial for refactoring

Test: FrameworksNetTests NetworkStackTests
Change-Id: I38110f3a4a75936ea755788e7f9fee67863e14be

Chalard Jean   commited 2019-12-02 18:44:10 +09:00
9127f03a5c
Merge changes I0613c23f,Ibeab8d0a,I8bd668ad,I7d3a16be
* changes:
  [NS A14] Move code notifying battery stats in its right place
  [NS A13] Move legacy broadcast handling after rematch.
  [NS A12] Move some legacy type tracker handling to a function
  Add tests for ConnectivityService → BatteryStats messages

Chalard Jean   authored and   Gerrit Code Review   commited 2019-12-02 05:17:39 +00:00
a1a975e149
[NS A14] Move code notifying battery stats in its right place
This should be done once every time an interface comes online.
Doing this in updateLinkProperties guarantees this happens every
time a new interface comes online, but it doesn't do it more
often than needed.

Test: FrameworksNetTests NetworkStackTests
Change-Id: I0613c23f44192944266d76107308da8d1c541d1c

Chalard Jean   commited 2019-12-02 13:02:38 +09:00
9589e72241
Merge changes from topic "tether_migrate"
* changes:
  [Tether10]Remove UserManagerInternal usage in Tethering
  [Tether07] Migrate Tethering into module
  [Tether07] Clean up build rule for libtetheroffloadjni

Mark Chien   authored and   Gerrit Code Review   commited 2019-11-30 12:17:47 +00:00
783ba3e0bd
[Tether07] Migrate Tethering into module
Now tethering would be run in dedicated service.
TetheringManager is the interface used to communicate with
TetheringService. The new call flow would be: ConnectivityManager
-> ConnectivityService -> TetheringManager -> TetheringService.
Note: the return value of #tether(), #untether() and #setUsbTethering()
APIs would always be no error. Client can use #getLastTetherError()
or #getTetheredIfaces or listen tether state change to check
status of corresponding interface.

Bug: 136040414
Bug: 144742179
Test: -build, flash, boot
      -atest TetheringTests
      -atest FrameworksNetTests

Change-Id: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3
Merged-In: I7e78c0e0a3e70f940a749ba2a39ece7c7ec5b9b3

markchien   authored and   Mark Chien   commited 2019-11-30 10:03:08 +00:00
5e86665079
Add tests for ConnectivityService → BatteryStats messages
Test: ConnectivityServiceTest
Bug: 113554781
Change-Id: I7d3a16be76f606872f8edb84647b9ef94f36cba1

Chalard Jean   commited 2019-11-29 16:59:30 +09:00
0a2a20054d
Merge "Fix hasUseBackgroundNetworksPermission issue."
Paul Hu   authored and   Gerrit Code Review   commited 2019-11-25 08:41:05 +00:00
0a6f03873a
Merge "Fix title of PRIVATE_DNS_BROKEN notification when connecting VPN"
Lucas Lin   authored and   Gerrit Code Review   commited 2019-11-25 08:14:09 +00:00
fc8c834040
Fix hasUseBackgroundNetworksPermission issue.
PermissionMonitor#hasUseBackgroundNetworksPermission only uses
the first package name of the uid for checking permission.
This is incorrect since each package declared different
permissions. So using the mApps which already checked both
network and using restricted network permissions. If uid is in
the mApps list that means uid has one of permission at least.

Bug: 135897744
Test: atest FrameworksNetTests
Change-Id: I3500a03ce06b5b822311ad0c67b606ce4039216a

paulhu   commited 2019-11-24 22:27:32 +08:00
9b2c01a7f0
Fix title of PRIVATE_DNS_BROKEN notification when connecting VPN
NetworkNotificationManager will only get the first transport
type from the NetworkCapabilities of network, and if the device
connects to a VPN and its underlying network is wifi, then the
first finding transport type will be TRANSPORT_WIFI. So, if the
private DNS is broken when device connected to VPN,
NetworkNotificationManager will try to get the SSID for the
title of notification but failed. For this kind of case, the
title of PRIVATE_DNS_BROKEN notification will show
"null has no internet access".

Bug: 143340533
Test: 1. Build pass.
      2. Connect to VPN and let private DNS to be broken, check
      title of PRIVATE_DNS_BROKEN notification.
      3. atest FrameworksNetTests

Change-Id: I1ed018cc8774d4fce4b94854f8e8703a28818463

lucaslin   commited 2019-11-22 12:46:32 +08:00
784ca66669
Rename waitForConnectivityBroadcast
This doesn't wait, so it was ill-named.
Test: ConnectivityServiceTest

Change-Id: I15e5083f961e415b1d2d870e49c177fc84f0312c

Chalard Jean   commited 2019-11-19 22:41:09 +09:00
7c10ed5e9b
Merge "Add tests for the legacy broadcast"
Chalard Jean   authored and   Gerrit Code Review   commited 2019-11-19 13:32:17 +00:00
48127ba387
Add tests for the legacy broadcast
Test: this
Change-Id: I0777bf443f65d894eaab9b800db40c1caf6520fe

Chalard Jean   commited 2019-11-19 21:08:44 +09:00
4aa9d9d859
Remove usage of Telephonymanager getDefault() and from() hidden APIs
This CL replaces with getSystemService(TelephonyManager.class)

Bug: 140768340
Test: atest frameworks/base/tests/net
Change-Id: I0f14cc5440fa85c81ab90f3199e9e91c1b00f5e1

Jayachandran C   commited 2019-11-15 19:26:33 -08:00
2092850198
[NS01] Create NetworkScore
It's the first patch for refounding network selection. The new
network selection will try to compare the networks by more
factors, and will try to choose the best network after doing
the evaluation of trade-off.
Create the object that will serve to represent network quality
for more comprehensive ranking.

Bug: 143676287
Test: 1. Build pass.
      2. atest FrameworksNetTests

Change-Id: I4b6071d14365aa84d06be9802516fedf527e70f7

lucaslin   commited 2019-11-07 16:47:56 +08:00
17e9c67315
Better notification to user when DNS-over-TLS is broken
Provide a specifc notification to let users know that device
has no internet is because it really doesn't have internet access
or it's caused by private DNS resolution failed.

Bug: 113242081
Test: atest FrameworksNetTests
Change-Id: I710c88a4742f5fd56c39fc797d7fa3ad36dba553

lucaslin   commited 2019-10-22 18:27:33 +08:00
e117e2e8d7
Merge "Remove @FlakyTest on testTcpBufferReset"
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-10-11 11:06:14 +00:00
3ae017a7d2
API to detect which network interfaces support wake-on-lan
Add a new method in LinkProperties, isWakeOnLanEnabled() which returns
true if network interface is defined in config_wakeonlan_enabled_interfaces
string-array (config.xml)

Bug: 132705025
Test: atest LinkPropertiesTest & atest ConnectivityServiceTest
Change-Id: I3f7803aafd2f8eaf8aa18419b21339e15d4b7a0b

Valentin Iftime   commited 2019-10-08 13:03:30 +02:00
9fa3509a51
Rename CallbackRecord to CallbackEntry
Test: FrameworkNetTests NetworkStackTests
Change-Id: I8f6ea8fb6879cf7c40396d92f13cb5e12cc45ee7

Chalard Jean   commited 2019-10-07 13:00:50 +09:00
43ac98b911
Merge "Decrease load-related flakiness in ConnectivityServiceTest"
Chalard Jean   authored and   Gerrit Code Review   commited 2019-10-02 02:38:30 +00:00
5a74bcfc85
Decrease load-related flakiness in ConnectivityServiceTest
Almost always this timeout is not waited anyway.

Test: ConnectivityServiceTest
Change-Id: I74376633d0ec8d93fb48609a4df73cad5fc5d508

Chalard Jean   commited 2019-09-27 21:44:54 +09:00
ff9d434bc7
Merge "Properly test TrafficController permissions on package updates."
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-09-27 05:35:25 +00:00
b0b0ca6872
Fix TestNetworkAgentWrapper flakiness
The underlying issue here is that before aosp/986824 the call to
waitForIdle is the local ConnectivityServiceTest function, but
after that patch TestNetworkAgentWrapper has an identically
named member that only wait for its own handler.

Bug: 141341704
Test: ConnectivityServiceTest --generate-new-metrics 100
Change-Id: I38709cc69ec7a261c1c6e008abe03d2882e2083d

Chalard Jean   commited 2019-09-20 17:19:31 +09:00
17ac73b6e8
Properly test TrafficController permissions on package updates.
The current test we have for a package changing TrafficController
permissions (i.e., INTERNET or UPDATE_DEVICE_STATS permissions)
is not realistic.

This is because the test simulates the update by removing and
adding the package. But TrafficController permissions are not
driven by broadcasts, they are driven by PackageListObserver,
and when an app is updated, PackageListObserver does not see a
remove and and add, but a single change event.

Add a new test for this.

Bug: 137864893
Test: new unit test added
Change-Id: I691b928f57c79c19dfb6ddb01983d55ef305c472

Lorenzo Colitti   commited 2019-09-20 11:58:43 +09:00
a597972cea
Remove @FlakyTest on testTcpBufferReset
After aosp/1111617 merged, the test pass rate of
testTcpBufferReset is 100% on Android Test Metrics. That means
this test is not flaky. So remove @FlakyTest annotation on the
test.

Change-Id: I1fb47a9fda294030c41dc53cf4bac3849a2f3d54
Fix: 140305678
Test: atest ConnectivityServiceTest#testTcpBufferReset

paulhu   commited 2019-09-10 17:44:33 +08:00
a8cf76dfab
Merge "DO NOT MERGE - Merge Android 10 into master"
Xin Li   authored and   Gerrit Code Review   commited 2019-09-05 16:53:23 +00:00
6e7bf3337c
Merge "Fix flaky test - testPartialConnectivity"
Lucas Lin   authored and   Gerrit Code Review   commited 2019-09-05 11:40:01 +00:00
44190d3d18
Fix flaky test - testPartialConnectivity
This timing issue is happened when test case already verified
NetworkMonitor#setAcceptPartialConnectivity() before
NetworkAgent send the CONNECTED state to ConnectivityService.
This test case expects that the
NetworkMonitor#setAcceptPartialConnectivity() will be invoked
when network state is CONNECTED in
ConnectivityService#updateNetworkInfo().

NetworkAgent communicates with ConnectivityService by
AsyncChannel. Before they connect to each other, the thread of
NetworkAgent is keeping idle, so waitForIdle cannot handle this
kind of case. Although they have connected to each other, but
they don't communicate with each other, waitForIdle() still
cannot handle this case. It means waitForIdle() can only handle
the case that NetworkAgent already connected to
ConnectivityService and NetworkAgent is communicating with
ConnectivityService. So, that's why waitForIdle() sometimes
doesn't work in this case, and the most simplest and right way
to fix this case is to wait the available callback then verify
the method.

Bug: 140306320
Test: atest FrameworksNetTests: \
      ConnectivityServiceTest#testPartialConnectivity \
      --generate-new-metrics 500

Change-Id: I64bfecbfe3c5776bd5c347a821f9127e79539c48

lucaslin   authored and   Lucas Lin   commited 2019-09-05 11:39:20 +00:00
a878f700d3
Add NetIdManagerTest
Add a simple test to verify that IDs loop correctly, that they skip used
IDs correctly, and throw when there is no remaining ID.

Test: atest com.android.server.NetIdManagerTest
Change-Id: I4c9518c725156d743286e062fd2eec1423a0459e

Remi NGUYEN VAN   commited 2019-09-04 15:57:58 +09:00
df6248fe83
Merge "Mark 3 tests as flaky."
am: ff69dc29d2

Change-Id: Ie1c38e247ccfaa407d35cf6b6e28306d36cdccca

Guang Zhu   authored and   android-build-merger   commited 2019-09-02 12:03:12 -07:00
4154f65316
Merge "Mark 3 tests as flaky."
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-09-02 18:44:24 +00:00
ff69dc29d2