Commit Graph

11630 Commits

Author SHA1 Message Date
Roshan Pius
c865ce7edd Merge "NetworkCapabilities: Embed location senstive TransportInfo" am: d0cb8f3ec3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1508602

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie88978197172519e6bd26182e1d24178769b3741
2021-01-14 16:08:04 +00:00
Roshan Pius
d0cb8f3ec3 Merge "NetworkCapabilities: Embed location senstive TransportInfo" 2021-01-14 15:38:15 +00:00
Lorenzo Colitti
e806f0ee83 Merge changes I28e39400,Ibada8b42 am: 5da00cfb62
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1548870

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I59bcae23f71d57715845b1f613c0733a04725763
2021-01-14 11:00:43 +00:00
Lorenzo Colitti
5da00cfb62 Merge changes I28e39400,Ibada8b42
* changes:
  UserManager restricted profile SystemApis
  Improve testing of CONNECTIVITY_ACTION broadcasts.
2021-01-14 10:39:48 +00:00
Aaron Huang
5c9279c17a Merge "Migrate Slog usage in MultinetworkPolicyTracker to Log" am: 38f1711f80
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1549720

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id726928bd9363d01de8aaafd19e07db8498897c7
2021-01-14 09:23:25 +00:00
Aaron Huang
38f1711f80 Merge "Migrate Slog usage in MultinetworkPolicyTracker to Log" 2021-01-14 09:10:17 +00:00
Adam Bookatz
01a979f91a UserManager restricted profile SystemApis
Makes two new SystemApis:
getRestrictedProfileParent()
canHaveRestrictedProfile()

Temporarily disables VPN Tests that rely on the old APIs until those
tests are updated (b/175883995).

Bug: 171529940
Test: atest FrameworksNetTests:com.android.server.connectivity.VpnTest
Test: Tests for UserManager SystemApis are TODO awaiting completion of new user test infrastructure (b/163890431)
(cherry picked from commit 20ba13f5bc482de37a569c8c791ee5be9e7874b4)
Change-Id: I28e39400039631e7d391dc7b0d003e8a38d1f06a
2021-01-14 17:39:13 +09:00
Lorenzo Colitti
90f0c4584f Improve testing of CONNECTIVITY_ACTION broadcasts.
We currently test CONNECTIVITY_ACTION broadcasts by directly
registering BroadcastReceivers with BroadcastInterceptingContext,
and making the receivers unregister themselves when all the
broadcasts they expect have been received.

This works for current test cases, but does not work if anything
registers another receiver for CONNECTIVITY_ACTION. In that case,
when we unregister the receiver in the receiver's onReceive
method, BroadcastInterceptingContext will throw a
ConcurrentModificationException because the list of receivers is
being modified during iteration.

Fix this by adding an ExpectedBroadcast class that stores the
receiver and unregisters the receiver only when the test checks
that the broadcast was received, which happens after the receiver
runs. This is easier to use and also guarantees that the receiver
is unregistered even if the test is expecting that the broadcast
is never fired. Accordingly, remove mRegisteredReceivers and the
code that uses it; it's no longer necessary now that
ExpectedBroadcast always unregisters its receivers.

Also add a convenience expectConnectivityAction method to expect
a CONNECTIVITY_ACTION broadcast with specific contents. This
makes the test easier to read and more detailed. Convert some
existing tests to this method.

While I'm at it, fix a test that was using "mCellNetworkAgent" to
represent a wifi network.

Bug: 173331190
Test: test-only change
Change-Id: Ibada8b4215625e1016d9fd170526206920af76f5
2021-01-14 17:11:28 +09:00
Junyu Lai
8d109211b4 Merge "[VCN05] Pass request type when requesting network" am: 2909e18901
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1545846

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2f617b172ca17748b6e6be0afbf3474b5629dec7
2021-01-14 07:43:35 +00:00
Junyu Lai
2909e18901 Merge "[VCN05] Pass request type when requesting network" 2021-01-14 06:52:46 +00:00
Aaron Huang
fa89f7987b Merge "Rename PacManager to PacProxyInstaller" am: 65e963c224
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513130

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Idf8192ca563275048acccbf6163f7effc4b04781
2021-01-14 01:54:51 +00:00
Aaron Huang
528c13e72f Migrate Slog usage in MultinetworkPolicyTracker to Log
Connectivity mainline module cannot use hidden API so
replace Slog with Log which is a public API.

