Commit Graph

11676 Commits

Author SHA1 Message Date
Junyu Lai
3d57ea202a Merge "Revert "[VCN06] Support request background network"" am: bf49c1948a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553864

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic8f292997e582da1eeeb469c91a52225ba4a2217
2021-01-19 11:34:18 +00:00
Junyu Lai
bf49c1948a Merge "Revert "[VCN06] Support request background network"" 2021-01-19 10:24:47 +00:00
Junyu Lai
dfb7780384 Revert "[VCN06] Support request background network"
Revert submission 1545847-vcn06

Reason for revert: b/177876289 presubmit failure
Reverted Changes:
I8042ce197:[VCN06.1] Add CTS for request background network
If9aaa87b7:[VCN06] Support request background network

Change-Id: I9270b02a2d6d1ffcdd83b4f41becaf09a2b91e0a
2021-01-19 09:06:00 +00:00
Treehugger Robot
b4c91a2092 Merge "Fix CaptivePortalDataTest#testParcelUnparcel on R" am: 82a13fa884
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553816

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I74a6492618ca1e21e35474c012dee9886239e75a
2021-01-19 04:49:10 +00:00
Treehugger Robot
82a13fa884 Merge "Fix CaptivePortalDataTest#testParcelUnparcel on R" 2021-01-19 04:45:08 +00:00
Treehugger Robot
0909b09eb9 Merge changes I475502fd,Ibf376a6f,Ia52f9caf am: 4b8630f65a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553958

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I1cf8401a1cf16b8bbd3d46a65c40c642324c00e8
2021-01-19 04:45:06 +00:00
Treehugger Robot
4b8630f65a Merge changes I475502fd,Ibf376a6f,Ia52f9caf
* changes:
  Address comments on aosp/1539753, aosp/1542487 and aosp/1547496.
  Fix propagating underlying caps when a network disconnects.
  Test for bugs with suspended VPN underlying networks.
2021-01-19 04:19:56 +00:00
Remi NGUYEN VAN
a162ff05e0 Fix CaptivePortalDataTest#testParcelUnparcel on R
CaptivePortalData only has 7 fields on R, not 8.

Bug: 177290955
Change-Id: I156738d07821fee43420d8af14c4bce36dd0e4a4
Test: atest CtsNetTestCasesLatestSdk:CaptivePortalDataTest on R
2021-01-19 02:33:09 +00:00
Lorenzo Colitti
c5ba160582 Address comments on aosp/1539753, aosp/1542487 and aosp/1547496.
Bug: 173331190
Test: test-only change
Change-Id: I475502fde55d24e7ae3f7fe9f43c54740c57a9cf
2021-01-19 10:35:43 +09:00
Junyu Lai
6cee4174cc Merge "[VCN06] Support request background network" am: f5fdc60511
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1545847

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5a090a26f0f14317622de9f1971701855723fb56
2021-01-19 01:12:58 +00:00
Junyu Lai
f5fdc60511 Merge "[VCN06] Support request background network" 2021-01-19 01:04:20 +00:00
Lorenzo Colitti
24c152ce87 Fix propagating underlying caps when a network disconnects.
aosp/1513052, which generalized support for underlying networks,
broke default network switching when the network underlying a VPN
disconnects.

This is because it calls propagateUnderlyingNetworkCapabilities
in the middle of the bookkeeping operations needed when a
network is disconnected (specifically, after all satisified
requests are removed from the disconnecting network, but before
mDefaultNetworkNai is updated). This is completely incorrect
because propagateUnderlyingNetworkCapabilities can trigger a
network rematch, and running a rematch when the request data
structures are inconsistent is obviously wrong. See the test
changes in this CL for an example of the damage.

Fix this by moving propagateUnderlyingNetworkCapabilities to
before the bookeeping operations begin. It must be before
mDefaultNetworkNai is updated, because otherwise it will not know
that the default network is disconnecting, and it will not be
able to propagate capabilities to VPNs that set underlying
networks to null (i.e., to the default network). It must be
after the nai is removed from mNetworkForNetId because
otherwise it will think that the underlying network is still
connected.

Bug: 173331190
Test: accompanying unit test shows lots of bugs removed
Change-Id: Ibf376a6fa4b34d1c96f8506fa8abbb7595a8c272
2021-01-19 09:40:53 +09:00
Lorenzo Colitti
b291ab6435 Test for bugs with suspended VPN underlying networks.
Test: atest --rerun-until-failure 100 ConnectivityServiceTest#testVpnSwitchFromSuspendedToNonSuspended
Change-Id: Ia52f9cafef3f49ae70ad135d017e207eb57fddfe
2021-01-19 00:42:46 +09:00
Lorenzo Colitti
ed09b7be75 Merge changes Ic5750d4f,I9fa888c9,I4211475f am: c6244c74ad
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1547495

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7e727e9e9377690a6badf1a56176138654459493
2021-01-18 14:25:48 +00:00
Lorenzo Colitti
c6244c74ad Merge changes Ic5750d4f,I9fa888c9,I4211475f
* changes:
  Deflake testNetworkBlockedStatusAlwaysOnVpn
  Simplify testVpnRestrictedUsers.
  Add test coverage for LockdownVpnTracker.
