Commit graph android_packages_modules_Co.../tests/net/java/com/android
Message SHA1
Revert "Take all VPN underlying networks into account when migrating traffic for"
am: 4c94d3051d

Change-Id: Ie9e830962e702c5e66faa7239e6c5037ed3d791d

Benedict Wong   authored and   android-build-merger   commited 2019-06-07 02:33:33 -07:00
e3f39c01ba
Revert "NetworkStatsService: Fix getDetailedUidStats to take VPNs into account."
am: ebf6303f1d

Change-Id: I9bf180aca56a8b5e2c5262beabac3ceaa9b00315

Benedict Wong   authored and   android-build-merger   commited 2019-06-07 02:33:30 -07:00
74804a8abd
Revert "Addressing comments for http://ag/7700679."
am: a293c0644b

Change-Id: I56e7736ced431a5dcd78a6a258abfad09745d25e

Benedict Wong   authored and   android-build-merger   commited 2019-06-07 02:33:26 -07:00
ec59f5f187
Revert "Add one more test for VPN usage stats."
am: f97132185a

Change-Id: I72ae3f9575fe954f4f1db4b85b0f19d15448fbbf

Benedict Wong   authored and   android-build-merger   commited 2019-06-07 02:33:21 -07:00
0d88389136
Revert "Take all VPN underlying networks into account when migrating traffic for"
This reverts commit 97482de1fd.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: Ibdaad3a4cbf0d8ef1ed53cfab1e454b9b878bae9

Benedict Wong   authored and   Lorenzo Colitti   commited 2019-06-07 09:18:01 +00:00
4c94d3051d
Revert "NetworkStatsService: Fix getDetailedUidStats to take VPNs into account."
This reverts commit e7094673d5.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: I0c00e8f0e30cee987b71b561079a97bf09d4dae4

Benedict Wong   authored and   Lorenzo Colitti   commited 2019-06-07 09:17:47 +00:00
ebf6303f1d
Revert "Addressing comments for http://ag/7700679."
This reverts commit 78d5ac4f8f.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: I5fbb3443a39a21fc9d96442726cd10d20e8d61cd

Benedict Wong   authored and   Lorenzo Colitti   commited 2019-06-07 09:17:31 +00:00
a293c0644b
Revert "Add one more test for VPN usage stats."
This reverts commit 20204cdf6a.

Reason for revert: This change has been implicated in 4-way deadlocks as seen in b/134244752.

Bug: 134244752
Change-Id: I64b48d575f2e6ec4cb7d2d100a859a30af0501dc

Benedict Wong   authored and   Lorenzo Colitti   commited 2019-06-07 09:16:48 +00:00
f97132185a
Always give VPN the INTERNET capability.
Split-tunnel VPN (which are the only ones affected by this change)
always fall through to the default network for routes they don't
handle, and even if the underlying network(s) don't provide access
this may be a pinhole that can actually reach the broader network.

In practice this behaves like the original release of P and is the
safest thing to do for Q. In R we should evaluate giving the VPN
app the ability to simply tell the network stack whether it does
provide Internet access or not.

Bug: 119216095
Test: FrameworksNetTests NetworkStackTests
Change-Id: I262ca41fe0225660551c9a421562405366b6acac
Merged-In: I262ca41fe0225660551c9a421562405366b6acac
(cherry picked from commit 6d5a4a3b1d1c69eb8a542fecf5e8a306822c19b7)

Chalard Jean   authored and   Lorenzo Colitti   commited 2019-05-30 08:54:35 +00:00
5c7c1def90
Merge "Always give VPN the INTERNET capability." am: 8690e1f144
am: 6d5a4a3b1d

Change-Id: I144939e7197deec403d6c91f83b414d357190bd4

Chalard Jean   authored and   android-build-merger   commited 2019-05-30 01:54:33 -07:00
f5c5c81000
Merge "Always give VPN the INTERNET capability."
Chalard Jean   authored and   Gerrit Code Review   commited 2019-05-30 08:36:19 +00:00
8690e1f144
Always give VPN the INTERNET capability.
Split-tunnel VPN (which are the only ones affected by this change)
always fall through to the default network for routes they don't
handle, and even if the underlying network(s) don't provide access
this may be a pinhole that can actually reach the broader network.

