Commit graph

13,045 commits

Message SHA1
Add tests for always-on VPN lockdown mode.
This requires mocking lots of new things that weren't mocked
before but is otherwise fairly straightforward.

A few changes to MockVpn are needed as well:

1. Set the VPN's NetworkInfo to CONNECTED, so methods such as
   isBlockingUid will work. While I'm at it, set the interface on
   the LinkProperties as well to make things a bit more
   realistic.

2. Constructs the VpnConfig when registering the agent, not when
   the MockVpn is created. This is needed because starting and
   stopping lockdown VPN calls prepare, which nulls out mConfig.
   But constructing the VpnConfig when registering the agent is
   more realistic anyway. The production code does that in
   establish, but we can't do that in ConnectivityServiceTest
   because some of the test cases don't call establish and call
   registerAgent directly.

Bug: 173331190
Test: atest FrameworksNetTests
Change-Id: I827543751dbf5e626a24ec02cd6f50b423f5f761

Lorenzo Colitti   commited 2020-12-15 21:08:20 +09:00
bb6b62a41e
Merge changes from topic "tcp_keepalive_fix" am: 3a86e4690e am: 559e7604e6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1494039

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Idedfa2e8237109824683a9923079b02835c39acc

Remi NGUYEN VAN   authored and   Automerger Merge Worker   commited 2020-12-15 10:23:23 +00:00
2d843b4921
Add TcpKeepalivePacketData to SystemApi am: 11511b31f6 am: 349ba03274
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1494038

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic764adda49e414e6ed34a101fd83c3fc62f5734c

Remi NGUYEN VAN   authored and   Automerger Merge Worker   commited 2020-12-15 10:23:21 +00:00
7240fd9ea1
Merge changes from topic "tcp_keepalive_fix" am: 3a86e4690e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1494039

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic9e330a2bd8dbb701db0e5b73c1954670d4988fc

Remi NGUYEN VAN   authored and   Automerger Merge Worker   commited 2020-12-15 09:41:42 +00:00
559e7604e6
Add TcpKeepalivePacketData to SystemApi am: 11511b31f6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1494038

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibe3df65b4e12ecda5d95737f3b1ea18dabc2461d

Remi NGUYEN VAN   authored and   Automerger Merge Worker   commited 2020-12-15 09:38:38 +00:00
349ba03274
Move phone ID to extra for action provision
Previously, the phone ID was appended to the broadcast in DCT and sent
to ConnectivityManager. Instead of sending both as an action, send the
phone ID as an extra instead to make the action a protected broadcast.

Test: manually verify a SecurityException when action provision is sent
Test: atest DcTrackerTest
Bug: 172459128
Change-Id: Ic4129def86949d7191d15056852718dadbd72fba
Merged-In: Ic4129def86949d7191d15056852718dadbd72fba

Sarah Chin   commited 2020-12-15 01:10:27 -08:00
ef1dd4e469
Merge changes from topic "tcp_keepalive_fix"
* changes:
  Use API TcpKeepalivePacketData in ClientModeImpl
  Add TcpKeepalivePacketData to SystemApi

Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2020-12-15 09:02:55 +00:00
3a86e4690e
Merge "Remove hidden deprecated getActiveNetworkQuotaInfo" am: 6443bf4c41 am: 8413fe564e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527738

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic4d06df07e1ee4d856ceabff0a7928d04a19f29f

Chiachang Wang   authored and   Automerger Merge Worker   commited 2020-12-15 08:12:16 +00:00
53ffa8edac
Merge "Remove hidden deprecated getActiveNetworkQuotaInfo" am: 6443bf4c41
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527738

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia59544cd76712acdcc406f0f0391a0bbfe5c2f9e

Chiachang Wang   authored and   Automerger Merge Worker   commited 2020-12-15 07:39:15 +00:00
8413fe564e
Merge "Remove hidden deprecated getActiveNetworkQuotaInfo"
Chiachang Wang   authored and   Gerrit Code Review   commited 2020-12-15 07:02:54 +00:00
6443bf4c41
Remove hidden deprecated getActiveNetworkQuotaInfo
getActiveNetworkQuotaInfo has never been in API surface since it
was introduced. It became essentially functionless since android O,
so there should be no usage dependency upon the hidden method,
In order to support ConnectivityService mainline, remove the
useless function to prevent necessary dependency.

Bug: 172183305
Test: atest FrameworksNetTests
Change-Id: Ia685b3260256d465ef614b2f577d13344074c787

Chiachang Wang   commited 2020-12-15 06:45:50 +00:00
7fe67c1961
Merge "Add OWNERS for packages/Connectivity" am: 3efe49a31f am: 57ec33bb99
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527821

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia8636eac306c01778bdf79fa82fb9f4f7efe2db6