2021-01-18 14:03:54 +00:00
Treehugger Robot
dae7331f7e Merge "Enforce that NetworkAgentInfo fields are never null." am: b54fb4d4fd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1553734

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I12eba91f29b55b7162889e1d44de15580f839195
2021-01-18 10:24:27 +00:00
Treehugger Robot
b54fb4d4fd Merge "Enforce that NetworkAgentInfo fields are never null." 2021-01-18 09:32:39 +00:00
junyulai
75daea17c8 [VCN06] Support request background network
This will be mainly used by VCN management service which will
need to hold the networks but preserve the backgrounded-ness
of the networks.

Test: android.net.ConnectivityManagerTest#testRequestType
Test: android.net.cts.ConnectivityManagerTest#testRequestBackgroundNetwork /
      --rerun-until-failure 100
Test: ConnectivityServiceTest#testBackgroundNetworks
Test: m -j doc-comment-check-docs
Bug: 175662146
Change-Id: If9aaa87b7e71c2b695ac7b08858850e975b28bb6
2021-01-18 16:32:08 +08:00
Lorenzo Colitti
081a3a49e1 Deflake testNetworkBlockedStatusAlwaysOnVpn
This test flakes about 1% of the time on my device. This is due
to the test calling expectNetworkRejectNonSecureVpn() before the
handler thread has processed the call to setAlwaysOnVpnPackage.

Fix this by waiting for callbacks where it is possible to do so,
and by calling waitForIdle where it is not.

Test: test-only change
Change-Id: Ic5750d4fdf9e7e3654a2b6ade74da6bc5de18fb6
2021-01-18 17:28:52 +09:00
Lorenzo Colitti
3d37d92c09 Simplify testVpnRestrictedUsers.
Code review comments have suggested that this test is too long
and difficult to understand. Split it into two tests and put some
of the common setup into setup methods and statics.

Bug: 173331190
Test: test-only change
Change-Id: I9fa888c940d7048f1ba6836a5706fbdb84b5f5c9
2021-01-18 17:28:52 +09:00
Lorenzo Colitti
b7c3097f3f Add test coverage for LockdownVpnTracker.
Also add a comment to an existing test.

Bug: 173331190
Test: test-only change
Change-Id: I4211475f053f0cdf2b804132c52ce5205a772193
2021-01-18 17:28:50 +09:00
Lorenzo Colitti
bb4d45fb70 Enforce that NetworkAgentInfo fields are never null.
These fields have been recently audited, confirmed never to be
null, and annotated @NonNull. Ensure that they can never become
null by throwing exceptions in the codepaths that set them.
Also remove some null checks.

Test: atest FrameworksNetTests
Change-Id: I6ce5bb4d69a990f1c857c599b7e50e372352eb87
2021-01-18 07:49:26 +00:00
Lorenzo Colitti
e79e7fbc05 Merge "Mark several NetworkAgentInfo members @NonNull and address TODO." am: ac155fc61e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552502

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I904873d1998948ef58e6179a78c5d87834fa7c86
2021-01-18 06:33:36 +00:00
Lorenzo Colitti
ac155fc61e Merge "Mark several NetworkAgentInfo members @NonNull and address TODO." 2021-01-18 05:51:38 +00:00
Paul Hu
2fd81f5d38 Merge "Remove unused IpConnectivityMetrics in CS" am: bab9a4577c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552660

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If123fae795475433f61f9264f0a2e3b51676056c
2021-01-18 05:45:22 +00:00
Paul Hu
bab9a4577c Merge "Remove unused IpConnectivityMetrics in CS" 2021-01-18 05:26:35 +00:00
paulhu
caa2c0dabe Remove unused IpConnectivityMetrics in CS
ConnectivityService doesn't call any IpConnectivityMetrics
methods, so remove all usages from CS.

Bug: 177656797
Test: atest FrameworksNetTests
Test: atest FrameworksNetIntegrationTests
Change-Id: I2fb3b6b08cd8013eb8f75882f77ca699a2df927e
2021-01-18 04:03:32 +00:00
Chiachang Wang
32e0f65694 Merge "Replace hidden ParcelFileDescriptor constructor usage" am: b1a007e35c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552154

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic3dcae7bce2b8168bff86cfccc7ce83d17d61006
2021-01-18 02:28:04 +00:00
Roshan Pius
0af9aefcc2 Merge "LocationPermissionChecker: Exempt privileged components from location check" am: 67c62a89d9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1550515

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4af673a7be59c0382f68fc53f1b2704746f53cc3
2021-01-18 02:25:39 +00:00
Chiachang Wang
b1a007e35c Merge "Replace hidden ParcelFileDescriptor constructor usage" 2021-01-18 01:59:10 +00:00
Chiachang Wang
619319a3f5 Replace hidden ParcelFileDescriptor constructor usage
If IOException happens while trying to start keepalives sockets,
an invalid fd will be constructed. It will fail with
ERROR_INVALID_SOCKET if the user later calls start(). Current
design to construct the invalid fd use the hidden
ParcelFileDescriptor constructor which will not work for the
incoming ConnectivityService mainline. Thus, replace it with
the other formal API.

