Commit Graph

6759 Commits

Author SHA1 Message Date
Xiao Ma
47fa3fca31 Merge "Clean up the arguments annotation and verify items on IpMemoryStoreTest." am: 51aef6fe7b
am: ebcdd2ee7a

Change-Id: I1db13a48b59d743482436ecf8a20d7f12edd6e1c
2019-05-10 08:45:30 -07:00
Chalard Jean
d2ed1cfdeb [automerger skipped] Merge "Support strict mode private DNS on VPNs that provide Internet." into qt-dev
am: 5c31d4ff79 -s ours
am skip reason: change_id Iaa78a7edcf23755c89d7b354edbc28d37d74d891 with SHA1 ac456b2f36 is in history

Change-Id: I83461198c27a7252d5328283ae37cd52f3902863
2019-05-10 08:41:39 -07:00
Xiao Ma
ebcdd2ee7a Merge "Clean up the arguments annotation and verify items on IpMemoryStoreTest."
am: 51aef6fe7b

Change-Id: Ifbd359f9fec530076f3216c171120436ed4221a6
2019-05-10 08:33:48 -07:00
Xiao Ma
51aef6fe7b Merge "Clean up the arguments annotation and verify items on IpMemoryStoreTest." 2019-05-10 15:16:33 +00:00
Aaron Huang
1528ecf226 Merge "Send message to add/remove NAT-T keepalive packet filter." am: 44f2e077ad
am: 384e7bfe73

Change-Id: I7c6bd151cd79309fb5e6869fd83a800e7425581a
2019-05-10 07:30:01 -07:00
Aaron Huang
384e7bfe73 Merge "Send message to add/remove NAT-T keepalive packet filter."
am: 44f2e077ad

Change-Id: I3e35d73a38cfbd0a29ad3f1f859b2d6fdb514ff1
2019-05-10 07:19:27 -07:00
Aaron Huang
44f2e077ad Merge "Send message to add/remove NAT-T keepalive packet filter." 2019-05-10 13:57:11 +00:00
Chalard Jean
caefc43336 Support strict mode private DNS on VPNs that provide Internet.
Currently, strict mode private DNS does not work on VPNs because
NetworkMonitor does not validate VPNs. When a VPN connects, it
immediately transitions to ValidatedState, skipping private DNS
hostname resolution.

This change makes NetworkMonitor perform private DNS hostname
resolution and evaluation even on VPNs.

In order to ensure that the system always immediately switches to
the VPN as soon as it connects, remove the unvalidated penalty
for VPN networks. This ensures that the VPN score is always 101
and the VPN always outscores other networks as soon as it
connects. Previously, it would only outscore other networks
when no-op validation completed.

Bug: 122652057
Test: atest FrameworksNetTests NetworkStackTests
Test: manually ran a VPN with private DNS in strict mode
atest android.net.cts.ConnectivityManagerTest com.android.cts.net.HostsideVpnTests
Change-Id: Iaa78a7edcf23755c89d7b354edbc28d37d74d891
Merged-In: Iaa78a7edcf23755c89d7b354edbc28d37d74d891
(cherry picked from commit 414b8c8b1ce8ae2ad6ef95c1ffba19062077d3e6)
2019-05-10 13:09:00 +00:00
Chalard Jean
1a26465d92 Merge "Support strict mode private DNS on VPNs that provide Internet." am: faf2bd1a23
am: 19df6b6b6d

Change-Id: I28cc679def7cdd4dc5187e65f4524c3998ebcafc
2019-05-10 04:33:43 -07:00
Chalard Jean
19df6b6b6d Merge "Support strict mode private DNS on VPNs that provide Internet."
am: faf2bd1a23

Change-Id: I6522706917731a944483ad3cb9cdbc20447be6c2
2019-05-10 03:58:01 -07:00
Xiao Ma
8fb6b01472 [automerger skipped] Merge "adopt non-blocking method to obtain the IpMemoryStore service." into qt-dev
am: 29510ea4d8 -s ours
am skip reason: change_id I7de4f23370bdf9c9df5e74ed074c794080d93d95 with SHA1 24f9431d23 is in history

Change-Id: I82ccab369a264ac6e7629a83d0ed9b1dbca67725
2019-05-10 02:44:47 -07:00
Chalard Jean
faf2bd1a23 Merge "Support strict mode private DNS on VPNs that provide Internet." 2019-05-10 09:39:17 +00:00
Paul Hu
08b069e20c Merge "Add LinkProperties common test cases" am: 87794b0fde
am: 8311f56e69

