Commit Graph

11418 Commits

Author SHA1 Message Date
Cody Kesting
5d0cc85448 Merge "Allow the System UID to unregister ConnDiags CBs." am: 636f8cbced
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1515688

Change-Id: Ia82d68661c99ed5123f2a0668aec4afd5ea48cf5
2020-12-04 17:47:45 +00:00
Cody Kesting
636f8cbced Merge "Allow the System UID to unregister ConnDiags CBs." 2020-12-04 17:35:28 +00:00
Remi NGUYEN VAN
1ebf8bfe18 Merge "Use IPV6_MIN_MTU from NetworkConstants in Ikev2Vpn" am: ab2944488f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1512879

Change-Id: I2458f7ab7ad2d65bf8c697b7a6aa40394cdc0605
2020-12-04 03:50:19 +00:00
Remi NGUYEN VAN
ab2944488f Merge "Use IPV6_MIN_MTU from NetworkConstants in Ikev2Vpn" 2020-12-04 02:05:01 +00:00
Cody Kesting
054451e170 Allow the System UID to unregister ConnDiags CBs.
This CL updates ConnectivityService to allow the System's UID to
unregister ConnectivityDiagnostics callbacks. Preivously, only the
registrant was allowed to unregister them - this caused problems for
callbacks that were attempted to be unregistered via binderDied() when
the registrant app dies.

Bug: 159912975
Bug: 174713659
Test: manually verified
Change-Id: I20d0cad5f902708d366aa703c2893b0ea3e55052
2020-12-03 17:43:50 -08:00
Patrick Rohr
83711b9a0b Merge changes from topic "restricted-networking-mode" am: 1d156cb04e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1505234

Change-Id: I5e1d114c34e185d0b7f9bc68772431065d852dd0
2020-12-03 11:41:07 +00:00
Patrick Rohr
34d43318e1 Clean Up NetworkManagementService Tests am: e7c4a3e7b5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1505233

Change-Id: Ia14b1784f36d54f0ba73d5841afedcf8a55a18f2
2020-12-03 11:36:15 +00:00
Aaron Huang
6a36ac8b12 Merge "Migrate Slog to Log used in connectivity service module" am: 78265b923a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1483963

Change-Id: Ifc655142710654983dc969398f75fd84a2bc0c6e
2020-12-03 10:58:16 +00:00
Patrick Rohr
1d156cb04e Merge changes from topic "restricted-networking-mode"
* changes:
  Add Restricted Mode Firewall Chain
  Clean Up NetworkManagementService Tests
2020-12-03 10:50:25 +00:00
Aaron Huang
78265b923a Merge "Migrate Slog to Log used in connectivity service module" 2020-12-03 10:17:45 +00:00
Xin Li
93a76f8e40 Merge "Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855" into stage-aosp-master 2020-12-03 03:18:49 +00:00
Remi NGUYEN VAN
0d1b3960e8 Merge "Do not query CS in NetworkProvider constructor" am: 6a6e5f8479
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1512873

Change-Id: I227076074a2d58a4b9e5e8aaa972c6338887f568
2020-12-03 02:17:16 +00:00
Remi NGUYEN VAN
6a6e5f8479 Merge "Do not query CS in NetworkProvider constructor" 2020-12-03 01:48:01 +00:00
Remi NGUYEN VAN
abbaff2736 Merge "Remove CaptivePortal deps on @hide MetricEvents" am: 465f25799c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513141

Change-Id: I647b1cc3329c527d9afa507864700a521a0908be
2020-12-02 11:53:59 +00:00
Remi NGUYEN VAN
465f25799c Merge "Remove CaptivePortal deps on @hide MetricEvents" 2020-12-02 11:12:56 +00:00
Remi NGUYEN VAN
d38176e41a Merge "Add ConnectivityManager.TYPE_PROXY to SystemApi" am: 5dccc26e60
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1512885