Treehugger Robot   authored and   Automerger Merge Worker   commited 2020-12-14 14:48:52 +00:00
6fe6e75fa1
Merge "Add OWNERS for packages/Connectivity" am: 3efe49a31f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527821

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifd4cf4bd8f333adab27eeceae4aa48a8bdee4c89

Treehugger Robot   authored and   Automerger Merge Worker   commited 2020-12-14 14:38:13 +00:00
57ec33bb99
Merge "Add OWNERS for packages/Connectivity"
Treehugger Robot   authored and   Gerrit Code Review   commited 2020-12-14 14:12:36 +00:00
3efe49a31f
Use API TcpKeepalivePacketData in ClientModeImpl
Instead of statically linking against and jarjaring
TcpKeepalivePacketData, use the new android.net.TcpKeepalivePacketData
API for S. On R, build the KeepalivePacketDataParcelable from the base
KeepalivePacketData class.

The current ClientModeImpl code that uses a statically linked
TcpKeepalivePacketData is actually broken, as since R the system_server
has been sending a @hide android.net.TcpKeepalivePacketData, and
ClientModeImpl was testing it against com.android.wifi.x.android.net.*.
To fix this on R, this change rebuilds a
TcpKeepalivePacketDataParcelable class from the packet data included in
the base KeepalivePacketData class.

Bug: 172789687
Test: atest ConnectivityManagerTest#testCreateTcpKeepalive
      See associated test change
Change-Id: Ia32b4444dbf90306b2cfd37ec13d4ba4e90cd1e8

Remi NGUYEN VAN   commited 2020-12-14 18:43:53 +09:00
993306ed6b
Add TcpKeepalivePacketData to SystemApi
This is consistent with NattKeepalivePacketData, which is also a
subclass of KeepalivePacketData.

TcpKeepalivePacketData is already used by the wifi module, but
statically linked.

Bug: 172789687
Test: m
Change-Id: I6aee1ae205987521bea4a3838bbece279ffa0e37

Remi NGUYEN VAN   commited 2020-12-14 18:43:44 +09:00
11511b31f6
Add OWNERS for packages/Connectivity
In preparation of future modularization of connectivity classes, a large
part of frameworks/base/services/net is planned to be moved to
packages/modules/Connectivity. However moving each class "manually"
to that git project would lose their commit history, and require many
cross-repository topics.

To facilitate the work, create frameworks/base/packages/Connectivity,
which will be used to move the classes at first, before they can all be
moved together with their history to packages/modules/Connectivity. This
mirrors the procedure used for NetworkStack, Tethering,
CaptivePortalLogin, etc. previously.

The added OWNERS file just imports owners from the previous file
location.

Bug: 171540887
Test: m
Change-Id: Ic1c0dbbe8c1f07582c04757ced0ead2fc5b10ca7

Remi NGUYEN VAN   commited 2020-12-14 18:34:39 +09:00
afebd5c3fe
Merge "Generalize support for underlying networks." am: ca830d9239 am: 51c973d4b7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513052

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4748f059d035219adcec0a75dac53968ea82af84

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2020-12-14 06:11:47 +00:00
2be66008a0
Merge "Fix a crash in eng builds" am: 26d146ff7f am: 99890b486d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527538

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If9e83003de2a3a0b227ca558264403be312fa1e6

Treehugger Robot   authored and   Automerger Merge Worker   commited 2020-12-14 06:11:21 +00:00
f65b271328
Merge "Generalize support for underlying networks." am: ca830d9239
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513052

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia252eb29dbccb0105c3f4a46c7597abb56de0c21

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2020-12-14 05:59:51 +00:00
51c973d4b7
Merge "Fix a crash in eng builds" am: 26d146ff7f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1527538

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I245a8498d89e73fefa448a23d71a30d3f34b56ca

Treehugger Robot   authored and   Automerger Merge Worker   commited 2020-12-14 05:50:17 +00:00
99890b486d
Merge "Generalize support for underlying networks."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2020-12-14 05:19:49 +00:00
ca830d9239
Merge "Fix a crash in eng builds"
Treehugger Robot   authored and   Gerrit Code Review   commited 2020-12-14 05:17:15 +00:00
26d146ff7f
Merge "Resolve UidRange dependency between NMS and CS module" am: c5be33af21 am: 8a3181b166
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1495869

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If34efef1e3b485de6c93f78c4401ea92fa8edfe4

Chiachang Wang   authored and   Automerger Merge Worker   commited 2020-12-14 03:49:42 +00:00
2ec8e8071a
Merge "Resolve UidRange dependency between NMS and CS module" am: c5be33af21
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1495869

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2e55c3c4bed3d71eb48242428c179809aae00a1f

