Commit Graph

10911 Commits

Author SHA1 Message Date
Benedict Wong
f7e4ee16aa Merge "Expose MIN_MTU_V6 as a public, @hide constant" am: 26aa9c68f7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1505072

Change-Id: I9ef7cc8f84d6a9a49d754b39cc2bd66209d6343f
2020-11-20 01:38:30 +00:00
Lucas Lin
b80c635dc3 Merge "Remove a comment from ConnectivityService" am: 21b62782dd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1494040

Change-Id: I20fa62c5dbe2d1e8e9cce19a8fb9a932f21722f7
2020-11-20 01:34:29 +00:00
Benedict Wong
26aa9c68f7 Merge "Expose MIN_MTU_V6 as a public, @hide constant" 2020-11-20 01:30:18 +00:00
Lucas Lin
21b62782dd Merge "Remove a comment from ConnectivityService" 2020-11-20 01:10:21 +00:00
Sarah Chin
783560bffd Merge "Clarify documentation on TEMP_NOT_METERED API" am: ca4f15b079
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1504954

Change-Id: I36d911d227ed4ac8e7b23f52036ff384977e2248
2020-11-19 18:02:28 +00:00
Sarah Chin
ca4f15b079 Merge "Clarify documentation on TEMP_NOT_METERED API" 2020-11-19 17:50:35 +00:00
Lorenzo Colitti
c927d555cd Merge "Make MockVpn more realistic and easier to use." am: 0dd10f43c7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1501814

Change-Id: I6584e231913841dc218573dc586429cd720621a3
2020-11-19 10:42:04 +00:00
Lorenzo Colitti
49038a76c2 Merge changes I3711b362,I49421183,Icc0701cb,I2f5ccc1d am: 40b4ef6dd7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1501951

Change-Id: I021b2719e8b6d76cbb64d979f1ce5f661a1a25a5
2020-11-19 10:37:25 +00:00
Lorenzo Colitti
0dd10f43c7 Merge "Make MockVpn more realistic and easier to use." 2020-11-19 10:32:19 +00:00
Lorenzo Colitti
40b4ef6dd7 Merge changes I3711b362,I49421183,Icc0701cb,I2f5ccc1d
* changes:
  Increase test coverage for VPN info sent to NetworkStatsService.
  Simplify MockVpn.
  Test a VPN with an underlying network that does not yet exist.
  Minor fixes to NetworkCapabilities#toString.
2020-11-19 10:20:00 +00:00
Sarah Chin
91a00f5ed5 Clarify documentation on TEMP_NOT_METERED API
Test: build
Bug: 165337240
Change-Id: Ifc0843b529e7a205b0e1caf98420adfc377c28e7
2020-11-19 01:15:48 -08:00
Benedict Wong
53b6567c5e Expose MIN_MTU_V6 as a public, @hide constant
MIN_MTU_V6 is increasingly used, and the LinkProperties version is used
as a source of truth for the constant.

Bug: 163602123
Test: atest FrameworksNetTests
Change-Id: I67134cd4fb7e2cf59c36947b62f681ac9b94ea4a
2020-11-19 00:21:53 -08:00
lucaslin
77e45c05e9 Remove a comment from ConnectivityService
This comment is not true anymore since NetworkMonitor is not only
verifying the default network but also verifying VPN when private
DNS is enabled.

Test: Build pass.
Change-Id: Ib975aa28c84b9974a73d1baca9d5185c01b71217
2020-11-19 16:19:10 +08:00
Lorenzo Colitti
925d1a9a82 Make MockVpn more realistic and easier to use.
MockVpn is very difficult to use because it requires the test
caller keeping track of both the MockVpn object and an
accompanying TestNetworkAgentWrapper.

It's also not very realistic: for example, connect() doesn't
actually connect anything, it just makes it so that if
ConnectivityService tries to update the capabilities, the attempt
will not be ignored. Also, unlike the real code in Vpn, it
connects with empty NetworkCapabilities (in particular, with
empty UID ranges).

Make this easier to use and a bit more realistic by:
- Allowing TestNetworkAgentWrapper to take a "NetworkCapabilities
  template" that will form the initial capabilities sent when the
  agent registers with ConnectivityService. This allows the VPN
  to register its agent with its UID ranges already set, like the
  production code does.