Test: FrameworksNetTests
Change-Id: I8758079cf635ff4ab218df53c0f7bf6fc23ce476
2021-01-14 09:53:38 +08:00
Aaron Huang
65e963c224 Merge "Rename PacManager to PacProxyInstaller" 2021-01-14 01:52:24 +00:00
satayev
2915e67074 Merge "Revert "[VCN01] Add NOT_VCN_MANAGED capability"" am: 66bf5f05e1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1549962

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I03dade86df57e4728eea88ab9b148251a1097c85
2021-01-13 18:32:31 +00:00
satayev
66bf5f05e1 Merge "Revert "[VCN01] Add NOT_VCN_MANAGED capability"" 2021-01-13 17:40:03 +00:00
satayev
31a436c6d8 Revert "[VCN01] Add NOT_VCN_MANAGED capability"
This reverts commit d0617de32c.

Reason for revert: b/177411288 broken test

Bug: 177411288
Bug: 175662146
Change-Id: I02a25b83e62ab9a2ed22a98530d62b08de73f56e
2021-01-13 15:04:23 +00:00
Lorenzo Colitti
3351e52b34 Merge "Stop using VPNs in getActiveNetworkForUidInternal." am: d26df144fd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1529106

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0e0de3f3cd9762feecf5dda5a40bb50791f17654
2021-01-13 14:54:40 +00:00
Lorenzo Colitti
d26df144fd Merge "Stop using VPNs in getActiveNetworkForUidInternal." 2021-01-13 13:52:56 +00:00
Junyu Lai
b2fe002fba Merge "Align coding style of line-wrapping in NetworkCapabilities" am: 12f7ddc06b
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
12f7ddc06b Merge "Align coding style of line-wrapping in NetworkCapabilities" 2021-01-13 10:40:43 +00:00
Chiachang Wang
eb694c2613 Merge "[IT4.21] Update the label type of idle timer" am: fc16c8d944
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
fc16c8d944 Merge "[IT4.21] Update the label type of idle timer" 2021-01-13 09:10:43 +00:00
Junyu Lai
c9a658d918 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
Aaron Huang
cc52502b3c Rename PacManager to PacProxyInstaller
Generally, a manager class in Android is used to access
system services and it should be obtained from Context.
This class is a bit different from the definition of a
manager class.

API linter will detect an error if trying to expose a
class name end with Manager. ProxyTracker will create a
new instance of this class so this class needs to be
renamed to avoid API lint error.

Bug: 177035719
Test: FrameworksNetTests
Change-Id: I9185d4fb4342bd285a575f0bdd3518b758f37eb6
2021-01-13 15:47:45 +08:00
junyulai
fd20e05e1d Align coding style of line-wrapping in NetworkCapabilities
Test: TH
Change-Id: Ic864524a60954f8dbcce265643c2cb3ac3aefca8
2021-01-13 07:45:18 +00:00
Chiachang Wang
a894a5248f [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
d0617de32c [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
Roshan Pius
9ed1462e82 NetworkCapabilities: Embed location senstive TransportInfo
Changes:
i) Add a new constructor for NetworkCapabilities which accepts whether
location sensitive fields need to be parceled or not. Defalts to false
on the other constructor. This boolean should only be set on the copy of
NetworkCapabilities when sent to apps that hold location permission.
(Similar to how sensitive fields are handled in LinkProperties)
ii) Add a new makeCopy() method in the TransportInfo interface which
accepts whether location sensitive fields need to be parceled or not.
iii) Migrate the existing NetworkCapabilities owner UID masking to use
this new mechanism (instead of existing masking in ConnectivityService).
iv) Always set parcelLocationSensitiveFields to true in the NetworkAgent
surface (since that is a privileged surface from the transports to the
connectivity service)
v) Add a hasSensitiveFields() in TransportInfo interface to avoid
perfoming location permission checks for location insensitive
TrasnsportInfo.