Chiachang Wang   authored and   Automerger Merge Worker   commited 2020-12-14 03:10:01 +00:00
8a3181b166
Merge "Resolve UidRange dependency between NMS and CS module"
Chiachang Wang   authored and   Gerrit Code Review   commited 2020-12-14 02:55:41 +00:00
c5be33af21
Fix a crash in eng builds
CAPTIVE_PORTAL is a CS-managed capability, and causes CS to log a wtf.
When this test is run on an eng build, this sends SIGSEGV to the test,
which is pretty difficult to debug.

Test: FrameworksNetTests NetworkStackTests
Change-Id: I72fc46a6daa4e886425b4dc967318cca9f1a5302

Chalard Jean   commited 2020-12-13 23:02:08 +09:00
8fb84150bf
Generalize support for underlying networks.
Currently, ConnectivityService assumes that only VPNs can have
underlying networks. Make the code decide this based only on the
return value of NetworkAgentInfo#supportsUnderlyingNetworks.
This allows non-VPN network types to support underlying networks
in the future.

This requires storing the original agent's capabilities in
NetworkAgentInfo so that applyUnderlyingCapabilities can mix in
the underlying network capabilities without overwriting the
capabilities of the network itself. Currently, the only
information that applyUnderlyingCapabilities takes from the
original agent's capabilities are the metered bit (stored in
NetworkAgentInfo#declaredMetered) and the transports (assumed to
be exactly {TRANSPORT_VPN}. Store the full capabilities instead.
This is more state than needed but it ensures that we do not need
to make any changes if in the future we want to propagate new
types of information from the underlying networks.

This should have no impact on current use cases (i.e., VPNs).

There is a change in ordering: in disconnectAndDestroyNetwork,
the new code propagates underlying network capabilities before
removing the network from LegacyTypeTracker, instead of after.

This is done to simplify the new code. When the new code
propagates underlying network capabilities in response to a
change for a particular network (e.g., connect, disconnect,
capabilities change), it only considers networks that have the
changed network as underlying. Because determining the
underlying networks requires knowing the default network,
the new code runs before the default network is changed and
LegacyTypeTracker is updated.

This shouldn't have app implications because the connectivity
broadcasts sent by LegacyTypeTracker and the callbacks cannot be
ordered, since they run on separate threads with unpredictable
delays. The capability change callbacks resulting from
propagation of underlying network capabilities were already
sent before the rematch, so the callbacks themselves are not
reordered in any way.

Bug: 173331190
Test: atest FrameworksNetTests \
            CtsNetTestCases:NetworkAgentTest \
	    CtsNetTestCases:Ikev2VpnTest \
	    CtsNetTestCases:VpnServiceTest \
	    CtsNetTestCases:android.net.cts.ConnectivityDiagnosticsManagerTest \
	    HostsideVpnTests com.android.server.connectivity.VpnTest
Change-Id: Ic5353a928a3a3541dcf953c35f47277c5e295db8

Lorenzo Colitti   commited 2020-12-13 00:10:56 +09:00
01d3763c5e
Merge "Replace PackageManager @hide APIs" am: dddbd4f495 am: 7ebc0f1ab3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1523340

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I018004ee98ac6b9fada57972ca2affeb94ef4956

Paul Hu   authored and   Automerger Merge Worker   commited 2020-12-11 10:49:04 +00:00
088de50335
Merge "Replace PackageManager @hide APIs" am: dddbd4f495
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1523340

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id4e2fab962ba401f2c941c58c0eb2210a8f835e7

Paul Hu   authored and   Automerger Merge Worker   commited 2020-12-11 10:05:38 +00:00
7ebc0f1ab3
Merge "Replace PackageManager @hide APIs"
Paul Hu   authored and   Gerrit Code Review   commited 2020-12-11 09:50:28 +00:00
dddbd4f495
Merge "Expose TcpRepairWindow as module-lib API" am: ec942a8e70 am: 3988f15290
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1519961

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7a125dfa9b4bccc9e8943c4b972ff8cb25d4ccaf

Paul Hu   authored and   Automerger Merge Worker   commited 2020-12-11 06:31:07 +00:00
3bee0fbcc8
Merge "Expose TcpRepairWindow as module-lib API" am: ec942a8e70
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1519961

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2621e4f244e70dfdbd6e6e228f9c6401326fc56a

Paul Hu   authored and   Automerger Merge Worker   commited 2020-12-11 06:15:36 +00:00
3988f15290
Merge "Expose TcpRepairWindow as module-lib API"
Paul Hu   authored and   Gerrit Code Review   commited 2020-12-11 05:37:10 +00:00
ec942a8e70
Merge changes from topic "remove_legacy_NA" am: 71ab824707 am: a698a47ada
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1456097

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I87cc62579b19699438704f472fc754837d878038

