Commit Graph

11608 Commits

Author SHA1 Message Date
Junyu Lai
deb6c74bd8 Merge "Align coding style of line-wrapping in NetworkCapabilities" am: 74d132736b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1529105

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5e1146c6e374a0e7b31d8a8615545f4486fcd4ba
2021-01-13 11:32:40 +00:00
Junyu Lai
74d132736b Merge "Align coding style of line-wrapping in NetworkCapabilities" 2021-01-13 10:40:43 +00:00
Chiachang Wang
da0694f94a Merge "[IT4.21] Update the label type of idle timer" am: 810f56be46
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1535721

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib5bec3e22e835d99ffa6dec818114f8e4fb88ecd
2021-01-13 09:41:26 +00:00
Chiachang Wang
810f56be46 Merge "[IT4.21] Update the label type of idle timer" 2021-01-13 09:10:43 +00:00
Junyu Lai
0afa8fa899 Merge "[VCN01] Add NOT_VCN_MANAGED capability" am: 82ffaf2ac2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1529959

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia4bb9e25c5488491f3802f9987ca2023e87408ee
2021-01-13 08:16:03 +00:00
junyulai
70988816f9 Align coding style of line-wrapping in NetworkCapabilities
Test: TH
Change-Id: Ic864524a60954f8dbcce265643c2cb3ac3aefca8
2021-01-13 07:45:18 +00:00
Chiachang Wang
5031026448 [IT4.21] Update the label type of idle timer
The first parameter of adding idle timer is an unique identity
to communicate between ConnectivityService and netd. Netd will
notify the activity change using the identity, so it's fine to
replace the legacy type with transport type since we should
deprecate the usage of legacy type.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: Ia00606539b86872cca9a92285bd940c8a720a033
2021-01-13 14:10:15 +08:00
junyulai
869e7020a0 [VCN01] Add NOT_VCN_MANAGED capability
Add new capability to indicate whether a network is
managed by Virtual Carrier Network (VCN). This is needed
to identify networks between VCN managed network and
others. And this capability will be:
  1. mutable
  2. requestable
  3. set by default for network agents and requests
  4. allowed for test networks

Test: 1. atest FrameworksNetTests CtsNetTestCases
      2. adb shell dumpsys connectivity
      3. atest ConnectivityServiceTest#testLoseMutableAndRequestableCaps
Bug: 175662146

Change-Id: Ia5eeb3912a687164fa95d7ba5516fd73abca79ba
2021-01-13 11:05:40 +08:00
Hai Shalom
5485906661 Merge "Support for Venue URL and friendly name from Network agent" am: 6fce4189cd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1515261

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I675ccea6bc692cf8519fce1026aa324efe774564
2021-01-13 02:09:39 +00:00
Hai Shalom
6fce4189cd Merge "Support for Venue URL and friendly name from Network agent" 2021-01-13 01:54:05 +00:00
Lorenzo Colitti
a619c0c2d7 Merge changes I3eb82680,I9d6147d9 am: 013be9d6c8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547644

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8d65a0465729426fb038004cd80a15ca9e438b0e
2021-01-13 00:34:09 +00:00
Lorenzo Colitti
013be9d6c8 Merge changes I3eb82680,I9d6147d9
* changes:
  NetworkWatchlistServiceTests: update IIpConnectivityMetrics.
  Stop using IIpConnectivityMetrics in ConnectivityService.
2021-01-13 00:31:56 +00:00
Tomasz Wasilczyk
fad6801459 Merge "Keep Vehicle internal network always up" am: 2602edad73
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1535861

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I486b4c9dd987dd94b4e4ca9d1f87fe58d9f9f51e
2021-01-12 22:43:41 +00:00
Tomasz Wasilczyk
2602edad73 Merge "Keep Vehicle internal network always up" 2021-01-12 22:40:50 +00:00
Ken Chen
968c4ed867 Merge "Let ConnectivityService control the socket closure" am: 191e2d3c39
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1534909

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I867128ec2eddf494c8ff15e19c54733778d5eace
2021-01-12 22:39:07 +00:00
Tomasz Wasilczyk
2793ab9e5b Keep Vehicle internal network always up
Bug: 171801262
Test: Boot with and without overlay set and check ifconfig
Change-Id: I1fd332caf3e09924abcfec9c2c137363be7873e4
2021-01-12 10:33:38 -08:00
Ken Chen
b8e4bc9c3f Let ConnectivityService control the socket closure
Netd currently calls maybeCloseSockets before adding/removing users for
network. The task should be moved from netd to CS. In this way, we can
handle WiFi lingering more easily in the future.

