Commit Graph

13045 Commits

Author SHA1 Message Date
Treehugger Robot
56586b16dd Merge changes from topic "revert-1532910-connectivity_jar_in_apex-LKXFLQGLIU" am: 7de72f8875
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1541542

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I70cdc5ba92d03d76620db5fb2e78a65c9976539c
2021-01-07 18:06:23 +00:00
Treehugger Robot
62f9a4e6ed Merge changes from topic "revert-1532910-connectivity_jar_in_apex-LKXFLQGLIU" am: 7de72f8875
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1541542

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id71e4600041b523d941f6fe7f210c1bec7bb4c21
2021-01-07 17:58:14 +00:00
Lorenzo Colitti
0cec61c277 Merge changes Iec22ff63,Iaca8a7cc
* changes:
  Stop using VPNs in getDefaultNetworkCapabilitiesForUser.
  Inform ConnectivityService about always-on VPN lockdown.
2021-01-07 16:31:58 +00:00
Treehugger Robot
7de72f8875 Merge changes from topic "revert-1532910-connectivity_jar_in_apex-LKXFLQGLIU"
* changes:
  Revert "Set setCurrentProxyScriptUrl as public"
  Revert "Move service-connectivity to the tethering APEX"
2021-01-07 15:25:03 +00:00
Pete Bentley
34bd968024 Revert "Move service-connectivity to the tethering APEX"
Revert submission 1532910-connectivity_jar_in_apex

Reason for revert: Breaks boot tests: b/176969905
Reverted Changes:
Ie41a5b569:Set setCurrentProxyScriptUrl as public
Id7b6a4664:Move service-connectivity to the tethering APEX
Ia7cb83834:Add service-connectivity to tethering APEX

Change-Id: I1c369dd8a6527513f8fc1a5cacde59d78d104c7e
2021-01-07 13:51:18 +00:00
Treehugger Robot
b20972ab1b Merge "Stop using BaseNetdEventListener in ConnectivityService." am: 883c34a45d am: b1a93a03cd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1541209

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I14f7ce15ba13a96ed070370fe75b73010352a415
2021-01-07 11:54:59 +00:00
Treehugger Robot
b1a93a03cd Merge "Stop using BaseNetdEventListener in ConnectivityService." am: 883c34a45d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1541209

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5ec30116a0bea9a2739ddeee61af5374fc536c1f
2021-01-07 11:47:24 +00:00
Lorenzo Colitti
38ab8a08a5 Merge changes from topic "connectivity_jar_in_apex" am: e7ec916be5 am: cf0120bd86
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1532910

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id85d632781cd8eb0850e919cd6bf990fca17f414
2021-01-07 09:49:51 +00:00
Lorenzo Colitti
cf0120bd86 Merge changes from topic "connectivity_jar_in_apex" am: e7ec916be5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1532910

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1ffdb3af42f1b37647a53f10d3a6e88bee17c335
2021-01-07 09:29:38 +00:00
Lorenzo Colitti
7c7611036c Stop using BaseNetdEventListener in ConnectivityService.
Switch to using IDnsResolver#registerEventListener and
INetdEventListener directly.

Test: atest FrameworksNetTests
Test: atest CtsNetTestCases
Change-Id: I72a6b4457a2c22fdbe8c9b25ea92903db3f6fc91
2021-01-07 08:52:40 +00:00
Lorenzo Colitti
011f29dfc9 Stop using VPNs in getDefaultNetworkCapabilitiesForUser.
This was the last place in CS that fetched underlying networks
from Vpn. Therefore, delete Vpn#getUnderlyingNetworks, which is
no longer used.

Bug: 173331190
Test: new tests in ConnectivityServiceTest added in previous CL
Change-Id: Iec22ff636de0c02193576fe2e2d36b8bc7380457
2021-01-07 17:44:29 +09:00
Lorenzo Colitti
e8ce205f6d Inform ConnectivityService about always-on VPN lockdown.
Currently, when an always-on VPN is set in lockdown mode, Vpn
configures prohibit UID rules in netd directly and does not
inform ConnectivityService of the fact.

This means that ConnectivityService cannot send NetworkCallbacks
that tells apps that they are blocked or unblocked. It also means
that ConnectivityService has to take the mVpns lock and call into
Vpn to allow synchronous APIs such as getActiveNetwork to return
BLOCKED if the app is blocked.

Move all this to ConnectivityService:
- Add a setRequireVpnForUids API to ConnectivityManager, and have
  that pass the routing rules to netd.
- Update VpnTest to expect calls to ConnectivityManager instead
  of to netd.