Also, migrate to the new SdkLevel util for isAtLeastR() & isAtLeastS()
checks.

Bug: 162602799
Test: atest android.net
Test: atest com.android.server
Change-Id: Ie522d8c75a82ae521ccfd5165823d0c72642e651
Merged-In: Ie522d8c75a82ae521ccfd5165823d0c72642e651
2021-01-13 02:25:49 +00:00
Hai Shalom
bfdd6e5822 Merge "Support for Venue URL and friendly name from Network agent" am: 2208ba1089
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
2208ba1089 Merge "Support for Venue URL and friendly name from Network agent" 2021-01-13 01:54:05 +00:00
Lorenzo Colitti
70b3b91a88 Stop using VPNs in getActiveNetworkForUidInternal.
After this CL, ConnectivityService no longer needs to grab the
VPN lock and access Vpn objects to determine connectivity state.

Also make a synchronized (mVpns) block smaller.

Bug: 173331190
Test: existing tests in ConnectivityServiceTest
Change-Id: I3297b3ab8e75bdf4902c62dd7e492c3634cfc51f
2021-01-13 09:39:01 +09:00
Lorenzo Colitti
85f740ba9e Merge changes I3eb82680,I9d6147d9 am: 4ff794b745
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
4ff794b745 Merge changes I3eb82680,I9d6147d9
* changes:
  NetworkWatchlistServiceTests: update IIpConnectivityMetrics.
  Stop using IIpConnectivityMetrics in ConnectivityService.
2021-01-13 00:31:56 +00:00
Tomasz Wasilczyk
c8ad36c2d2 Merge "Keep Vehicle internal network always up" am: 2d9d5b806e
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
2d9d5b806e Merge "Keep Vehicle internal network always up" 2021-01-12 22:40:50 +00:00
Ken Chen
8e52543f32 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
54605b8501 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
5e65a8578c 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
1c8119e81a 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
junyulai
ad0107998f [VCN05] Pass request type when requesting network
Currently, ConnectivityService decides the request type by
whether NetworkCapabilities is null when handling request
network. However, to fulfill the need of firing background
request via ConnectivityManager in the follow-up patches,
the request type is needed to pass into ConnectivityService.

This change also make ConnectivityService utilizes the passed
request type.

Test: atest ConnectivityManagerTest#testRequestType
Bug: 175662146
Change-Id: I3bc172bca1217c8020db45057a621d0745d43b3c
2021-01-12 19:55:00 +08:00
Lorenzo Colitti
9335cc152d Merge "Remove Vpn#isBlockingUid." am: ad7708353d
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
086084afba Merge "Replace NetworkPolicyManagerInternal#isUidNetworkingBlocked()" am: 7e389f5f67
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
ad7708353d Merge "Remove Vpn#isBlockingUid." 2021-01-12 10:20:33 +00:00
Paul Hu
7e389f5f67 Merge "Replace NetworkPolicyManagerInternal#isUidNetworkingBlocked()" 2021-01-12 09:53:05 +00:00
Treehugger Robot
e79ceac72a Merge "[VCN02] Make LingerTimer takes request Id instead of NetworkRequest" am: 4f5abd7cec
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
4f5abd7cec Merge "[VCN02] Make LingerTimer takes request Id instead of NetworkRequest" 2021-01-12 08:59:04 +00:00
Treehugger Robot
84170a1ce9 Merge "Improve error message when testing network factory" am: 3687773969
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
3687773969 Merge "Improve error message when testing network factory" 2021-01-12 03:50:30 +00:00
paulhu
7aeba3705a 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
e58bdc6fd0 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