Test: atest HostsideVpnTests
Test: atest FrameworksNetTests
Change-Id: Icf8125e8552c89da367a67f48611ed193a1a343d
2021-01-12 23:50:28 +08:00
Lorenzo Colitti
d9932a7da8 Stop using IIpConnectivityMetrics in ConnectivityService.
Currently, ConnectivityService calls the IpConnectivityMetrics
service class directly to log default network events. This is
incompatible with ConnectivityService being in a mainline module.
Replace direct access to IIpConnectivityMetrics with public
methods in IpConnectivityLog, which is @SystemApi class.

The new methods are not yet @SystemApi, but they can be made so
if desired. Alternatively, these metrics could be deleted.

Also remove the IpConectivityMetrics service from the
service-connectivity JAR, and go back to starting it from
SystemServer.java, which is what was happening a few hours ago
before aosp/1542626 was merged.

Test: builds, boots
Test: atest FrameworksNetTests
Test: "dumpsys connmetrics" shows events, including default network events
Change-Id: I9d6147d93590363a2f8f83f39f05c03d001b4851
2021-01-12 23:19:49 +09:00
Lorenzo Colitti
aeeac8d0c7 Merge "Remove Vpn#isBlockingUid." am: 57f4dfc101
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1528212

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2c3745aaf5822a75e4597d7ff326680f9d7c63d7
2021-01-12 10:25:46 +00:00
Paul Hu
1340c9e3d2 Merge "Replace NetworkPolicyManagerInternal#isUidNetworkingBlocked()" am: 016c1500f4
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1535722

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id0936169def9a3ec1fe5895f948fc2a776a0deec
2021-01-12 10:22:27 +00:00
Lorenzo Colitti
57f4dfc101 Merge "Remove Vpn#isBlockingUid." 2021-01-12 10:20:33 +00:00
Paul Hu
016c1500f4 Merge "Replace NetworkPolicyManagerInternal#isUidNetworkingBlocked()" 2021-01-12 09:53:05 +00:00
Treehugger Robot
d6033084b2 Merge "[VCN02] Make LingerTimer takes request Id instead of NetworkRequest" am: 5e27a2f6e3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1529109

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I01c9c7e2b8022f2fbec610934e43245cda3483be
2021-01-12 09:40:36 +00:00
Treehugger Robot
5e27a2f6e3 Merge "[VCN02] Make LingerTimer takes request Id instead of NetworkRequest" 2021-01-12 08:59:04 +00:00
Treehugger Robot
00545d7629 Merge "Improve error message when testing network factory" am: 5c19af924e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1531798

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I80d0f3bd9ef8c9da1d311b001d2c42a5d1652e08
2021-01-12 04:18:22 +00:00
Treehugger Robot
5c19af924e Merge "Improve error message when testing network factory" 2021-01-12 03:50:30 +00:00
paulhu
3b063e3640 Replace NetworkPolicyManagerInternal#isUidNetworkingBlocked()
Connectivity service is going to become a mainline module which
will not able to access hidden APIs. NetworkPolicyManagerInternal
is a internal serivce that CS can't be access after be a mainline
module. Thus, replace NPMI#isUidNetworkingBlocked() to similar
method NPMS#isUidNetworkingBlocked() and create new API
NPM#isUidNetworkingBlocked() to support CS usage.

