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: 237d3e55cd

Change-Id: Ie9e830962e702c5e66faa7239e6c5037ed3d791d

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

Change-Id: I9bf180aca56a8b5e2c5262beabac3ceaa9b00315

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

Change-Id: I56e7736ced431a5dcd78a6a258abfad09745d25e

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

Change-Id: I72ae3f9575fe954f4f1db4b85b0f19d15448fbbf

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

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
237d3e55cd
Revert "NetworkStatsService: Fix getDetailedUidStats to take VPNs into account."
This reverts commit df34063a17.

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
d73fa75845
Revert "Addressing comments for http://ag/7700679."
This reverts commit 8031acad0e.

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
01ca66ff03
Revert "Add one more test for VPN usage stats."
This reverts commit 54bb4f4608.

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
e81acb7351
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
5215c21ec5
Merge "Always give VPN the INTERNET capability." am: a24f3216be
am: 6d5a4a3b1d

Change-Id: I144939e7197deec403d6c91f83b414d357190bd4

Chalard Jean   authored and   android-build-merger   commited 2019-05-30 01:54:33 -07:00
bbaf737c55
Merge "Always give VPN the INTERNET capability."
Chalard Jean   authored and   Gerrit Code Review   commited 2019-05-30 08:36:19 +00:00
a24f3216be
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
16da69ea0e
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
fdfe0c850a
Merge "NetworkStatAccess Should checkCarrierPrivileges cross all subscriptions" am: 43b5e55334
am: 4d206af049

Change-Id: Ib2d02bd3936ae112f62861c301d99582e0b998b0

Chen Xu   authored and   android-build-merger   commited 2019-05-29 10:43:06 -07:00
4742297e96
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
cf1fec61c3
Merge "NetworkStatAccess Should checkCarrierPrivileges cross all subscriptions"
Chen Xu   authored and   Gerrit Code Review   commited 2019-05-29 17:15:41 +00:00
43b5e55334
Merge changes from topic "vpn_data_accounting" into qt-dev
am: 1dd3666360

Change-Id: I234eb2b20f47bde94b4aba89867e9d1c7e9ee7d5

Varun Anand   authored and   android-build-merger   commited 2019-05-29 09:44:04 -07:00
85db585c52
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
1dd3666360
Merge "Add a common test library." am: aa6821b805
am: 4343cf32aa

Change-Id: I6104a1a677cb2e4978f11be32dfc604ee431d009

Chalard Jean   authored and   android-build-merger   commited 2019-05-29 05:38:21 -07:00
861af75ef0
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
54bb4f4608
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
8031acad0e
NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
(cherry picked from commit 23e1e5e300)

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
df34063a17
Take all VPN underlying networks into account when migrating traffic for
VPN uid.

(cherry picked from commit 2dbf6e6978)

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
ee48ac4abd
NetworkStatAccess Should checkCarrierPrivileges cross all subscriptions
Bug: 133236378
Test: Manual
Change-Id: I49fbde1fe73b33aadcf8fd23ad224f363b137bf3

chen xu   commited 2019-05-28 23:28:56 -07:00
38b98ab27c
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
15337bf80d
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
d5cae6a6e4
Merge "Let the system server have CONNECTIVITY_USE_RESTRICTED_NETWORKS." am: 2ada647c37
am: c008c062fb

Change-Id: Ie70b2e7ce28e8e8c070d5b0929f1a6beb855da46

Chalard Jean   authored and   android-build-merger   commited 2019-05-28 05:47:17 -07:00
d7c5be3363
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
2ada647c37
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
030a3c7c37
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
2a8695a2dd
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
10ccb3c19f
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
75387c9ced
Merge "Update multiple validation result to ConnectivityService" am: 7eff27b409
am: a0e9af113c

Change-Id: I243db4c406cca826e803c8035268bc0c6e6e01e2

Chiachang Wang   authored and   android-build-merger   commited 2019-05-23 22:57:18 -07:00
adb166e018
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
59d7d2957f
Merge "Update multiple validation result to ConnectivityService"
Chiachang Wang   authored and   Gerrit Code Review   commited 2019-05-24 02:50:54 +00:00
7eff27b409
Merge "[CM] Fix NPE due to unvalidated callback value" am: 96d3d20f43
am: cc65a628eb

Change-Id: I5a6e2e92852f76251e8c1bfcd3c06c6773ec1fe4

Etan Cohen   authored and   android-build-merger   commited 2019-05-23 09:42:00 -07:00
e004325c7e
[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
3f8c6019f3
[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
3ad9eba8ad
[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
bcf0006ff7
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
9cfa6fe703
Merge "[CM] Fix NPE due to unvalidated callback value" am: ca7356d684
am: 51ddc176ab

Change-Id: Idf439c1f6badd715776eaaced1a781b066ba6d37

Etan Cohen   authored and   android-build-merger   commited 2019-05-22 10:44:37 -07:00
407e5ecdaa
[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
bc3a4eb54c
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
58987b21ac
Merge "Clean up the permission control code in framework" am: 2ecbe8b8b1
am: 3c6d05651b

Change-Id: I1af059171c5d80be7abaee636f012f3b55dac2df

Chenbo Feng   authored and   android-build-merger   commited 2019-05-13 11:32:59 -07:00
53b36ef72a
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
2ecbe8b8b1
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 4b0556df84)

Junyu Lai   authored and   junyulai   commited 2019-05-13 18:42:19 +08:00
7d960da6ff
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
4266b631fc
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
caefc43336
Merge "Support strict mode private DNS on VPNs that provide Internet." am: faf2bd1a23
am: 19df6b6b6d

Change-Id: I28cc679def7cdd4dc5187e65f4524c3998ebcafc

Chalard Jean   authored and   android-build-merger   commited 2019-05-10 04:33:43 -07:00
1a26465d92
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
faf2bd1a23