- Whenever setRequireVpnForUids is called, ensure that
  ConnectivityService sends onBlockedStatusChanged to the
  affected callbacks.
- Update existing unit tests to check for callbacks.
- Add a way to find the VPN that applies to a given UID without
  taking the VPN lock, by instead scanning all connected VPNs.
  Use this as a replacement for direct access to mVpns.

For simplicity, and in order to ensure proper ordering between
the NetworkCallbacks sent for VPNs connecting and disconnecting,
process blocked UID ranges on the handler thread. This means that
when setRequireVpnForUids returns, the rule changes might not
have been applied. This shouldn't impact apps using network
connectivity, but it might mean that apps setting an always-on
package, and then immediately checking whether networking is
blocked, will see a behaviour change.

Bug: 173331190
Fix: 175670887
Test: new test coverage in ConnectivityServiceTest
Test: atest MixedDeviceOwnerTest#testAlwaysOnVpn \
            MixedDeviceOwnerTest#testAlwaysOnVpnLockDown \
	    MixedDeviceOwnerTest#testAlwaysOnVpnAcrossReboot \
	    MixedDeviceOwnerTest#testAlwaysOnVpnPackageUninstalled \
	    MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackage \
	    MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced \
	    MixedDeviceOwnerTest#testAlwaysOnVpnPackageLogged \
            MixedProfileOwnerTest#testAlwaysOnVpn \
            MixedProfileOwnerTest#testAlwaysOnVpnLockDown \
	    MixedProfileOwnerTest#testAlwaysOnVpnAcrossReboot \
	    MixedProfileOwnerTest#testAlwaysOnVpnPackageUninstalled \
	    MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage \
	    MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced \
	    MixedProfileOwnerTest#testAlwaysOnVpnPackageLogged \
            MixedManagedProfileOwnerTest#testAlwaysOnVpn \
            MixedManagedProfileOwnerTest#testAlwaysOnVpnLockDown \
	    MixedManagedProfileOwnerTest#testAlwaysOnVpnAcrossReboot \
	    MixedManagedProfileOwnerTest#testAlwaysOnVpnPackageUninstalled \
	    MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage \
	    MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced \
	    MixedManagedProfileOwnerTest#testAlwaysOnVpnPackageLogged
Test: atest FrameworksNetTests HostsideVpnTests \
            CtsNetTestCases:VpnServiceTest \
	    CtsNetTestCases:Ikev2VpnTest
Change-Id: Iaca8a7cc343aef52706cff62a7735f338cb1b772
2021-01-07 17:44:29 +09:00
Lorenzo Colitti
e7ec916be5 Merge changes from topic "connectivity_jar_in_apex"
* changes:
  Move service-connectivity to the tethering APEX
  Set setCurrentProxyScriptUrl as public
2021-01-07 08:34:25 +00:00
Chiachang Wang
75fb6d4016 Merge "Remove mobile provision design out from connectivity service" am: 243a8acbca am: 2b221892a1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1531804

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0dac2bf826c3d28e9d8791c59764b5d30c83b861
2021-01-07 08:07:12 +00:00
Chiachang Wang
2b221892a1 Merge "Remove mobile provision design out from connectivity service" am: 243a8acbca
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1531804

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If4ad2d91e5fdc740f0253b86977f9b63ba6c4b24
2021-01-07 07:13:04 +00:00
Chiachang Wang
243a8acbca Merge "Remove mobile provision design out from connectivity service" 2021-01-07 06:47:26 +00:00
Chiachang Wang
ce6dcc943e Remove mobile provision design out from connectivity service
In order to support ConnectivityService mainline, module should
not use hidden APIs. The logic to get mobile provision is moved
to telephony surface since it's only used by telephony.
Hence, remove the design out from Connectivity.

Bug: 175177794
Test: atest FrameworksNetTests
Change-Id: Ic3082fc1c4d7ac998f4e4cff1351e6829d500924
2021-01-07 06:46:40 +00:00
Lucas Lin
4b89bc0052 Merge "Replace withCleanCallingIdentity with [clear|restore]CallingIdentity" am: 7a8259c987 am: 5069a406b0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1537266

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I50c09f6f06ea624a44353f0a7870bd500a387eca
2021-01-07 05:25:27 +00:00
Lucas Lin
5069a406b0 Merge "Replace withCleanCallingIdentity with [clear|restore]CallingIdentity" am: 7a8259c987
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1537266

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If1af526cf485a659f96561c7e8e8f56d5eb84e56
2021-01-07 05:03:47 +00:00
Lucas Lin
7a8259c987 Merge "Replace withCleanCallingIdentity with [clear|restore]CallingIdentity" 2021-01-07 04:32:54 +00:00
Paul Hu
9e47ac3e60 Merge "Replace INetworkPolicyManager to NetworkPolicyManager" am: 715827ca0a am: 19cb73eaa1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1534908

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie7526ca7f7185ba5ee024c4fb79a23c84086ece9
2021-01-07 03:22:58 +00:00
Remi NGUYEN VAN
da6a1fa661 Move service-connectivity to the tethering APEX
As part of modularization of ConnectivityService and expansion of the
Tethering module scope, move service-connectivity.jar into the tethering
APEX, and load it from there.