Change-Id: I0eb069c5ed0daca29f1bc4d3fd62f83879985b1c
2020-12-02 10:05:42 +00:00
Remi NGUYEN VAN
5dccc26e60 Merge "Add ConnectivityManager.TYPE_PROXY to SystemApi" 2020-12-02 09:23:27 +00:00
Xin Li
2b2fc08133 Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855
Bug: 172690556
Merged-In: I78222391b83a4add8e964340ec08bb8a1306e1c6
Change-Id: I28bbf40820674675ccf765c912aa8140d3f74ab2
2020-12-02 00:38:58 -08:00
Lorenzo Colitti
642fe3bb2b Merge changes Ic5a3e169,I76daa3ab am: fac6ce5e4d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1512888

Change-Id: Ibc9ad6c89e1214302b92118a01a924fa1481767e
2020-12-02 05:23:05 +00:00
Lorenzo Colitti
fac6ce5e4d Merge changes Ic5a3e169,I76daa3ab
* changes:
  Refactor applyUnderlyingCapabilities and its test.
  Move applyUnderlyingCapabilities to ConnectivityService.
2020-12-02 04:55:12 +00:00
Remi NGUYEN VAN
5f6285c9c7 Remove CaptivePortal deps on @hide MetricEvents
The legacy metrics are deprecated, and CaptivePortal is planned to move
to a connectivity-specific jar which cannot reference MetricsEvents.

Bug: 171540887
Test: m
Change-Id: I409375de3844a7fedef707cf9e19a106d82a8e3a
2020-12-02 13:17:09 +09:00
Lucas Lin
95c3ea2068 Merge "Use public API of NetworkAgent in TestNetworkService" am: 8c3e4377cc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1505291

Change-Id: If37614f211ea2cddb98f06b95b9dfe32e5a98cb5
2020-12-02 03:58:08 +00:00
Lucas Lin
8c3e4377cc Merge "Use public API of NetworkAgent in TestNetworkService" 2020-12-02 03:30:59 +00:00
Treehugger Robot
902918a433 Merge "Deprecated UserManager.getUsers(excludeDying) / added getAliveUsers()" am: c0b44fca8b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1406256

Change-Id: I6d0d919ddad282d526c2412efdd92e368149ab87
2020-12-01 17:32:56 +00:00
Lorenzo Colitti
8750be0016 Refactor applyUnderlyingCapabilities and its test.
This reduces verbose assertions and makes the test more compact.
I'm not sure whether it's actually more valuable, since the
current code, while more verbose, is probably more
straightforward to understand.

Also add a test for passing in a null underlying network (i.e.,
follow default network). This requires a minor refactoring in
ConnectivityService because the applyUnderlyingCapabilities does
not currently treat null specially.

Bug: 173331190
Test: test-only change
Change-Id: Ic5a3e16969ea9e1a529706850f148cb0d5fd8e09
2020-12-02 00:45:57 +09:00
lucaslin
d35f795bb2 Use public API of NetworkAgent in TestNetworkService
- Create NetworkAgent by using the public API of NetworkAgent.
- Remove the usage of NetworkInfo.

Bug: 172183305
Test: Build pass.
Test: atest FrameworksNetTests
Test: atest CtsNetTestCasesLatestSdk
Test: atest NetworkStackIntegrationTests
Test: atest TetheringIntegrationTests
Change-Id: Icba59295861201c221587caa9df02275c4087fb8
2020-12-01 23:03:02 +08:00
Lorenzo Colitti
cd6d42bd1e Move applyUnderlyingCapabilities to ConnectivityService.
This is essentially a straighforward move of code from Vpn to
ConnectivityService, and from VpnTest to ConnectivityServiceTest.

Bug: 173331190
Test: passes existing tests, moved tests pass
Change-Id: I76daa3abcc777e9c3ba57efb750de0e2e2f3bb74
2020-12-01 23:23:47 +09:00
Felipe Leme
ed14cda477 Deprecated UserManager.getUsers(excludeDying) / added getAliveUsers()
The existing method is confusing (the argument used to be called
includeDying) and it puts the burden on the caller (which need to
understand what the parameter means).

Furthermore:

- The majority of calls are for getUsers(excludeDying=true).
- The calls for getUsers(excludeDying=false) are equivalent to
  calls to getUsers()

Test: m
Test: a VpnTest ConnectivityServiceTest PermissionMonitorTest