Chalard Jean   authored and   Automerger Merge Worker   commited 2020-12-11 03:29:50 +00:00
7ba18da6b6
Merge "Use getUserHandles() instead of getUsers() to get user id" am: df93f1c06c am: 7936252059
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513050

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id16394df0ad8e97efe8e75c00a406242a1cac206

Lucas Lin   authored and   Automerger Merge Worker   commited 2020-12-11 03:29:25 +00:00
865683a998
Merge changes from topic "remove_legacy_NA" am: 71ab824707
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1456097

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I141e67982f1119d5fc700ed2cb75e2f8220f5383

Chalard Jean   authored and   Automerger Merge Worker   commited 2020-12-11 02:40:14 +00:00
a698a47ada
Merge "Use getUserHandles() instead of getUsers() to get user id" am: df93f1c06c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1513050

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6e03c6f4317e11ffe64b7bcf170f70f535995e85

Lucas Lin   authored and   Automerger Merge Worker   commited 2020-12-11 02:37:54 +00:00
7936252059
Merge changes from topic "remove_legacy_NA"
* changes:
  Remove support for legacy network agents
  Remove deprecated constructors for NetworkAgent
  Migrate NetworkAgentWrapper to the new NA API
  Cleanup TestNetworkService

Chalard Jean   authored and   Gerrit Code Review   commited 2020-12-11 02:32:57 +00:00
71ab824707
Merge "Use getUserHandles() instead of getUsers() to get user id"
Lucas Lin   authored and   Gerrit Code Review   commited 2020-12-11 02:02:37 +00:00
df93f1c06c
nits removing extra space, change method name, etc
Minor cleanup as per nit comments on approved CLs in the relation chain.

Namely:
- removing an extranous space
- changing requestsSortedById() to be package private
- changing releaseNetworkRequest() name to releaseNetworkRequests()
- adding final in a couple spots
- added some test requests in testDumpDoesNotCrash()

Bug: 173145245
Bug: 173292541
Bug: 173146509
Bug: 171991028
Test: atest FrameworksNetTests
Change-Id: I177ec6072a44acd247022b65b56e90cc231094b9

James Mattis   commited 2020-12-10 10:01:52 -08:00
c449dde8b4
maybeLogBlockedStatusChanged multilayer requests
Updating maybeLogBlockedStatusChanged logging so that it outputs the
currently active request's information as part of the multilayared
requests updates.

Bug: 173145245
Bug: 171991028
Test: atest FrameworksNetTests
Change-Id: I68f364b457e0e5ac8f47df4a4356e4bc25360bca

James Mattis   commited 2020-12-10 10:01:47 -08:00
ba0ad1be31
Update getSignalStrengthThresholds for multilayer
Update ConnectivityService.getSignalStrengthThresholds so that
thresholds are created for multilayer requests.

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

Change-Id: Ib3b9f52cf371efd1c7d9b176565c7ea8c46375f1

James Mattis   commited 2020-12-10 10:00:02 -08:00
9301a9ae2d
Update to unneeded for multilayered requests
Update to ConnectivityService.unneeded in order to support multilayered
requests.

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

Change-Id: If040d61e33d86a9f9bbc7d50ead596d210a4f82c

James Mattis   commited 2020-12-10 10:00:02 -08:00
e4e72bb324
Merge "Add a mutability flag to the PendingIntent" am: e5046ca23b am: 590c8766b6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1505734

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I55e12c551a3a80853cd186c20fc97a57f6a86090

Treehugger Robot   authored and   Automerger Merge Worker   commited 2020-12-10 16:42:46 +00:00
a97a84a6cf
Merge "Address leftover comments" am: 6e253df579 am: 3b29da5cf7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1495899

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I03a2140e5574088fd0768e3ac8e3f47e54c98b6d

Paul Hu   authored and   Automerger Merge Worker   commited 2020-12-10 16:32:51 +00:00
3bd18cce4a
Merge "Add a mutability flag to the PendingIntent" am: e5046ca23b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1505734

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Idd6c05fbe1fee9c1e3858ef1d52da9dc8c8c7366

Treehugger Robot   authored and   Automerger Merge Worker   commited 2020-12-10 16:32:39 +00:00
590c8766b6
Merge "Add a mutability flag to the PendingIntent"
Treehugger Robot   authored and   Gerrit Code Review   commited 2020-12-10 16:27:58 +00:00
e5046ca23b
Merge "Address leftover comments" am: 6e253df579
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1495899

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0e2439670745ab19220e6cd44e6a62de5f61b842

Paul Hu   authored and   Automerger Merge Worker   commited 2020-12-10 16:13:09 +00:00
3b29da5cf7
Merge "Address leftover comments"
Paul Hu   authored and   Gerrit Code Review   commited 2020-12-10 15:47:27 +00:00
6e253df579