Change-Id: I8d36177cbf4f39da602331e091a60a40f6eaea33
2019-05-10 02:20:04 -07:00
Junyu Lai
8bb3db8837 Merge changes Ibcb91105,I0218f367 am: c797cf56ca
am: 0d58710edf

Change-Id: Ia667386c1a8949839871a6949d79552d9c8b88f0
2019-05-10 02:13:34 -07:00
Paul Hu
8311f56e69 Merge "Add LinkProperties common test cases"
am: 87794b0fde

Change-Id: I8f856d3851458e2a3f32034c9b9e1395123e0f89
2019-05-10 01:18:33 -07:00
Junyu Lai
0d58710edf Merge changes Ibcb91105,I0218f367
am: c797cf56ca

Change-Id: I4972d42657aa118e17240546c223723ed7b546ec
2019-05-10 01:14:05 -07:00
Xiao Ma
b05101d4a5 Clean up the arguments annotation and verify items on IpMemoryStoreTest.
Bug: 131133347
Test: atest FrameworksNetTests
Change-Id: I371e7b637ab1c2671f0378508b06adff174f024d
2019-05-10 15:42:33 +09:00
Junyu Lai
4c266685b3 Merge changes Ibff278a6,If6d537a3 am: 6eaf680338
am: becb2a3e86

Change-Id: Ic51f3b32375378ff74bdd54d1f36569b277fc80f
2019-05-09 23:30:19 -07:00
Paul Hu
87794b0fde Merge "Add LinkProperties common test cases" 2019-05-10 05:55:11 +00:00
Junyu Lai
c797cf56ca Merge changes Ibcb91105,I0218f367
* changes:
  Limit unprivileged keepalives per uid
  Support customization of supported keepalive count per transport
2019-05-10 05:47:23 +00:00
Lorenzo Colitti
ac456b2f36 Support strict mode private DNS on VPNs that provide Internet.
Currently, strict mode private DNS does not work on VPNs because
NetworkMonitor does not validate VPNs. When a VPN connects, it
immediately transitions to ValidatedState, skipping private DNS
hostname resolution.

This change makes NetworkMonitor perform private DNS hostname
resolution and evaluation even on VPNs.

In order to ensure that the system always immediately switches to
the VPN as soon as it connects, remove the unvalidated penalty
for VPN networks. This ensures that the VPN score is always 101
and the VPN always outscores other networks as soon as it
connects. Previously, it would only outscore other networks
when no-op validation completed.

Bug: 122652057
Test: atest FrameworksNetTests NetworkStackTests
Test: manually ran a VPN with private DNS in strict mode
atest android.net.cts.ConnectivityManagerTest com.android.cts.net.HostsideVpnTests
Change-Id: Iaa78a7edcf23755c89d7b354edbc28d37d74d891
2019-05-10 14:30:54 +09:00
Junyu Lai
becb2a3e86 Merge changes Ibff278a6,If6d537a3
am: 6eaf680338

Change-Id: If1d215b0fae85bfeeb5b6190abf4e4dc841912e5
2019-05-09 21:32:10 -07:00
Treehugger Robot
6eaf680338 Merge changes Ibff278a6,If6d537a3
* changes:
  Revert "Add NATT keepalive resources and methods into IpSecService"
  Revert "[KA11] Verify fd ownership and allocate resource for NattKeepalive"
2019-05-10 01:42:26 +00:00
Xin Li
4c3aa0b676 [automerger skipped] Merge "DO NOT MERGE - Merge Pie Bonito/Sargo into master." am: eee52ba403 -s ours
am: 85b76641ff -s ours
am skip reason: subject contains skip directive

Change-Id: I27cf7d7b751417bac1087a3778e012076c0e66c6
2019-05-09 17:57:48 -07:00
Xiao Ma
4491362702 adopt non-blocking method to obtain the IpMemoryStore service.
Bug: 131133347
Test: atest FrameworksNetTests
Merged-In: I7de4f23370bdf9c9df5e74ed074c794080d93d95
Merged-In: If0d43f21710ca31149610d3e6a5f0d7e4acc11a2