Bug: 170598012
Test: atest FrameworksNetTests
Change-Id: I57fd7ec2281c5e8c75481200bbde723ecf96982a
2021-01-18 01:58:49 +00:00
Roshan Pius
67c62a89d9 Merge "LocationPermissionChecker: Exempt privileged components from location check" 2021-01-18 01:33:31 +00:00
Junyu Lai
17b4808623 Merge "[VCN05.1] Add unit test for invalid request types" am: 9ca2f62117
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1552495

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If8af28178d6aca1d90b7c93808a41dee0f80b018
2021-01-16 02:34:13 +00:00
Junyu Lai
9ca2f62117 Merge "[VCN05.1] Add unit test for invalid request types" 2021-01-16 02:27:28 +00:00
Lorenzo Colitti
59fa1276a7 Mark several NetworkAgentInfo members @NonNull and address TODO.
1. network cannot be null because it's final and the only caller
   of the constructor passes in a fresh copy.
2. linkProperties cannot be null because:
   - The only caller of the constructor passes in a fresh copy.
   - The only assignment to nai.linkProperties is in
     updateLinkProperties, and that dereferences newLp a few
     lines before assigning it.
3. networkCapabilities cannot be null because:
   - The only caller of the constructor passes in a fresh copy.
   - There are no direct assignments to nai.networkCapabilities.
   - All 4 assignments happen via getAndSetNetworkCapabilities:
     - registerNetworkAgentInternal, updateCapabilities and
       applyBackgroundChangeForRematch all pass in the return
       value of mixInCapabilities, which is always non-null.
     - updateNetworkInfo re-assigns the capabilities that were
       already set in the object.
4. networkAgentConfig cannot be null because it's final and
   the only caller of the NetworkAgentInfo constructor passes
   in a fresh copy.

Address a TODO in ConnectivityService to remove a check for the
nai's capabilities being null.

Also fix a style nit pointed out by the linter.

Test: atest FrameworksNetTests
Change-Id: I2e265f1c60a73d6da0222dd6711bc53c32db06ec
2021-01-16 00:56:44 +09:00
Roshan Pius
c68c03ced4 LocationPermissionChecker: Exempt privileged components from location check
This is a port of the exemption that exists in WifiPermissionsUtil.
Settings, sysui, network stack needs to be able to access all network
state regardless of location toggle. If we want to move sysui, etc to
retrieve WifiInfo via NetworkCapabilities (which is the current plan),
this exemption is essential since UI should reflect wifi state
regardless of location toggle state.

Bug: 162602799
Test: atest LocationPermissionCheckerTest
Change-Id: I49ce465eccce27bb7a860d882360436fd9ec19c6
2021-01-15 06:51:39 -08:00
junyulai
7c51b4b463 [VCN05.1] Add unit test for invalid request types
Test: atest ConnectivityServiceTest#testInvalidRequestTypes
Bug: 175662146
Change-Id: I595b0bd1cfb88724581f67942cd3891f95c157ab
2021-01-15 21:19:49 +08:00
Aaron Huang
d36cb179e6 Merge "Refactor setCurrentProxyScriptUrl to a void method" am: 1000c8138f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513131

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I24bb3882c467aa590e37e858df875825221c88a0
2021-01-15 10:19:58 +00:00
Aaron Huang
1000c8138f Merge "Refactor setCurrentProxyScriptUrl to a void method" 2021-01-15 10:01:10 +00:00
Treehugger Robot
916052a6b7 Merge "Fix CaptivePortalDataTest on R-" am: 6516373759
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1550715

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie16759138fd84a46bf7d3d30c3a254b2ee72264a
2021-01-15 06:20:18 +00:00
Treehugger Robot
6516373759 Merge "Fix CaptivePortalDataTest on R-" 2021-01-15 05:26:34 +00:00
James Mattis
db0e54b63e Merge "Waiting for idle in test" am: ef4488fb0d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1550420

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia335a4fedabed9eed6465d08e5ea882c259539e1
2021-01-15 01:52:16 +00:00
Remi NGUYEN VAN
a82274021d Fix CaptivePortalDataTest on R-
The new venue friendly name field is not present on R-

Bug: 162783305
Change-Id: I63bd9c61d27c7d3b07826053373c9c5e38666948
Test: atest FrameworksNetTests
2021-01-15 01:13:27 +00:00
James Mattis
ef4488fb0d Merge "Waiting for idle in test" 2021-01-15 00:28:54 +00:00
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