Commit Graph

1808 Commits

Author SHA1 Message Date
Serik Beketayev
20754ee85c Merge "[Mainline] Migrate ProxyInfo" am: ea935361d5 am: 872ac951cc am: a12940d1ca
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1506616

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia6f5bf74bf461f762472ea1d88553db3b9719c80
2020-12-25 09:58:40 +00:00
Serik Beketayev
ea935361d5 Merge "[Mainline] Migrate ProxyInfo" 2020-12-25 08:32:04 +00:00
Remi NGUYEN VAN
4f9da57398 Merge "Migrate away from AsyncChannel in NetworkAgent" 2020-12-25 01:57:44 +00:00
Sudheer Shanka
49305f5625 Merge "Update usage of allowlist/denylist in some method names/comments." am: e1dc77b743 am: f316b89f93 am: fa2f9f4eee
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1402789

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I40b28e3be169fbc59f8b889871ed938b45de2fab
2020-12-24 09:50:20 +00:00
Sudheer Shanka
e1dc77b743 Merge "Update usage of allowlist/denylist in some method names/comments." 2020-12-24 08:16:51 +00:00
Aaron Huang
45c71859fd Merge "Have NetworkPolicyManagerService create MultipathPolicyTracker" am: 99f0ad7b3e am: 7334ba2cb9 am: c0fe879c33
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1519960

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I023815a53f01a0459b94033b7e2fa2ed91cca86a
2020-12-24 07:02:53 +00:00
Serik Beketayev
aca858652c [Mainline] Migrate ProxyInfo
Bug: 173455434
Test: atest FrameworksNetTests
Change-Id: I924aed710b62a0c91b888a9e04ac2c90cdfd88d0
2020-12-23 22:15:51 -08:00
Sudheer Shanka
e4c793b200 Update usage of allowlist/denylist in some method names/comments.
In a previous change (https://r.android.com/1394342), we did a mass update of whitelist->allowlist
and blacklist->denylist in network policy related code. Updating
some usages of those (like allowlisted to allowed) to make them
sound natural.

Test: atest services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java
Test: atest services/tests/servicestests/src/com/android/server/NetworkManagementInternalTest.java
Test: atest hostsidetests/net/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java
Change-Id: I6d34b0bd3cdb64d5872874fd9378bfc962a24f8d
2020-12-24 04:03:33 +00:00
Aaron Huang
5301b6faf4 Have NetworkPolicyManagerService create MultipathPolicyTracker
To make connectivity service mainline, this patch makes
MultipathPolicyTracker as a submodule of NetworkPolicyManagerService
to remove the dependencies of ConnectivityService.

Bug: 175015282
Test: FrameworksNetTests
Change-Id: I82a7c62069ffd0683deb2f5ce2f99de120a2a16f
2020-12-23 23:17:15 +08:00
Remi NGUYEN VAN
37ebfa827a Migrate away from AsyncChannel in NetworkAgent
Use two oneway binder interfaces instead.
The interfaces post messages to handlers as was implemented before, but
provide a more strictly defined interface, with less hops between
NetworkAgent, AsyncChannel, and ConnectivityService.

The actual public interface is the NetworkAgent @SystemApi: the binder
interface is an internal implementation detail.

Test: atest FrameworksNetTests CtsNetTestCasesLatestSdk
Change-Id: Ie364ab50f416e7821e70f4539a881eea828e1256
2020-12-23 17:30:54 +09:00
Chiachang Wang
49cbff8801 Merge "[IT04] Add uid as parameter of interfaceClassDataActivityChanged" am: 3035c93439 am: 40b5767863 am: 702597e7fe
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1523339

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ieafdf569c13b1421c18fa3086827e6e432b498d7
2020-12-23 07:31:25 +00:00
Chiachang Wang
3035c93439 Merge "[IT04] Add uid as parameter of interfaceClassDataActivityChanged" 2020-12-23 05:20:33 +00:00
Remi NGUYEN VAN
852709e1cd Merge "Split NetworkUtils and NetworkUtilsInternal" am: caa437cae0 am: 15befc3d9e am: a0ac08e394
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513140

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ief9d6a1fae360dbe1c43d5d6bac4dad5850c004b
2020-12-23 02:22:35 +00:00
Remi NGUYEN VAN
caa437cae0 Merge "Split NetworkUtils and NetworkUtilsInternal" 2020-12-23 01:19:27 +00:00
James Mattis
f0cf0850fa Merge changes I177ec607,I68f364b4,Ib3b9f52c,If040d61e am: ebe2e05464 am: 7a22adb443 am: c176f8d290
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1507701

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id8d45a68283ab29f6928628ebf852143793aff76
2020-12-22 06:57:02 +00:00
Chiachang Wang
f896dfcb81 [IT04] Add uid as parameter of interfaceClassDataActivityChanged
Add uid into interfaceClassDataActivityChanged in
INetworkManagementEventObserver. This helps the listeners to use
BaseNetworkObserver to listen for target evnets instead of using
whole INetdUnsolicitedEventListener with no-op in other event
that listeners do not care about.

Bug: 170598012
Test: m ; atest FrameworksNetTests
Change-Id: I2a42a522c2ff9b1e0be88261a8574bb7f5292fa6
2020-12-22 08:39:22 +08:00
Chalard Jean
e294449129 Merge "Move module utils to the module package." 2020-12-21 05:35:09 +00:00
James Mattis
ebe2e05464 Merge changes I177ec607,I68f364b4,Ib3b9f52c,If040d61e
* changes:
  nits removing extra space, change method name, etc
  maybeLogBlockedStatusChanged multilayer requests
  Update getSignalStrengthThresholds for multilayer
  Update to unneeded for multilayered requests
2020-12-20 18:31:36 +00:00
Lorenzo Colitti
e3968cae74 Merge changes Ie0b32460,I21028457,I82754375 am: 29e5346c24 am: 59e069bbde am: 95dbc7e04a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1529778

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2e28cde0569c263c6afe5ad722be4060912eae0e
2020-12-16 10:33:27 +00:00
Chalard Jean
fa159c1755 Move module utils to the module package.
Test: FrameworksWifiTest FrameworksNetTest
Change-Id: If5d1e4a58fb2d6d9544e6d01995dabe445cf1f25
Merged-In: I067eeecd458c34b7f2fbfa439072682661ac750c
2020-12-16 11:44:22 +09:00
Lorenzo Colitti
eb862ae1d7 Allow ConnectivityServiceTest to change the calling UID.
Allow ConnectivityServiceTest to change the UID by replacing
static calls to Binder.getCallingUid() with a method that can
be mocked.

Add registerNetworkCallbackAsUid as an initial way to exercise
this, and add some test coverage to the always-on lockdown test
to confirm that things are working as expected.

Bug: 173331190
Test: new unit tests
Change-Id: Ie0b32460e20e5906a0f479191e11a062f21cc608
2020-12-15 21:10:36 +09:00
Lorenzo Colitti
6fb90abce1 Add a test for getDefaultNetworkCapabilitiesForUser.
Bug: 173331190
Test: test-only change
Test: new test passes 100 times in a row
Change-Id: I210284578e38cd25b8b95235d3390d5bd66a5a70
2020-12-15 21:08:21 +09:00
Lorenzo Colitti
bb6b62a41e Add tests for always-on VPN lockdown mode.
This requires mocking lots of new things that weren't mocked
before but is otherwise fairly straightforward.

A few changes to MockVpn are needed as well:

1. Set the VPN's NetworkInfo to CONNECTED, so methods such as
   isBlockingUid will work. While I'm at it, set the interface on
   the LinkProperties as well to make things a bit more
   realistic.

2. Constructs the VpnConfig when registering the agent, not when
   the MockVpn is created. This is needed because starting and
   stopping lockdown VPN calls prepare, which nulls out mConfig.
   But constructing the VpnConfig when registering the agent is
   more realistic anyway. The production code does that in
   establish, but we can't do that in ConnectivityServiceTest
   because some of the test cases don't call establish and call
   registerAgent directly.

Bug: 173331190
Test: atest FrameworksNetTests
Change-Id: I827543751dbf5e626a24ec02cd6f50b423f5f761
2020-12-15 21:08:20 +09:00
Remi NGUYEN VAN
1ffe4ac727 Merge changes from topic "tcp_keepalive_fix" am: 3a86e4690e am: 559e7604e6 am: 2d843b4921
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1494039

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I26fa0ae4a1f41f1b970f6f7b192dfc4fe4bedb1d
2020-12-15 11:42:29 +00:00
Remi NGUYEN VAN
6ebd98efc1 Add TcpKeepalivePacketData to SystemApi am: 11511b31f6 am: 349ba03274 am: 7240fd9ea1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1494038

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1aa9deefefcaf75959463e8a8a87bfeefb98f0ee
2020-12-15 11:42:19 +00:00
Remi NGUYEN VAN
349ba03274 Add TcpKeepalivePacketData to SystemApi am: 11511b31f6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1494038

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibe3df65b4e12ecda5d95737f3b1ea18dabc2461d
2020-12-15 09:38:38 +00:00
Remi NGUYEN VAN
3a86e4690e Merge changes from topic "tcp_keepalive_fix"
* changes:
  Use API TcpKeepalivePacketData in ClientModeImpl
  Add TcpKeepalivePacketData to SystemApi
2020-12-15 09:02:55 +00:00
Remi NGUYEN VAN
993306ed6b Use API TcpKeepalivePacketData in ClientModeImpl
Instead of statically linking against and jarjaring
TcpKeepalivePacketData, use the new android.net.TcpKeepalivePacketData
API for S. On R, build the KeepalivePacketDataParcelable from the base
KeepalivePacketData class.

The current ClientModeImpl code that uses a statically linked
TcpKeepalivePacketData is actually broken, as since R the system_server
has been sending a @hide android.net.TcpKeepalivePacketData, and
ClientModeImpl was testing it against com.android.wifi.x.android.net.*.
To fix this on R, this change rebuilds a
TcpKeepalivePacketDataParcelable class from the packet data included in
the base KeepalivePacketData class.

Bug: 172789687
Test: atest ConnectivityManagerTest#testCreateTcpKeepalive
      See associated test change
Change-Id: Ia32b4444dbf90306b2cfd37ec13d4ba4e90cd1e8
2020-12-14 18:43:53 +09:00
Remi NGUYEN VAN
11511b31f6 Add TcpKeepalivePacketData to SystemApi
This is consistent with NattKeepalivePacketData, which is also a
subclass of KeepalivePacketData.

TcpKeepalivePacketData is already used by the wifi module, but
statically linked.

Bug: 172789687
Test: m
Change-Id: I6aee1ae205987521bea4a3838bbece279ffa0e37
2020-12-14 18:43:44 +09:00
Lorenzo Colitti
50c30ed67f Merge "Generalize support for underlying networks." am: ca830d9239 am: 51c973d4b7 am: 2be66008a0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513052

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ida4e4d7b6d607d6c9f6efc2d06732f7826f7942e
2020-12-14 06:40:27 +00:00
Treehugger Robot
1e7b9bca3d Merge "Fix a crash in eng builds" am: 26d146ff7f am: 99890b486d am: f65b271328
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527538

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6e1c20b4c1004e8205d65f318939ee7d8b006f00
2020-12-14 06:39:50 +00:00
Lorenzo Colitti
ca830d9239 Merge "Generalize support for underlying networks." 2020-12-14 05:19:49 +00:00
Treehugger Robot
26d146ff7f Merge "Fix a crash in eng builds" 2020-12-14 05:17:15 +00:00
Chiachang Wang
83e35e70c4 Merge "Resolve UidRange dependency between NMS and CS module" am: c5be33af21 am: 8a3181b166 am: 2ec8e8071a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1495869

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6c3474e6522fc67aec5333b323768692619019ee
2020-12-14 04:23:43 +00:00
Chiachang Wang
c5be33af21 Merge "Resolve UidRange dependency between NMS and CS module" 2020-12-14 02:55:41 +00:00
Chalard Jean
8fb84150bf Fix a crash in eng builds
CAPTIVE_PORTAL is a CS-managed capability, and causes CS to log a wtf.
When this test is run on an eng build, this sends SIGSEGV to the test,
which is pretty difficult to debug.

Test: FrameworksNetTests NetworkStackTests
Change-Id: I72fc46a6daa4e886425b4dc967318cca9f1a5302
2020-12-13 23:02:08 +09:00
Lorenzo Colitti
01d3763c5e Generalize support for underlying networks.
Currently, ConnectivityService assumes that only VPNs can have
underlying networks. Make the code decide this based only on the
return value of NetworkAgentInfo#supportsUnderlyingNetworks.
This allows non-VPN network types to support underlying networks
in the future.

This requires storing the original agent's capabilities in
NetworkAgentInfo so that applyUnderlyingCapabilities can mix in
the underlying network capabilities without overwriting the
capabilities of the network itself. Currently, the only
information that applyUnderlyingCapabilities takes from the
original agent's capabilities are the metered bit (stored in
NetworkAgentInfo#declaredMetered) and the transports (assumed to
be exactly {TRANSPORT_VPN}. Store the full capabilities instead.
This is more state than needed but it ensures that we do not need
to make any changes if in the future we want to propagate new
types of information from the underlying networks.

This should have no impact on current use cases (i.e., VPNs).

There is a change in ordering: in disconnectAndDestroyNetwork,
the new code propagates underlying network capabilities before
removing the network from LegacyTypeTracker, instead of after.

This is done to simplify the new code. When the new code
propagates underlying network capabilities in response to a
change for a particular network (e.g., connect, disconnect,
capabilities change), it only considers networks that have the
changed network as underlying. Because determining the
underlying networks requires knowing the default network,
the new code runs before the default network is changed and
LegacyTypeTracker is updated.

This shouldn't have app implications because the connectivity
broadcasts sent by LegacyTypeTracker and the callbacks cannot be
ordered, since they run on separate threads with unpredictable
delays. The capability change callbacks resulting from
propagation of underlying network capabilities were already
sent before the rematch, so the callbacks themselves are not
reordered in any way.

Bug: 173331190
Test: atest FrameworksNetTests \
            CtsNetTestCases:NetworkAgentTest \
	    CtsNetTestCases:Ikev2VpnTest \
	    CtsNetTestCases:VpnServiceTest \
	    CtsNetTestCases:android.net.cts.ConnectivityDiagnosticsManagerTest \
	    HostsideVpnTests com.android.server.connectivity.VpnTest
Change-Id: Ic5353a928a3a3541dcf953c35f47277c5e295db8
2020-12-13 00:10:56 +09:00
Chalard Jean
d2c548d880 Merge changes from topic "remove_legacy_NA" am: 71ab824707 am: a698a47ada am: 7ba18da6b6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1456097

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If9cd6ce929a7103d2d6b7195a71ee64ea0a4ee0a
2020-12-11 11:03:36 +00:00
Lucas Lin
1061b76b27 Merge "Use getUserHandles() instead of getUsers() to get user id" am: df93f1c06c am: 7936252059 am: 865683a998
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513050

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7fa8802614bf28453501cdc2bc1989b3531b2280
2020-12-11 11:02:48 +00:00
Treehugger Robot
b7f07a5371 Merge "Add a mutability flag to the PendingIntent" am: e5046ca23b am: 590c8766b6 am: a97a84a6cf
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1505734

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2d71235f8a61e617f95094da1154342c00e9b8d5
2020-12-11 10:53:02 +00:00
Paul Hu
91c64b9b11 Merge "Address leftover comments" am: 6e253df579 am: 3b29da5cf7 am: 3bd18cce4a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1495899

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3f46b0c6d5c2dcce540fcb1f9d7f2cc22c934f93
2020-12-11 10:51:37 +00:00
Chalard Jean
71ab824707 Merge changes from topic "remove_legacy_NA"
* changes:
  Remove support for legacy network agents
  Remove deprecated constructors for NetworkAgent
  Migrate NetworkAgentWrapper to the new NA API
  Cleanup TestNetworkService
2020-12-11 02:32:57 +00:00
Lucas Lin
df93f1c06c Merge "Use getUserHandles() instead of getUsers() to get user id" 2020-12-11 02:02:37 +00:00
James Mattis
c449dde8b4 nits removing extra space, change method name, etc
Minor cleanup as per nit comments on approved CLs in the relation chain.

Namely:
- removing an extranous space
- changing requestsSortedById() to be package private
- changing releaseNetworkRequest() name to releaseNetworkRequests()
- adding final in a couple spots
- added some test requests in testDumpDoesNotCrash()

Bug: 173145245
Bug: 173292541
Bug: 173146509
Bug: 171991028
Test: atest FrameworksNetTests
Change-Id: I177ec6072a44acd247022b65b56e90cc231094b9
2020-12-10 10:01:52 -08:00
Treehugger Robot
e5046ca23b Merge "Add a mutability flag to the PendingIntent" 2020-12-10 16:27:58 +00:00
Paul Hu
6e253df579 Merge "Address leftover comments" 2020-12-10 15:47:27 +00:00
Chiachang Wang
1f50ae5c28 Resolve UidRange dependency between NMS and CS module
ConnectivityService is going to become a mainline module which
cannot access hidden APIs. Thus, replace the VPN uid range
controlling APIs from NMS to INetd directly.

Bug: 170598012
Test: atest FrameworksNetTests
Test: atest HostsideVpnTests
Test: manually test to connect to VPN and check the uid range
Change-Id: Ie6656ef36f54c2f14d5a2899e763a29b70a30f5d
2020-12-10 22:24:47 +08:00
paulhu
58333ae5bf Add a mutability flag to the PendingIntent
From S, it's required to specify explicitly either FLAG_MUTABLE
or FLAG_IMMUTABLE when creating a PendingIntent. Thus, add a
mutability flag to the PendingIntent in ConnectivityServiceTest
that doesn't specify it before.

Bug: 173157160
Test: atest FrameworksNetTests
Change-Id: I755c53b90d709dfbac576dc076722476c3edee35
2020-12-10 12:28:14 +00:00
Paul Hu
9a0d7d2933 Merge "Revert "ConnectivityServiceTest: Mark unaudited PendingIntents with FLAG_MUTABLE_UNAUDITED"" 2020-12-10 12:27:07 +00:00
Lorenzo Colitti
358aeea9d3 Merge changes I6eb6d92b,I638e29fd,I2348b7a3 am: 0da448710c am: 3ff54c739f am: 5bbcd79710
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1521657

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I430d7069e1dfbe89780cb459fff9e1eb63daa349
2020-12-10 09:18:35 +00:00