Bug: 171540887
Test: m, device boots and connectivity
Change-Id: Id7b6a4664ae73224b9ab219c94f56d603a62ee5a
2021-01-07 11:52:42 +09:00
Paul Hu
19cb73eaa1 Merge "Replace INetworkPolicyManager to NetworkPolicyManager" am: 715827ca0a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1534908

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib4faa3d8e8f437ec807c85aaff874852fd7d3cbb
2021-01-07 02:32:25 +00:00
Paul Hu
715827ca0a Merge "Replace INetworkPolicyManager to NetworkPolicyManager" 2021-01-07 02:08:58 +00:00
Jeff Sharkey
fdca8168db Pivot network statistics to use DataInput/Output.
Using these generalized interfaces is more flexible, since it enables
us to pivot the implementation being used internally.  In particular,
an upcoming CL will pivot them to use a more efficient alternative.

This is a no-op refactoring.

Bug: 176777285
Test: atest FrameworksNetTests CtsNetTestCases
Change-Id: Ibd4717174cf1f136e9d5d80172ecb6e493265306
2021-01-06 18:48:12 -07:00
James Mattis
cd15bcfeca Merge "Update to Diagnostic Callback flows for multilayer" am: 829d6494fb am: dd0a2b3ed2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1510596

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib3e2d2130c14af20fb422f6c7ebcccb36618dfac
2021-01-06 16:08:25 +00:00
James Mattis
dd0a2b3ed2 Merge "Update to Diagnostic Callback flows for multilayer" am: 829d6494fb
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1510596

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2eb635ce32e4df1d0d0e78ff7398790d2f3fdc7e
2021-01-06 15:45:01 +00:00
James Mattis
829d6494fb Merge "Update to Diagnostic Callback flows for multilayer" 2021-01-06 15:25:56 +00:00
Lorenzo Colitti
bd646b30c1 Merge "Migrate away from AsyncChannel in NetworkAgent" am: abf3317103 am: 9156ffa5a5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1483962

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7aa23752ed86096651e122b8497180052fa16337
2021-01-06 14:44:24 +00:00
Lorenzo Colitti
9156ffa5a5 Merge "Migrate away from AsyncChannel in NetworkAgent" am: abf3317103
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1483962

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I29a9073fcd69953811d899d3b421624d21a81edb
2021-01-06 14:26:23 +00:00
Lorenzo Colitti
abf3317103 Merge "Migrate away from AsyncChannel in NetworkAgent" 2021-01-06 14:10:21 +00:00
junyulai
5ef392cc89 [VCN02] Make LingerTimer takes request Id instead of NetworkRequest
Currently, LingerTimer takes a NetworkRequest for internal use.
However, this is unnecessary since only request Id is used.

Thus, this patch allows subsequent patches to remove the need
of a NetworkRequest when creating a LingerTimer. And the output
of lingered requests is reduced to id instead of printing
content of requests.

Test: atest FrameworksNetTests
Bug: 175180558
Change-Id: I9106d0804f1083942e1fcaca842f547c0aee1840
2021-01-06 17:26:12 +08:00
junyulai
0b9fecfac2 Improve error message when testing network factory
Currently, when network factory is under testing, but failed
without terminating the network factory. The mocked network
factory will stay registered and trigger another assertion
fail in teardown(). Thus, the test suite will only shows
the callstack that generated in teardown() instead of the
original fail. The error message is misleading and not useful
at all.

Thus, safely terminate and quit mocked network factory after
testing to prevent assertion fail in teardown().

Test: atest ConnectivityServiceTest#testMobileDataAlwaysOn
Bug: 175180558
Change-Id: I0f96332cc05221e576bd792c6cd26d9dccb4e228
2021-01-06 17:26:09 +08:00
paulhu
7121b5ef72 Replace INetworkPolicyManager to NetworkPolicyManager
Connectivity service is going to become a mainline module which
will not able to access hidden APIs. Thus, use formal API
Context#getSystemService() to get network policy service instead
of hidden API ServiceManager#getService().