In practice this behaves like the original release of P and is the
safest thing to do for Q. In R we should evaluate giving the VPN
app the ability to simply tell the network stack whether it does
provide Internet access or not.

Bug: 119216095
Test: FrameworksNetTests NetworkStackTests
Change-Id: I262ca41fe0225660551c9a421562405366b6acac

Chalard Jean   commited 2019-05-30 16:11:14 +09:00
318feaf1ed
Merge "NetworkStatAccess Should checkCarrierPrivileges cross all subscriptions" into qt-dev
TreeHugger Robot   authored and   Android (Google) Code Review   commited 2019-05-30 01:00:44 +00:00
a193937849
Merge "NetworkStatAccess Should checkCarrierPrivileges cross all subscriptions" am: 74f0698ce6
am: 4d206af049

Change-Id: Ib2d02bd3936ae112f62861c301d99582e0b998b0

Chen Xu   authored and   android-build-merger   commited 2019-05-29 10:43:06 -07:00
7c88e8a93c
NetworkStatAccess Should checkCarrierPrivileges cross all subscriptions
Bug: 133236378
Test: Manual
Change-Id: I49fbde1fe73b33aadcf8fd23ad224f363b137bf3
Merged-in: I49fbde1fe73b33aadcf8fd23ad224f363b137bf3

chen xu   authored and   Chen Xu   commited 2019-05-29 17:16:54 +00:00
381513f5e1
Merge "NetworkStatAccess Should checkCarrierPrivileges cross all subscriptions"
Chen Xu   authored and   Gerrit Code Review   commited 2019-05-29 17:15:41 +00:00
74f0698ce6
Merge changes from topic "vpn_data_accounting" into qt-dev
am: 071c178990

Change-Id: I234eb2b20f47bde94b4aba89867e9d1c7e9ee7d5

Varun Anand   authored and   android-build-merger   commited 2019-05-29 09:44:04 -07:00
141246d873
Merge changes from topic "vpn_data_accounting" into qt-dev
* changes:
  Add one more test for VPN usage stats.
  Addressing comments for http://ag/7700679.
  NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
  Take all VPN underlying networks into account when migrating traffic for VPN uid.

Varun Anand   authored and   Android (Google) Code Review   commited 2019-05-29 16:34:14 +00:00
071c178990
Merge "Add a common test library." am: 126a957df5
am: 4343cf32aa

Change-Id: I6104a1a677cb2e4978f11be32dfc604ee431d009

Chalard Jean   authored and   android-build-merger   commited 2019-05-29 05:38:21 -07:00
cb5344664b
Add one more test for VPN usage stats.
Covers the case where the majority of traffic through the VPN is
caused by the VPN app itself, and ensures that that traffic is
correctly attributed to the VPN app as opposed to spread between
the other apps that use the VPN.

Bug: 120145746
Test: atest NetworkStatsServiceTest
Change-Id: Iffd3f95fc2e11d311691a797b010edb38d2ef3c6

Lorenzo Colitti   commited 2019-05-29 19:57:43 +09:00
20204cdf6a
Addressing comments for http://ag/7700679.
Note, that its in a separate CL so we could cherry-pick this CL to aosp.
http://ag/7700679 is already in aosp.

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests

Change-Id: I7cfda226b4ed11b67002b83b38fba0f5caf96718

Varun Anand   authored and   Lorenzo Colitti   commited 2019-05-29 18:15:34 +09:00
78d5ac4f8f
NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
(cherry picked from commit 2af0b66aba)

This API is similar to one provided by NetworkStatsFactory with the
difference that NSS also migrates traffic from VPN UID to other apps.

Since traffic can only be migrated over NetworkStats delta, NSS
therefore maintains NetworkStats snapshot across all UIDs/ifaces/tags.

This snapshot gets updated whenever NSS records a new snapshot
(based on various hooks such as VPN updating its underlying networks,
network getting lost, etc.), or getDetailedUidStats API is invoked by
one of its callers.

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: manually verified that battery stats are migrating traffic off of
TUN (after patching above CL where we point BatteryStats to use this
API).

Change-Id: I4b8d7c5b6905a4a12c1806dfd35c2c4c63610404