Change-Id: If0d43f21710ca31149610d3e6a5f0d7e4acc11a2
(cherry picked from commit c4e4fd7beeda36c84548c7bb4a16312f20bdf188)
2019-05-10 00:55:14 +00:00
Xin Li
26c902b13a [automerger skipped] DO NOT MERGE - Merge Pie Bonito/Sargo into master. am: 2a49c8de07 -s ours
am: ca23b01714 -s ours
am skip reason: subject contains skip directive

Change-Id: I862d40111b2e525e5838bf09e169c8c3f416633b
2019-05-09 17:16:31 -07:00
Xin Li
85b76641ff [automerger skipped] Merge "DO NOT MERGE - Merge Pie Bonito/Sargo into master."
am: eee52ba403 -s ours
am skip reason: subject contains skip directive

Change-Id: Id9cffb46751533cdd19a71577bf4dddea6219ddb
2019-05-09 16:46:13 -07:00
Xin Li
ca23b01714 [automerger skipped] DO NOT MERGE - Merge Pie Bonito/Sargo into master.
am: 2a49c8de07 -s ours
am skip reason: subject contains skip directive

Change-Id: Ib109cf35cae4b70ac762f9f3d4951968cfa91e9e
2019-05-09 15:56:19 -07:00
Xin Li
eee52ba403 Merge "DO NOT MERGE - Merge Pie Bonito/Sargo into master." 2019-05-09 22:05:45 +00:00
Junyu Lai
9bb90ad13e Merge "Clean up the keepalive slots when network disconnect" am: d3f8253db4
am: 015f800edf

Change-Id: Id3e4e159713c0ed7e03f45169e87b73ae6408e4f
2019-05-09 13:24:32 -07:00
Junyu Lai
015f800edf Merge "Clean up the keepalive slots when network disconnect"
am: d3f8253db4

Change-Id: I2cedf5752d37f96337ab69d94534cb7745e8efa3
2019-05-09 12:29:16 -07:00
Junyu Lai
d3f8253db4 Merge "Clean up the keepalive slots when network disconnect" 2019-05-09 18:53:03 +00:00
junyulai
a83c9f38a6 Clean up the keepalive slots when network disconnect
In general, keepalive slots are released after result of
stopping has returned. However, for network disconnect case,
the service side cannot communicate with network agent since
the async channel is broken.

Clean up keepalive slots right after stop in this case.

Bug: 132341736
Test: 1. atest com.android.server.ConnectivityServiceTest \
         #testNattSocketKeepalives --generate-new-metrics 100
      2. atest FrameworksNetTests --generate-new-metrics 10

Change-Id: Ia30741f71fa72fc117e071976fd73991fa3c9535
2019-05-09 17:16:17 +00:00
Junyu Lai
23409e34b4 Revert "Add NATT keepalive resources and methods into IpSecService"
This reverts commit cece56e3ce.

Reason for revert: Adds dependency between IpSecService and
                   ConnectivityService may lead to future deadlock
		   problems. Uses a simpler approach instead,
		   hence the solution is not needed.
		   See aosp/954040.

Change-Id: Ibff278a6eee666cd85dba81c2bed94d568679b02
2019-05-10 00:58:18 +08:00
junyulai
1f8bf657bb Limit unprivileged keepalives per uid
Public APIs for creating unprivileged NATT socket keepalive
might allow users to exhaust resource if malicious apps try
to create keepalives with fd which is not created by
IpSecService through binder call. Thus, this change add
customizable limitation per uid to prevent resource exhaustion
attack.

Bug: 129371366
Bug: 132307230
Test: atest FrameworksNetTests
Change-Id: Ibcb91105e46f7e898b8aa7c2babc3344ef2c6257
2019-05-10 00:36:58 +08:00
junyulai
15e26fb485 Support customization of supported keepalive count per transport
This change specifies the required minimum supported keepalives
in SDK, and allows OEMs to customize supported keepalive count
per network through resource overlay.

Bug: 129371366
Test: 1. m -j doc-comment-check-docs
      2. atest FrameworksNetTests

Change-Id: I0218f3674628c13ead63fc9a873895ba7f113033
2019-05-10 00:36:58 +08:00
Xin Li
2a49c8de07 DO NOT MERGE - Merge Pie Bonito/Sargo into master.
Bug: 131756210
Change-Id: I77a701deda4935526ad452564f9bda77af345f46
2019-05-09 09:27:04 -07:00
Xiao Ma
fe5a12d94e Merge "adopt non-blocking method to obtain the IpMemoryStore service." am: 6c6c6272dd
am: bec60862c4