- Providing separate methods to register the NetworkAgent and
  mark it connected for cases where the test needs to make
  changes to the NetworkAgent before connecting (e.g., poking
  NetworkMonitor).
- Putting the TestNetworkAgentWrapper inside MockVpn and driving
  it through MockVpn's methods. In order not to have too many
  wrapper functions (and because we can't delegate like in
  Kotlin), there's still an agent() method that returns the
  TestNetworkAgentWrapper.

Bug: 173331190
Test: test-only change
Change-Id: I749ff325bc13ac96f512270b86d1f67686eec378
2020-11-19 16:23:07 +09:00
Lorenzo Colitti
fdce3dde08 Increase test coverage for VPN info sent to NetworkStatsService.
Bug: 173331190
Test: test-only change
Change-Id: I3711b362f31cb92b759e9f5c9d244fb88d9bd5e7
2020-11-19 14:56:50 +09:00
Lorenzo Colitti
d97d6e304b Simplify MockVpn.
This CL removes four methods in MockVpn by slightly changing the
test code to leverage the actual methods implemented by the
(production) Vpn superclass.

This works because setting mInterface results in
isRunningLocked() returning true, which makes a number of methods
behave as if the VPN is connected (which is what the test
expects).

The more realistic behaviour exposes a minor bug in the treatment
of underlying networks. Add a TODO to fix it.

Bug: 173331190
Test: test-only change
Change-Id: I49421183538ba61ca790af71e309ece36b653bf9
2020-11-19 14:53:53 +09:00
Lorenzo Colitti
e50c0f8af4 Test a VPN with an underlying network that does not yet exist.
This test checks that if a VPN declares an underlying network
that does not exist, the capabilities of that network are applied
to the VPN as soon as the network starts to exist.

Bug: 173331190
Test: test-only change
Change-Id: Icc0701cb4cea7d91f7738c1e426e94cd26686b74
2020-11-19 14:46:32 +09:00
Chiachang Wang
75cd8abbc7 Merge "Replace InterfaceConfiguration usage with stable aidl" am: c0c71a50d6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1488356

Change-Id: I7be60028fb07d0d6fcc65d110c2d198a85ff2b29
2020-11-18 09:14:35 +00:00
Chiachang Wang
c0c71a50d6 Merge "Replace InterfaceConfiguration usage with stable aidl" 2020-11-18 09:05:59 +00:00
Lorenzo Colitti
104d9701f9 Minor fixes to NetworkCapabilities#toString.
1. The current code only prints the array of administrator UIDs
   if it's empty. This is clearly an oversight. Print it only if
   it's non-empty.
2. Only print requestor UID and package name if they are set.
   This makes output shorter in the common case that they are
   unset.
3. Reorder the output at the end: group all UIDs together, and
   place SSID and private DNS broken bit after that.
4. Make the private DNS broken indication a single word instead
   of a sentence. This saves space and makes it easier to write
   regexps.

New format:
... SignalStrength: -72 OwnerUid: 1000 AdminUids: [1000] SSID: ...
... Uid: 1000 RequestorUid: 1000 RequestorPkg: android ...

Test: manual
Change-Id: I2f5ccc1d9e4af6ddacc4d193185a17723822972b
2020-11-18 17:10:11 +09:00
Chiachang Wang
db04f067b0 Replace InterfaceConfiguration usage with stable aidl
Replace InterfaceConfiguration with InterfaceConfigurationParcel
for the incoming ConnectivityService mainline since mainline
modules could not use @hide API.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I17ce8741e985fd30e3c8f0c34e79564a82890dc6
2020-11-18 14:46:13 +08:00
Lucas Lin
2fd5ddbffd Merge "Separate 2 tests to verify canBeSatisfiedBy()" am: 59c5a7ee61
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1495268

Change-Id: I8b2d43d11570f90b1bfa23c27fccb592269b16c9
2020-11-17 09:22:34 +00:00
Lucas Lin
59c5a7ee61 Merge "Separate 2 tests to verify canBeSatisfiedBy()" 2020-11-17 08:38:07 +00:00
Lucas Lin
ba157d8b07 Merge "Fix the comments left on aosp/1481197" am: 51a4f05ef8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1494036