Varun Anand   authored and   Lorenzo Colitti   commited 2019-05-29 18:15:24 +09:00
e7094673d5
Take all VPN underlying networks into account when migrating traffic for
VPN uid.

(cherry picked from commit 612520f544)

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: Manually verified on device that stats from VPN UID are moved
      appropriately based on its declared underlying network set.
Test: vogar --mode app_process --benchmark NetworkStatsBenchmark.java

Change-Id: I7f368c5970b2dcb969fe0daf5ef44edb1f51d09d

Varun Anand   authored and   Lorenzo Colitti   commited 2019-05-29 18:15:17 +09:00
97482de1fd
NetworkStatAccess Should checkCarrierPrivileges cross all subscriptions
Bug: 133236378
Test: Manual
Change-Id: I49fbde1fe73b33aadcf8fd23ad224f363b137bf3

chen xu   commited 2019-05-28 23:28:56 -07:00
d5e7114ee9
Let the system server have CONNECTIVITY_USE_RESTRICTED_NETWORKS.
Also :
- Fix testUidFilteringDuringVpnConnectDisconnectAndUidUpdates that
  was failing on devices with a first released SDK >= Q
- Add a test actually tests that the system has the permission, as
  the test was only testing what's in the mock

Bug: 119770201
Test: New test making sure this stays true
Merged-In: I74cf5f0fa17fcf818f1fed78c7e3e4375c20152e
Change-Id: I0daa644fbad8e389ad7cfa66c0e3b3480c8bb50a
(cherry picked from commit 629b49d58fe8d108a3d7d47a21471aff913c6b34)

Chalard Jean   commited 2019-05-28 13:30:14 +00:00
805327de42
Add a common test library.
This is the most common test library for Connectivity tests. It is
meant to be usable in framework tests, network stack tests, CTS,
GTS. To achieve that, it can only depend on framework classes.

Bug: none
Test: NetworkMonitorTest
Test: NsdManagerTest
Test: ConnectivityServiceTest
Test: OffloadControllerTest
Test: NetworkStatsObserversTest
Test: NetworkStatsServiceTest
(all the touched classes)

Change-Id: Ic47cbe7ba0e407145fa6bc49bb2adb3c5937dbc4

Chalard Jean   commited 2019-05-28 22:20:51 +09:00
e343bcc913
Merge "Let the system server have CONNECTIVITY_USE_RESTRICTED_NETWORKS." am: ce2f2fe2e8
am: c008c062fb

Change-Id: Ie70b2e7ce28e8e8c070d5b0929f1a6beb855da46

Chalard Jean   authored and   android-build-merger   commited 2019-05-28 05:47:17 -07:00
d79ebb08a3
Merge "Let the system server have CONNECTIVITY_USE_RESTRICTED_NETWORKS."
Chalard Jean   authored and   Gerrit Code Review   commited 2019-05-28 12:26:10 +00:00
ce2f2fe2e8
Let the system server have CONNECTIVITY_USE_RESTRICTED_NETWORKS.
Also :
- Fix testUidFilteringDuringVpnConnectDisconnectAndUidUpdates that
  was failing on devices with a first released SDK >= Q
- Add a test actually tests that the system has the permission, as
  the test was only testing what's in the mock

Bug: 119770201
Test: New test making sure this stays true
Change-Id: I74cf5f0fa17fcf818f1fed78c7e3e4375c20152e

Chalard Jean   commited 2019-05-27 16:35:22 +09:00
b807dd8884
Clean up for multiple validation result update
This is a follow-up commit for aosp/955431 to update commets
and minor updates in unit test.

Test: atest com.android.server.ConnectivityServiceTest#testCaptivePortalOnPartialConnectivity
Bug: 130683832
Change-Id: I581eae8daeddd2c4c186e7b40e27fef2aaa7ab43
Merged-In: I9087ef791b3fee5399ba8e83ef9d8a544845a4dd
Merged-In: I4424663292c5ad29eb7a888fa6975835721a5d2e
(cherry picked from commit 3d3a9fff7b7fa0df4ee627cb082668e642d6f754)

Chiachang Wang   commited 2019-05-27 00:54:53 +00:00
1be379bbb4
Merge "Clean up for multiple validation result update" am: 7a5b9c2d0a
am: 0d018cdaec

