Commit Graph

11522 Commits

Author SHA1 Message Date
Aaron Huang
7334ba2cb9 Merge "Have NetworkPolicyManagerService create MultipathPolicyTracker" am: 99f0ad7b3e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1519960

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Idc48a3618c12f332a5e067973519ab7777058fdf
2020-12-24 06:34:32 +00:00
Aaron Huang
99f0ad7b3e Merge "Have NetworkPolicyManagerService create MultipathPolicyTracker" 2020-12-24 06:03:43 +00:00
Remi NGUYEN VAN
fbe03a2069 Merge "Split connectivity JNI and service jar" am: dfa9e2c0a1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1478000

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I075c0c00d9e6af0a32e134ef5508e4acc1707580
2020-12-24 01:59:11 +00:00
Remi NGUYEN VAN
dfa9e2c0a1 Merge "Split connectivity JNI and service jar" 2020-12-24 01:46:30 +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
Chiachang Wang
40b5767863 Merge "[IT04] Add uid as parameter of interfaceClassDataActivityChanged" am: 3035c93439
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1523339

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9a70b967bf424f8bf4012602c0fac49478d024bb
2020-12-23 06:26:00 +00:00
Chiachang Wang
3035c93439 Merge "[IT04] Add uid as parameter of interfaceClassDataActivityChanged" 2020-12-23 05:20:33 +00:00
Remi NGUYEN VAN
679ec299a9 Merge "Fix testDeclareNetworkRequestUnfulfillable on R" am: 09d97085d0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1519790

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifbd7dafd1b5b2387f64991d7d8c41b62c7a97e3f
2020-12-23 03:58:04 +00:00
Remi NGUYEN VAN
09d97085d0 Merge "Fix testDeclareNetworkRequestUnfulfillable on R" 2020-12-23 03:25:54 +00:00
Remi NGUYEN VAN
e9fda58f79 Split connectivity JNI and service jar
The VPN JNI code is moving to the tethering APEX with
ConnectivityService, so it needs to be split out of libandroid_servers.

Also move the service-connectivity.jar build rule to
packages/Connectivity together with the jni build rule.

Bug: 171540887
Test: m, device boots and VPN (L2TP and VpnService) verified working
Change-Id: Ic29096e2280ce928729315f53b2159b620da49d5
2020-12-23 12:21:25 +09:00
Remi NGUYEN VAN
15befc3d9e Merge "Split NetworkUtils and NetworkUtilsInternal" am: caa437cae0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513140

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iaa5503f829077f70803e2e865f58c6e4691d1a73
2020-12-23 01:37:12 +00:00
Remi NGUYEN VAN
caa437cae0 Merge "Split NetworkUtils and NetworkUtilsInternal" 2020-12-23 01:19:27 +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
8501b46296 Merge "Move module utils to the module package." am: e294449129
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1406808

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9c42945df36d94e4abdf073fac17141f3b23d034
2020-12-21 06:11:51 +00:00
Chalard Jean
e294449129 Merge "Move module utils to the module package." 2020-12-21 05:35:09 +00:00
Chiachang Wang
59dd3432f7 Merge "[IT03] Add replacement methods for network activity" am: 5cb10d24d0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1523338

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I00c4a1046f3b67003f5091d92022477b9347212f
2020-12-21 04:21:20 +00:00
Chiachang Wang
5cb10d24d0 Merge "[IT03] Add replacement methods for network activity" 2020-12-21 03:50:05 +00:00
Chiachang Wang
b4bba7179b [IT03] Add replacement methods for network activity
Reference for NMS in ConnectivityManager should be removed for
incoming CS mainline. The API for listening network activity
should not go into NMS. As an alternative, the registry requests
should be sent to CS and handled by CS. Add necessary alternative
in IConnectivityManger first. The detail implementation will be
added in the follow up commits.

Bug: 170598012
Test: m
Change-Id: If4d24b937feb88a61f22073af2f671cf20298364
2020-12-21 03:48:54 +00:00
Lucas Lin
5e3ef9ef02 Merge "Use [clear|restore]CallingIdentity instead of withCleanCallingIdentity" am: 0ac2ae14b3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1532898

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I97202f6832a279896bbcc63043913b35c98589c2
2020-12-21 03:35:33 +00:00
Lucas Lin
0ac2ae14b3 Merge "Use [clear|restore]CallingIdentity instead of withCleanCallingIdentity" 2020-12-21 03:09:20 +00:00
James Mattis
7a22adb443 Merge changes I177ec607,I68f364b4,Ib3b9f52c,If040d61e am: ebe2e05464
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1507701

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic30796bc2354ba9d29057886e5c9e3b20ff1250f
2020-12-20 19:08:12 +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
Sarah Chin
1fb857898b Merge "Move phone ID to extra for action provision" am: 9d7a954112
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1530760

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Idd950c7615945334cbf932beed42d20c41e968c3
2020-12-17 06:44:17 +00:00
Sarah Chin
9d7a954112 Merge "Move phone ID to extra for action provision" 2020-12-17 06:06:41 +00:00
lucaslin
86086774a9 Use [clear|restore]CallingIdentity instead of withCleanCallingIdentity
ConnectivityService is going to be a part of mainline module, to
prevent using @hide method - withCleanCallingIdentity(), use
clearCallingIdentity() & restoreCallingIdentity() instead.