Bug: 170598012
Test: atest FrameworksNetTests
Test: atest FrameworksCoreTests:NetworkPolicyManagerTest
Test: atest FrameworksServicesTests:NetworkPolicyManagerServiceTest
Test: atest CtsNetTestCases
Test: atest CtsHostsideNetworkTests
Change-Id: Ic3427c71c395de787320f303c9513874b4d64f98
2021-01-12 10:53:05 +08:00
Hai Shalom
492febbfa2 Support for Venue URL and friendly name from Network agent
Extend CaptivePortalData with a member to hold the venue friendly
name. If CaptivePortalData is initialized by both the network
agent and Capport, merge the two objects to include the venue
friendly name and prioritize the venue URL from the network
agent.

Bug: 162783305
Test: atest ConnectivityServiceTest
Test: atest CtsNetTestCasesLatestSdk:CaptivePortalDataTest
Test: End-to-end test
Change-Id: I4fdf356be42237c5b6c0ae5bacfd3cec4726861b
2021-01-11 18:45:34 -08:00
Remi NGUYEN VAN
6508b373ee Merge "Revert^2 "Move service-connectivity to the tethering APEX"" am: fd834aa031
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1542626

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5dc50e0510e1716db733fec6fa56adfe91ac4cc0
2021-01-12 02:05:59 +00:00
Remi NGUYEN VAN
fd834aa031 Merge "Revert^2 "Move service-connectivity to the tethering APEX"" 2021-01-12 01:35:30 +00:00
Junyu Lai
7acae7b049 Merge "Revert "wifi: Add systemAPi:setSubscriberId in NetworkAgentConfig"" am: f44c7cc998
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1542628

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie7b3dbf38a38a0ac0b1cfa86822a5eb3318b0990
2021-01-08 14:29:39 +00:00
Junyu Lai
3bd1e4ffb1 Revert "wifi: Add systemAPi:setSubscriberId in NetworkAgentConfig"
This reverts commit b36c519c4c.

Reason for revert: After discussion, we prefer to add a field in NetworkCapabilities instead. Sorry for inconvenience.

Change-Id: I2e8840a797df9d1594f2b8b576bcd45beb184fca
2021-01-08 19:22:28 +08:00
Treehugger Robot
67ae1d500b Merge "Pivot network statistics to use DataInput/Output." am: 14b8536eb3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1540224

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I86021070223e8825ba19bd84946ef89b56dc3f35
2021-01-08 10:56:59 +00:00
Treehugger Robot
14b8536eb3 Merge "Pivot network statistics to use DataInput/Output." 2021-01-08 10:33:16 +00:00
Lorenzo Colitti
db35103974 Remove Vpn#isBlockingUid.
This code is no longer used. Delete it and the tests for it.

One of the tests checks that when a restricted profile is added,
the lockdown UID rules are updated to cover that profile as well.
ConnectivityServiceTest does not currently has coverage for this,
so add it.

Bug: 173331190
Test: moved unit test from VpnTest to ConnectivityServiceTest
Change-Id: Ic350b90946870890bf031668bb5c201037b0bd15
2021-01-08 15:35:55 +09:00
Les Lee
78df78fef9 Merge "wifi: Add systemAPi:setSubscriberId in NetworkAgentConfig" am: 51115a8705
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1536153

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I59ab8adad819038715f7534ac746edbf923a92b9
2021-01-08 01:26:56 +00:00
Remi NGUYEN VAN
5b2ea5d193 Revert^2 "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.

This rolls forward the change. The original topic was reverted because
of a bad merged-in clause; this is fixed and re-verified in this topic.

Bug: 171540887
Test: m, device boots and connectivity

Change-Id: I293b09c0dc04c6ccafa30cd0f1a63efe32283604
2021-01-08 01:23:36 +00:00
Les Lee
51115a8705 Merge "wifi: Add systemAPi:setSubscriberId in NetworkAgentConfig" 2021-01-08 00:54:51 +00:00
Lorenzo Colitti
de3c1f6764 Merge changes Iec22ff63,Iaca8a7cc am: 0cec61c277
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1528211

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1a7da1cab20a38cec3e9610a537c6ba9d7a8308d
2021-01-07 18:16:43 +00:00
Automerger Merge Worker
ba42f64156 Merge "Merge changes from topic "revert-1532910-connectivity_jar_in_apex-LKXFLQGLIU" am: 7de72f8875" into stage-aosp-master 2021-01-07 18:10:58 +00:00
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
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
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