Change-Id: I4424663292c5ad29eb7a888fa6975835721a5d2e

Chiachang Wang   authored and   android-build-merger   commited 2019-05-25 02:53:44 -07:00
9ec2c725c8
Update multiple validation result to ConnectivityService
Once a network is determined to have partial connectivity, it
cannot go back to full connectivity without a disconnect. This
is because NetworkMonitor can only communicate either
PARTIAL_CONNECTIVITY or VALID, but not both. Thus, multiple
validation results allow ConnectivityService to know the real
network status.

Bug: 129662877
Bug: 130683832
Test: atest FrameworksNetTests
Test: atest NetworkStackTests
Test: atest --generate-new-metrics 50
NetworkStackTests:com.android.server.connectivity.NetworkMonitorTest
Test: Simulate partial connectvitiy
Change-Id: I406c9368617c03a2dd3ab15fb1f6dbf539d7c714
Merged-In: I243db4c406cca826e803c8035268bc0c6e6e01e2
(cherry picked from commit 4532abd4d2af9ad118873a63cafc6028ed87c52e)

Chiachang Wang   commited 2019-05-24 06:15:25 +00:00
dc07f26256
Merge "Update multiple validation result to ConnectivityService" am: 5af07137d7
am: a0e9af113c

Change-Id: I243db4c406cca826e803c8035268bc0c6e6e01e2

Chiachang Wang   authored and   android-build-merger   commited 2019-05-23 22:57:18 -07:00
2c593ec776
Clean up for multiple validation result update
This is a follow-up commit for aosp/955431 to update commets
and minor updates in unit test.

Test: atest com.android.server.ConnectivityServiceTest#testCaptivePortalOnPartialConnectivity
Bug: 130683832
Change-Id: I581eae8daeddd2c4c186e7b40e27fef2aaa7ab43

Chiachang Wang   commited 2019-05-24 03:29:56 +00:00
b8d3727aa1
Merge "Update multiple validation result to ConnectivityService"
Chiachang Wang   authored and   Gerrit Code Review   commited 2019-05-24 02:50:54 +00:00
5af07137d7
Merge "[CM] Fix NPE due to unvalidated callback value" am: 62790fbdfe
am: cc65a628eb

Change-Id: I5a6e2e92852f76251e8c1bfcd3c06c6773ec1fe4

Etan Cohen   authored and   android-build-merger   commited 2019-05-23 09:42:00 -07:00
a255662062
[CM] Fix NPE due to unvalidated callback value
Fix flaky test resulting from the above fix.

Bug: 132950880
Test: atest ConnectivityServiceTest
Merged-In: Ia2cc04b42288ea987483e5ab0e0a10093dc49502
Change-Id: Ia2cc04b42288ea987483e5ab0e0a10093dc49502
(cherry picked from commit cc65a628eb1172dc7b942d7f51b702099c15c23b)

Etan Cohen   commited 2019-05-23 16:23:13 +00:00
c8289e40a4
[CM] Fix NPE due to unvalidated callback value
When unregistering callback due to ON_UNAVAILABLE did not check for
a non-null callback.

Bug: 132950880
Test: atest ConnectivityServiceTest
Merged-In: Ib3fde31d88c36469cdee1e3578606d130a9817cb
Change-Id: Ib3fde31d88c36469cdee1e3578606d130a9817cb
(cherry picked from commit 51ddc176abd23bd3ddbc26124e5541a983a1db07)

Etan Cohen   commited 2019-05-23 16:20:15 +00:00
0da57a8b67
[CM] Fix NPE due to unvalidated callback value
Fix flaky test resulting from the above fix.

Bug: 132950880
Test: atest ConnectivityServiceTest
Change-Id: I1ddf3bb016239bf88cdd8843a71dcb5e582e83ac

Etan Cohen   commited 2019-05-23 08:16:20 -07:00
1f1bcb0b68
Update multiple validation result to ConnectivityService
Once a network is determined to have partial connectivity, it
cannot go back to full connectivity without a disconnect. This
is because NetworkMonitor can only communicate either
PARTIAL_CONNECTIVITY or VALID, but not both. Thus, multiple
validation results allow ConnectivityService to know the real
network status.