Change-Id: I7f13f380db5fe30e67be9cedc9429519b9fd4b6e
2020-11-17 07:47:54 +00:00
Lucas Lin
51a4f05ef8 Merge "Fix the comments left on aosp/1481197" 2020-11-17 07:06:46 +00:00
Junyu Lai
63fbab6e6a Merge changes I6a48d4db,I6741c41c,Ifec6bde5,Icd0717c5 am: 38ec07ff9e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1490617

Change-Id: I5545dddcb5c8499ac9c53325cbafd424124429e1
2020-11-12 09:02:13 +00:00
Junyu Lai
38ec07ff9e Merge changes I6a48d4db,I6741c41c,Ifec6bde5,Icd0717c5
* changes:
  Remove unused variables
  Return offloaded traffic when querying from TrafficStats API
  Add hardware tethering traffic in testTethering test
  Remove unused getTetherStats
2020-11-12 08:45:15 +00:00
junyulai
2fae9c3667 Add hardware tethering traffic in testTethering test
Test: atest com.android.server.net.NetworkStatsServiceTest#testTethering
Bug: 162292214
Change-Id: Ifec6bde5fd3231f2135f12536c42e42ec6b707de
2020-11-12 14:22:31 +08:00
lucaslin
43e1a7971e Separate 2 tests to verify canBeSatisfiedBy()
In Android R, NetworkSpecifier#satisfiedBy() has changed to
NetworkSpecifier#canBeSatisfiedBy(), but its subclass -
MatchAllNetworkSpecifier hasn't.
In Android S, both of MatchAllNetworkSpecifier and
NetworkSpecifier has changed satisfiedBy() to canBeSatisfiedBy().
So if running the latest CTS on R device, it will verify
NetworkSpecifier#canBeSatisfiedBy() instead of
MatchAllNetworkSpecifier#satisfiedBy() and get the unexpected
result.
The fix is to separate 2 tests to verify canBeSatisfiedBy(), one
is for Android R or older version and the other is for Android
S+.

Bug: 172401624
Test: Run MatchAllNetworkSpecifierTest on Android R and S.
Change-Id: I1391bae9a0fc0298beb8fe80b5f388b492244566
2020-11-12 12:48:16 +08:00
Chiachang Wang
1b1c460be6 Merge "Replace the way to add legacy routing" am: e94bf1bc3c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1490244

Change-Id: I6a278e3ae1ac4f5eaba92d28edf4a53d5381832e
2020-11-11 05:23:20 +00:00
Chiachang Wang
e94bf1bc3c Merge "Replace the way to add legacy routing" 2020-11-11 05:06:58 +00:00
James Mattis
c22a6a5cd0 Merge "Updating network preference comments" am: 5aff64e718
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1490233

Change-Id: I99561b2d7673c5f5f45ac793c453b4f10bd663e1
2020-11-10 18:35:28 +00:00
James Mattis
5aff64e718 Merge "Updating network preference comments" 2020-11-10 17:30:36 +00:00
lucaslin
684a06de6d Fix the comments left on aosp/1481197
Bug: 172040168
Test: atest FrameworksNetTests
Test: Manual test NO_INTERNET, SIGN_IN, PARTIAL_CONNECTIVITY,
      VPN_ALWAYS_ON notifications.
Change-Id: Ibd05366481e6ddadf8b323335c2c35d40d340d0d
2020-11-10 14:54:52 +08:00
Chiachang Wang
fd3fa0a549 Replace the way to add legacy routing
ConnectivityService is going to become a mainline module which
is not able to access hidden API. Thus, replace the usage from
NMS to INetd.

Bug: 170598012
Test: atest FrameworksNetTests ConnectivityManagerLegacyTest
Change-Id: Ice1bd1effab26555917bc1766354aeaebd41ad66
2020-11-10 14:53:55 +08:00
Lucas Lin
3d4fd4e946 Merge changes I67e5fa23,I223b207c am: 3ae04504d6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1483969

Change-Id: I74209eccb2fd5473d65968f765f3eb54ee99954e
2020-11-10 05:47:18 +00:00
Lucas Lin
3ae04504d6 Merge changes I67e5fa23,I223b207c
* changes:
  Use hasIpv[4|6]DefaultRoute instead of hasIPv[4|6]DefaultRoute
  Use local defined constants for notification channels