Change-Id: If0d43f21710ca31149610d3e6a5f0d7e4acc11a2
2019-05-09 04:55:13 -07:00
Xiao Ma
bec60862c4 Merge "adopt non-blocking method to obtain the IpMemoryStore service."
am: 6c6c6272dd

Change-Id: Idd6110141795f86dcf28eafab87683eda4c70b93
2019-05-09 04:43:33 -07:00
Xiao Ma
6c6c6272dd Merge "adopt non-blocking method to obtain the IpMemoryStore service." 2019-05-09 11:30:56 +00:00
Lorenzo Colitti
3320e8aa51 [automerger skipped] Merge "[CS] Unregister callback as part of onUnavailable dispatch" into qt-dev
am: d9b68e236b -s ours
am skip reason: change_id I4c54b003a733eb0b1e4fd8674ed13081b1bef8e3 with SHA1 e0e2ca979c is in history

Change-Id: I3a61f64da1fc5d376da06a81ce8a35bac09d4481
2019-05-09 02:57:25 -07:00
Lorenzo Colitti
d9b68e236b Merge "[CS] Unregister callback as part of onUnavailable dispatch" into qt-dev 2019-05-09 09:42:38 +00:00
paulhu
790924f163 Add LinkProperties common test cases
Bug: 129198747
Test: atest FrameworksNetTests
Test: atest CtsNetTestCases: added tests pass
Change-Id: I15b8dbd060c313d0f2be89fed4518c18b3196d38
2019-05-09 15:49:00 +08:00
Etan Cohen
095e5675df Merge "[CS] Unregister callback as part of onUnavailable dispatch" am: 3b9087c59f
am: b0e0a62bf6

Change-Id: Ida684c441e7aaedce9a29da071ef5a68403d08b3
2019-05-08 22:42:55 -07:00
Etan Cohen
b0e0a62bf6 Merge "[CS] Unregister callback as part of onUnavailable dispatch"
am: 3b9087c59f

Change-Id: I14d3c0f6c606020bd1d1e756174a66ee933cb15f
2019-05-08 22:13:00 -07:00
Lorenzo Colitti
3722a21b31 Merge "Add IPsec checks for IPSEC_TUNNEL feature" into qt-dev
am: 44d474d7c7

Change-Id: I9bd0fa3958c63a148af98abfe7cc6e4301cf01c2
2019-05-08 21:20:19 -07:00
Etan Cohen
83ab6999c8 [CS] Unregister callback as part of onUnavailable dispatch
The onUnavailable semantics promise that it is equivalent to calling
the unregister callback method. But - it doesn't unregister the callback
allowing it to be reused. Fixed.

Additionally, modified the unregisterNetworkCallback method to not fail
on duplicate unregistration (since a callback could now self
unregister). Instead simply print a log.

Bug: 130651445
Test: atest ConnectivityServiceTest
Merged-In: I4c54b003a733eb0b1e4fd8674ed13081b1bef8e3
Change-Id: I4c54b003a733eb0b1e4fd8674ed13081b1bef8e3
2019-05-09 03:57:54 +00:00
Etan Cohen
3b9087c59f Merge "[CS] Unregister callback as part of onUnavailable dispatch" 2019-05-09 03:57:29 +00:00
Etan Cohen
e0e2ca979c [CS] Unregister callback as part of onUnavailable dispatch
The onUnavailable semantics promise that it is equivalent to calling
the unregister callback method. But - it doesn't unregister the callback
allowing it to be reused. Fixed.

Additionally, modified the unregisterNetworkCallback method to not fail
on duplicate unregistration (since a callback could now self
unregister). Instead simply print a log.

Bug: 130651445
Test: atest ConnectivityServiceTest
Change-Id: I4c54b003a733eb0b1e4fd8674ed13081b1bef8e3
2019-05-09 02:41:40 +00:00
Xiao Ma
24f9431d23 adopt non-blocking method to obtain the IpMemoryStore service.
Test: atest FrameworksNetTests
Change-Id: I7de4f23370bdf9c9df5e74ed074c794080d93d95
2019-05-09 10:39:50 +09:00