Bug: 170598012
Test: FrameworksNetTests & CtsNetTestCasesLatestSdk
      & TetheringIntegrationTests
Change-Id: I20f45af4a4044844a171b09269981451a9d7cdb4
2020-12-17 01:28:39 +00:00
Lorenzo Colitti
59e069bbde Merge changes Ie0b32460,I21028457,I82754375 am: 29e5346c24
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1529778

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iec4ec0fa39235a171431832a5871e2cfdf1fbf25
2020-12-16 09:10:43 +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
Sarah Chin
cf44f2fe10 Move phone ID to extra for action provision
Previously, the phone ID was appended to the broadcast in DCT and sent
to ConnectivityManager. Instead of sending both as an action, send the
phone ID as an extra instead to make the action a protected broadcast.

Test: manually verify a SecurityException when action provision is sent
Test: atest DcTrackerTest
Bug: 172459128
Change-Id: Ic4129def86949d7191d15056852718dadbd72fba
Merged-In: Ic4129def86949d7191d15056852718dadbd72fba
2020-12-15 10:55:22 -08: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
559e7604e6 Merge changes from topic "tcp_keepalive_fix" am: 3a86e4690e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1494039

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic9e330a2bd8dbb701db0e5b73c1954670d4988fc
2020-12-15 09:41:42 +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
Chiachang Wang
8413fe564e Merge "Remove hidden deprecated getActiveNetworkQuotaInfo" am: 6443bf4c41
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527738

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia59544cd76712acdcc406f0f0391a0bbfe5c2f9e
2020-12-15 07:39:15 +00:00
Chiachang Wang
6443bf4c41 Merge "Remove hidden deprecated getActiveNetworkQuotaInfo" 2020-12-15 07:02:54 +00:00
Chiachang Wang
7fe67c1961 Remove hidden deprecated getActiveNetworkQuotaInfo
getActiveNetworkQuotaInfo has never been in API surface since it
was introduced. It became essentially functionless since android O,
so there should be no usage dependency upon the hidden method,
In order to support ConnectivityService mainline, remove the
useless function to prevent necessary dependency.

Bug: 172183305
Test: atest FrameworksNetTests
Change-Id: Ia685b3260256d465ef614b2f577d13344074c787
2020-12-15 06:45:50 +00:00
Treehugger Robot
57ec33bb99 Merge "Add OWNERS for packages/Connectivity" am: 3efe49a31f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527821

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifd4cf4bd8f333adab27eeceae4aa48a8bdee4c89
2020-12-14 14:38:13 +00:00
Treehugger Robot
3efe49a31f Merge "Add OWNERS for packages/Connectivity" 2020-12-14 14:12:36 +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
Remi NGUYEN VAN
afebd5c3fe Add OWNERS for packages/Connectivity
In preparation of future modularization of connectivity classes, a large
part of frameworks/base/services/net is planned to be moved to
packages/modules/Connectivity. However moving each class "manually"
to that git project would lose their commit history, and require many
cross-repository topics.

To facilitate the work, create frameworks/base/packages/Connectivity,
which will be used to move the classes at first, before they can all be
moved together with their history to packages/modules/Connectivity. This
mirrors the procedure used for NetworkStack, Tethering,
CaptivePortalLogin, etc. previously.

The added OWNERS file just imports owners from the previous file
location.

Bug: 171540887
Test: m
Change-Id: Ic1c0dbbe8c1f07582c04757ced0ead2fc5b10ca7
2020-12-14 18:34:39 +09:00
Lorenzo Colitti
51c973d4b7 Merge "Generalize support for underlying networks." am: ca830d9239
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513052

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia252eb29dbccb0105c3f4a46c7597abb56de0c21
2020-12-14 05:59:51 +00:00
Treehugger Robot
99890b486d Merge "Fix a crash in eng builds" am: 26d146ff7f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527538

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I245a8498d89e73fefa448a23d71a30d3f34b56ca
2020-12-14 05:50:17 +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
8a3181b166 Merge "Resolve UidRange dependency between NMS and CS module" am: c5be33af21
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1495869

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2e55c3c4bed3d71eb48242428c179809aae00a1f
2020-12-14 03:10:01 +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