Bug: 170598012
Test: atest FrameworksNetTests FrameworksNetIntegrationTests
Change-Id: I4f286264b5800b2b922f85a76ddd20d64d53000a
2021-01-05 17:47:25 +08:00
James Mattis
65d0d1c03f Update to Diagnostic Callback flows for multilayer
Updates to ConnectivityDiagnosticsCallback flows that directly accessed
the NRI 'request' member to now instead use mRequests. This will be done
by first not allowing multilayer requests on registration of a
connectivity diagnostic and then accessing the '0' index of mRequests.

Bug: 174187714
Bug: 171991028
Test: atest FrameworksNetTests
atest FrameworksNetIntegrationTests
atest CtsNetTestCasesLatestSdk

Change-Id: Ida98036b70fa290a214ee23236bfd0aad08e90a3
2020-12-31 15:52:06 -08:00
Paul Hu
4c0cc156c5 Merge "Use system API to obtain IDnsResolver IBinder" am: 1caeb0322a am: 89de26e233
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1475820

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia1352dd2276585cbacb48dbe952c4f90b0e4a2e5
2020-12-30 07:32:47 +00:00
Paul Hu
89de26e233 Merge "Use system API to obtain IDnsResolver IBinder" am: 1caeb0322a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1475820

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I03c6112d13adfc26ba236133be70b1116778cd6e
2020-12-30 06:50:00 +00:00
Paul Hu
1caeb0322a Merge "Use system API to obtain IDnsResolver IBinder" 2020-12-30 06:35:05 +00:00
lucaslin
ad369e30b7 Replace withCleanCallingIdentity with [clear|restore]CallingIdentity
To prevent using @hide method - withCleanCallingIdentity() from
mainline module, use clearCallingIdentity() &
restoreCallingIdentity() instead.

Bug: 172183305
Test: FrameworksNetTests, CtsNetTestCasesLatestSdk
Change-Id: Iccd492741a0a5b1c2531fc5fc1378933b65ae038
2020-12-30 11:54:55 +08:00
lesl
b36c519c4c wifi: Add systemAPi:setSubscriberId in NetworkAgentConfig
The wifi (mainline module) need to set the subscriberId for specific
wifi network.

Bug: 176396812
Test: TreeHugger
Change-Id: Ie97d3dad81c87d41a360558e91c83278595ff475
2020-12-28 18:15:52 +08:00
Junyu Lai
730e15b8d6 Merge "Add test for increment operation count on non-default network" am: 20f05ed023 am: 7933522fbf
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1517499

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If52e015750ffe1efc4b584b6ef47db240cd8d187
2020-12-28 09:47:56 +00:00
Junyu Lai
7933522fbf Merge "Add test for increment operation count on non-default network" am: 20f05ed023
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1517499

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib5418322817339172b8b41aab131a590583d4dfc
2020-12-28 09:02:31 +00:00
Junyu Lai
20f05ed023 Merge "Add test for increment operation count on non-default network" 2020-12-28 08:16:44 +00:00
Chiachang Wang
1db2093644 Merge "[IT4.2] Update argument type of interfaceClassDataActivityChanged" am: 6b674eea72 am: 3fa134a3f8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1531806

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2e255f46fc8b3d9fb3f4e1af4bd66b4a0e38369e
2020-12-28 02:02:08 +00:00
Chiachang Wang
3fa134a3f8 Merge "[IT4.2] Update argument type of interfaceClassDataActivityChanged" am: 6b674eea72
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1531806

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I579829d0a152de56ce23ec15aa8a8f26538a9de7
2020-12-28 01:47:44 +00:00
Chiachang Wang
6b674eea72 Merge "[IT4.2] Update argument type of interfaceClassDataActivityChanged" 2020-12-28 01:05:28 +00:00
Serik Beketayev
a12940d1ca Merge "[Mainline] Migrate ProxyInfo" am: ea935361d5 am: 872ac951cc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1506616

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ica0e0965296e3bf843fa73fc6d687da6a9ae721d
2020-12-25 09:45:54 +00:00
Serik Beketayev
872ac951cc Merge "[Mainline] Migrate ProxyInfo" am: ea935361d5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1506616

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic839f183b48279532dcfb484818457a5372087b2
2020-12-25 09:21:03 +00:00
Serik Beketayev
ea935361d5 Merge "[Mainline] Migrate ProxyInfo" 2020-12-25 08:32:04 +00:00
Remi NGUYEN VAN
96be83bccb 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
Bug: 173574274
Merged-In: Ie364ab50f416e7821e70f4539a881eea828e1256

Change-Id: Ie364ab50f416e7821e70f4539a881eea828e1256
2020-12-25 03:54:19 +00:00