Bug: 157921703
Change-Id: Ife767a40b7b7790ba28b5377046de822ddbf275c
Merged-In: Ife767a40b7b7790ba28b5377046de822ddbf275c
(cherry picked from commit 72eeb557e7)
2020-12-01 15:25:52 +08:00
Remi NGUYEN VAN
5bfbc47c2c Merge "Run OemNetworkPreferencesTest with DevSdkIgnoreRunner" am: 8384c693d1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1512665

Change-Id: I48f1f591f9da798f5c154314c6cf00d504e9f435
2020-12-01 01:57:43 +00:00
Remi NGUYEN VAN
8384c693d1 Merge "Run OemNetworkPreferencesTest with DevSdkIgnoreRunner" 2020-12-01 01:33:42 +00:00
Patrick Rohr
7146229936 Add Restricted Mode Firewall Chain
Adding new allowlist firewall chain to support restricted networking
mode. See go/restricted-networking-mode.

Bug: b/157505406
Bug: b/170323408
Test: atest NetworkManagementServiceTest
Change-Id: I8e39b3d7b129ad74224d0c1311135b7b48f6514f
2020-11-30 18:36:02 +01:00
Patrick Rohr
e7c4a3e7b5 Clean Up NetworkManagementService Tests
Cleaning up tests, so I can easily add more for restricted networking
mode.
I merged the NetworkManagementInternalTests with the
NetworkManagementServiceTests.

Test: atest NetworkManagementServiceTest
Change-Id: If8c3cc1883cfb2524eeb78e23165fc868130f0e7
2020-11-30 18:35:44 +01:00
Lorenzo Colitti
95e7eba65a Merge changes If2201f39,Ia1c366c5 am: fd0e9821fb
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1509889

Change-Id: I6ad54ba833d242ed790123c381a308ef678e4d4d
2020-11-30 15:01:45 +00:00
Lorenzo Colitti
fd0e9821fb Merge changes If2201f39,Ia1c366c5
* changes:
  Stop calling Vpn#updateCapabilities in CS.
  Stop accessing VPNs in checkConnectivityDiagnosticsPermissions.
2020-11-30 14:14:38 +00:00
Lorenzo Colitti
db7c229729 Merge changes I982543cd,I41c3bf6c,Id3e5f6e1 am: 4fe79a3ff9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1511316

Change-Id: Iac22dfcf6550233df7dc7c33689cb797503e24f9
2020-11-30 13:54:52 +00:00
Lorenzo Colitti
4fe79a3ff9 Merge changes I982543cd,I41c3bf6c,Id3e5f6e1
* changes:
  Add a provider to VPN
  Small VPN cleanup
  Migrate VPN to the public NetworkAgent API.
2020-11-30 13:48:26 +00:00
Remi NGUYEN VAN
daeafeef37 Add ConnectivityManager.TYPE_PROXY to SystemApi
This follows other TYPE_* constants like TYPE_WIFI_P2P that are
@SystemApi or public.
TYPE_PROXY has a use-case for the system to set network policies based
on proxy network templates. Although network types are deprecated, that
use-case needs to be supported and significant amounts of network
management would need to be rewritten to stop using network types.

The constant needs to be API as ConnectivityManager is planned to move
out of framework.jar, so only its formal API will be available to the
system server.

Bug: 174436414
Test: m
Change-Id: I266ed6bc59f5eb72302afe14472c93933733c8f8
2020-11-30 19:23:45 +09:00
Remi NGUYEN VAN
0b3d600ff6 Use IPV6_MIN_MTU from NetworkConstants in Ikev2Vpn
Instead of sharing the constant from LinkProperties, use the already
defined constant in the NetworkConstants class.

This allows Ikev2VpnProfile to allow depending on non-public
LinkProperties APIs, as LinkProperties is planned to move to
framework-connectivity.

Bug: 174436414
Test: m
Change-Id: I594bb7e81bc7681799c16eff621a5ffd1b29624c
2020-11-30 17:18:51 +09:00
Chalard Jean
8c7cb6449c Add a provider to VPN
Test: FrameworksNetTests NetworkStackTests
Change-Id: I982543cdee358bb62d3b56a7fd9d71dc18908b65
2020-11-30 16:15:19 +09:00
Chalard Jean
fd64bac5b6 Migrate VPN to the public NetworkAgent API.
On top of being a cleanup this is useful for the S Network
Selection project that will need to enrich the Network
Agent API, and as such should not have to support legacy
agents.