2020-11-10 05:28:33 +00:00
James Mattis
dce028e5b5 Updating network preference comments
Updating comments for network preferences to better clarify that
preferences which include more than one network type will then rely on
scoring to determine which of those networks are chosen.

Bug: 171795464
Test: atest FrameworksNetTests
Change-Id: I9eb5683f2cd69281bbee9fb70028d45f07720914
2020-11-09 21:06:09 -08:00
Mathew Inwood
96d3ff7659 Merge "Add maxTargetSdk restriction to unused APIs." am: d04f969c9d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1468245

Change-Id: I35f65987f7f9287cf03418e9feb27c81f4fd1878
2020-11-09 15:09:11 +00:00
Mathew Inwood
d04f969c9d Merge "Add maxTargetSdk restriction to unused APIs." 2020-11-09 14:41:20 +00:00
James Mattis
d8cf074a43 Merge "Adding API stubs for application network routing" am: 20a9e59e25
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1478963

Change-Id: I293192102c800a9dd8f09c32f890728e802cc965
2020-11-06 17:32:56 +00:00
junyulai
10b443adbb Remove unused getTetherStats
Before Android R, getTetherStats were used to collect tethering
iface stats of all clients who extends ITetheringStatsProvider,
which typically contains NetdTetheringStatsProvider and
OffloadController.

However, this always returns 0 since Android R, because:
  1. OffloadController implemented NetworkStatsProvider and no
     longer reports stats through getTetherStats.
  2. NetdTetheringStatsProvider always return 0 by design since
     non-offloaded iface tethering stats are already included
     in native iface stats.

This change is a no-op refactoring to remove unused
getTetherStats and update test which is not pratical.
Fix for offloaded tethering stats will be in follow-up CLs.

Test: atest FrameworksNetTests TetheringTests
Bug: 162292214
Change-Id: Icd0717c5c2807ae3bd98626b897e4b148f142815
2020-11-06 19:02:44 +08:00
James Mattis
dcea9fb2d4 Adding API stubs for application network routing
Bug: 171795464
Test: atest FrameworksNetTests
Change-Id: Ib055aa37a7bf0c48c335307afc2258aa869c4267
2020-11-06 00:08:13 -08:00
James Mattis
a5bd693f29 Merge "Adding multilayered requests to NetworkRequestInfo" am: f2c37de2ba
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1486199

Change-Id: I57d85884e4bf6039cf645ed58e2c7b0c8fd404a2
2020-11-06 05:19:47 +00:00
James Mattis
7835f74bac Adding multilayered requests to NetworkRequestInfo
Updating NetworkRequestInfo for "multilayered requests" functionality so that
requests can support a network hierarchy. I.e., requests network
with capability A first and if not available, request network with
capability B. This CL is the first step in adding that support by
updating the request object from a single request to a collection.

Bug: 171991028
Test: atest FrameworksNetTests
atest NetworkStackTests
atest FrameworksNetIntegrationTests
atest NetworkStackIntegrationTests
atest CtsNetTestCasesLatestSdk

Change-Id: I64a124802986e4cf4aa7de158c6690fdf9851cb2
2020-11-05 13:55:50 -08:00
Paul Hu
8fabfb25c3 Merge "Replace Context @hide APIs" am: f021a81854
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1458063

Change-Id: I914ee12abdcba7c53fb868425592d6458a797e23
2020-11-05 08:53:01 +00:00
Paul Hu
0631c7bc98 Merge "Replace AppOpsManager @hide APIs" am: 12e9b2ecb5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1469126

Change-Id: I6222db7e8f966d7df17de9c46b5e26e715ecccf2
2020-11-05 08:45:52 +00:00
Paul Hu
f021a81854 Merge "Replace Context @hide APIs" 2020-11-05 08:05:09 +00:00
Paul Hu
12e9b2ecb5 Merge "Replace AppOpsManager @hide APIs" 2020-11-05 08:03:55 +00:00
James Mattis
b15efe2545 Merge "Adding @IgnoreUpTo for testOemPrivate" am: df86206d82
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1487452

Change-Id: I92bd7437dede4ae4a4bb27dfbf68a5ae74553811
2020-11-05 05:24:33 +00:00