Bug: 129662877
Bug: 130683832
Test: atest FrameworksNetTests
Test: atest NetworkStackTests
Test: atest --generate-new-metrics 50
NetworkStackTests:com.android.server.connectivity.NetworkMonitorTest
Test: Simulate partial connectvitiy
Change-Id: I406c9368617c03a2dd3ab15fb1f6dbf539d7c714

Chiachang Wang   commited 2019-05-23 16:29:30 +08:00
eff1897661
Merge "[CM] Fix NPE due to unvalidated callback value" am: 43c1536c6b
am: 51ddc176ab

Change-Id: Idf439c1f6badd715776eaaced1a781b066ba6d37

Etan Cohen   authored and   android-build-merger   commited 2019-05-22 10:44:37 -07:00
2ab18250bb
[CM] Fix NPE due to unvalidated callback value
When unregistering callback due to ON_UNAVAILABLE did not check for
a non-null callback.

Bug: 132950880
Test: atest ConnectivityServiceTest
Change-Id: I8f3322963f322e6690f1403681bf66e8b38b35f8

Etan Cohen   commited 2019-05-22 04:56:09 +00:00
b58e366f2d
Clean up the permission control code in framework
Delete the unused NetworkManagementService API for set/remove
permissions. Use PERMISSION_NONE to replace NO_PERMISSIONS so the
framework now use the same set of permission constant when communicate
with netd.

Bug: 128944261
Test: PermissionMonitorTest.java

Change-Id: I25224c9576f52d2a0a0bd2182325c7aac7b28eb5
Merged-In: I25224c9576f52d2a0a0bd2182325c7aac7b28eb5
(cherry picked from commit 05887f99c6ca6885db737af2f356023dc6de80a2)

Chenbo Feng   commited 2019-05-13 14:22:58 -07:00
2bebfc2b87
Merge "Clean up the permission control code in framework" am: 0e6d2b5f4f
am: 6cb0c1579d

Change-Id: I1af059171c5d80be7abaee636f012f3b55dac2df

Chenbo Feng   authored and   android-build-merger   commited 2019-05-13 11:32:59 -07:00
9313f7adf9
Merge "Clean up the permission control code in framework"
Treehugger Robot   authored and   Gerrit Code Review   commited 2019-05-13 18:04:50 +00:00
0e6d2b5f4f
Release keepalive slot after stopped
Currntly, keepalive slot is released when stop() is called. Next
starting keepalive can use the same slot number while previous
keepalive is still stopping. When the previous keepalive is
stopped, the incoming as will be processed by the new keepalive.

This change release keepalive slot after the result of stopping
has returned. Thus, newly created keepalive cannot allocate the
same slot number while lower layer is still processing stop event.

This change also disable flaky assertions that are caused by
test port has been occupied by other process.

Bug: 129512753
Test: 1. atest com.android.server.ConnectivityServiceTest \
         #testNattSocketKeepalives --generate-new-metrics 100
      2. atest FrameworksNetTests --generate-new-metrics 10
      3. simulate the fail case manually.

Change-Id: I790f6bbc5efc3f088034ac45ec379da5f781d0ca
Merged-In: I1991627545519ee5cb408a3df3a006f710f4af7b
(cherry picked from commit 3523a3d02a1f88a3990ab9cc4948c705ecc713c8)

Junyu Lai   authored and   junyulai   commited 2019-05-13 18:42:19 +08:00
5e135ee2b9
Merge "Add CTS API coverage for APIs which are used by NetworkStack" into qt-dev
TreeHugger Robot   authored and   Android (Google) Code Review   commited 2019-05-13 02:41:34 +00:00
1140cb3dbb
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)

Chalard Jean   authored and   Lorenzo Colitti   commited 2019-05-10 13:09:00 +00:00
9ff61e4948
Merge "Support strict mode private DNS on VPNs that provide Internet." am: 9db77747a6
am: e3950cf24a

Change-Id: I28cc679def7cdd4dc5187e65f4524c3998ebcafc

Chalard Jean   authored and   android-build-merger   commited 2019-05-10 04:33:43 -07:00
c455822846
Merge "Support strict mode private DNS on VPNs that provide Internet."
Chalard Jean   authored and   Gerrit Code Review   commited 2019-05-10 09:39:17 +00:00
9db77747a6