Test: FrameworksNetTests NetworkStackTests
Bug: 167544279
Change-Id: Id3e5f6e19829c64074cd6a52c5f950cee56b860b
2020-11-30 16:15:18 +09:00
Aaron Huang
11e9a31bac Migrate Slog to Log used in connectivity service module
Connectivity service module uses Slog which is @hide so
migrate to Log, which is public, to remove hidden API usage.

Bug: 172050541
Test: FrameworksNetTests
      check log is moved from system buffer to main buffer.
Change-Id: I0dcc0e169b892cc872ed4510f699642cb81b633a
2020-11-30 14:35:01 +08:00
Remi NGUYEN VAN
7820e22137 Do not query CS in NetworkProvider constructor
ConnectivityService may not be available in a NetworkProvider
constructor, if it is created (but still unused) before
ConnectivityService starts.

As ConnectivityManager is only necessary in
declareNetworkRequestUnfulfillable, which should not be called often,
just query ConnectivityManager at that point.

This is necessary for VcnManagementService, which is started before
ConnectivityService and creates its NetworkProvider in its constructor.
Fortunately VcnManagementService does not call
declareNetworkRequestUnfulfillable at this point.

ConnectivityManager may be migrated to classic service getters that
cache "null" when the service was not available the first time it is
queried, so no system service must query it before it starts.

Bug: 171540887
Test: atest FrameworksNetTests:NetworkProviderTest
Change-Id: I8dadcd0e1360a9464192f330493e13aa69dd9fe2
2020-11-30 12:42:15 +09:00
Treehugger Robot
b32ead42ae Merge "Adding @IgnoreUpTo to OemNetworkPreferencesTest" am: 9a9e45ad72
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1511772

Change-Id: Ie7cf35131d553279ccd3244536107c2a0c53b379
2020-11-30 02:08:29 +00:00
Remi NGUYEN VAN
535d328def Run OemNetworkPreferencesTest with DevSdkIgnoreRunner
The class-level @IgnoreUpTo annotation only applies with that runner.

Change-Id: I065618f2345c1d91de2fa1f2f558e5ed5b066f3e
Fixes: 174268969
Bug: 171505922
Test: atest FrameworksNetTests:android.net.OemNetworkPreferencesTest
2020-11-30 01:42:24 +00:00
Treehugger Robot
9a9e45ad72 Merge "Adding @IgnoreUpTo to OemNetworkPreferencesTest" 2020-11-30 01:38:19 +00:00
Lorenzo Colitti
b428266cd1 Merge changes from topic "networkagent-set-underlying-networks" am: dccf7eda5e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1501816

Change-Id: I94fd855f9b03d7487b1ebc8288be7f95e12fbe4f
2020-11-28 03:34:26 +00:00
Lorenzo Colitti
964f7c7e4d Clear calling identity in registerNetworkAgent. am: 4b1cd16a76
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1511317

Change-Id: I0f93630527cfe352f5d8f5c69b5276dadbb8c3e4
2020-11-28 03:27:05 +00:00
Lorenzo Colitti
04c831319e Allow tests to create TRANSPORT_TEST|TRANSPORT_VPN networks. am: 4b4fcc7a72
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1511312

Change-Id: Id28ea9f3b72e5cae0232ffc7698120512359be49
2020-11-28 03:24:32 +00:00
Lorenzo Colitti
a27c332849 Move applying underlying caps from Vpn to ConnectivityService. am: 220987b38d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1501815

Change-Id: I10147f9b86661243e654a16a760e183128493042
2020-11-28 03:20:40 +00:00
Lorenzo Colitti
aceffad3b2 Stop calling Vpn#updateCapabilities in CS.
Instead, make Vpn#onUserAdded and Vpn#onUserRemoved notify CS
of UID range changes through the VPN's NetworkAgent.

After this change, ConnectivityService no longer touches the
VPN's NetworkCapabilities directly, which is a much cleaner
design.

Bug: 173331190
Test: passes existing tests in ConnectivityServiceTest
Change-Id: If2201f392cdb5f00c89a97683ad4ce6bda7b89e5
2020-11-27 15:35:39 +09:00