Commit graph android_packages_modules_Co.../tests/unit/java/com
Message SHA1
Send a proxy broadcast when apps moved from/to a VPN
When the apps moved from/to a VPN, a proxy broadcast is needed to
inform the apps that the proxy might be changed since the default
network satisfied by the apps might also changed.
Since the framework does not track the defautlt network of every
apps, thus, this is done when:
  1. VPN connects/disconnects.
  2. List of uids that apply to the VPN has changed.
While 1 is already covered by the current design, the CL implements
2 in order to fulfill the case that different networks have
different proxies.

Bug: 178727215
Test: atest FrameworksNetTests
Change-Id: Ifa103dd66394026d752b407a1bee740c9fcdad2b

lucaslin   commited 2021-06-08 01:43:59 +08:00
53e8a267ab
[NS10] Fix a bug where registerIgnoringScore is broken
Fixes: 184028345
Test: ConnectivityServiceTest
Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f
Merged-In: Ib5cd2c27a2bd0f53b500e8edbe48126fbf58f34d
Change-Id: Ib5cd2c27a2bd0f53b500e8edbe48126fbf58f34d
  (cherry-picked from ag/14034625)

Chalard Jean   authored and   Junyu Lai   commited 2021-06-07 11:00:49 +00:00
94ca04b255
[NS09] Implement the new ranking code
At this stage, this is turned off. Unit tests will be
in a followup change.

Test: In a followup
Bug: 167544279
Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f
Merged-In: I4448a3546fbc1a3dddf757982c031c5f39ba2889
Change-Id: I4448a3546fbc1a3dddf757982c031c5f39ba2889
  (cherry-picked from ag/14010222 with fixes)

Chalard Jean   authored and   Junyu Lai   commited 2021-06-07 11:00:46 +00:00
e4aeac6d75
[NS07] Add the rest of the scoring policy
Bug: 167544279
Test: FrameworksNetTests
Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f
Merged-In: I5ea44a94ac6f16486274e9091f15a84734db2341
Change-Id: I5ea44a94ac6f16486274e9091f15a84734db2341
  (cherry-picked from ag/13988828)

Chalard Jean   authored and   Junyu Lai   commited 2021-06-07 10:57:49 +00:00
f3ff362210
[NS06] Implement the don't-reap mechanism
This exposes a mechanism for network providers to tell
the network stack that a given network must be kept up
for some specific reason. This is meant to be easier
for them than to have to file a request, in particular
because there is no guaranteed way to make sure the
request will be best matched by any given network.

Test: new test for this
Bug: 167544279
Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f
Merged-In: I238a3ee5ee9262477a23b897e4141769dd1505d1
Change-Id: I238a3ee5ee9262477a23b897e4141769dd1505d1
  (cherry-picked from ag/13929760)

Chalard Jean   authored and   Junyu Lai   commited 2021-06-07 10:57:49 +00:00
947acd4275
Updating tests to honor per-app TRACK_DEFAULT
Per-app APIs in ConnectivityService will now have their fallback
request which tracks the system default be of type TRACK_DEFAULT
as opposed to REQUEST. Existing tests which expect this fallback request
to be sent to network factories need to be updated to validate this
change.

Bug: 180452284
Bug: 176494815
Test: atest FrameworksNetTests
Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f
Merged-In: I5125755b3ed1ec535494e2d7a48c0860710ed056
Change-Id: I5125755b3ed1ec535494e2d7a48c0860710ed056
  (cherry-picked from ag/14286730)

James Mattis   authored and   Junyu Lai   commited 2021-06-07 10:57:48 +00:00
5c3bb5b1ce
[NS05] Feed network offer callbacks
The design is very simply expressed :
An offer is needed for a request if and only if that offer
might beat the satisfier for that request.

The implementation of "might beat" is NetworkRanker#mightBeat.

Test: FrameworksNetTests FrameworksWifiTests NetworkStackTests
Bug: 167544279
Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f
Merged-In: I0fe911eef2483ecbac48c733d56283b81538690a
Change-Id: I0fe911eef2483ecbac48c733d56283b81538690a
  (cherry-picked from 7b6a33bd50)

Chalard Jean   authored and   Junyu Lai   commited 2021-06-07 10:57:48 +00:00
0354d8c7e0
Merge "Move UIDS_ALLOWED_ON_RESTRICTED_NETWORKS setting" into sc-dev am: 48fc715694
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14772857

Change-Id: I45b1bc2e2930454d8a7fb662153d46e762da62b4

Paul Hu   authored and   Automerger Merge Worker   commited 2021-06-07 09:48:36 +00:00
9bd5882024
Merge "Move UIDS_ALLOWED_ON_RESTRICTED_NETWORKS setting" into sc-dev
Paul Hu   authored and   Android (Google) Code Review   commited 2021-06-07 09:29:56 +00:00
48fc715694
Merge "Address leftover comments" into sc-dev am: 9a8e4497a3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14772851

Change-Id: I6e3a372dd3593a295fbde5785b1bb7d9004a313c

Paul Hu   authored and   Automerger Merge Worker   commited 2021-06-07 09:02:00 +00:00
31218d45ae
Move UIDS_ALLOWED_ON_RESTRICTED_NETWORKS setting
Now, PermissionMonitor reigster observer to listen the change
from all users, but "uids allowed on restricted networks" should
affect to all users instead of per each user. Thus, move the
setting from Settings.Secure to Settings.Global.

Bug: 189705071
Test: atest FrameworksNetTests
Merged-In: Ibea354d8dda1f02652a193820f3f9eb573b9a956

Change-Id: Ibea354d8dda1f02652a193820f3f9eb573b9a956

paulhu   commited 2021-06-07 08:55:16 +00:00
4428044569
Address leftover comments
- Add comment to highestPermissionForUid()
- Add testAppsAllowedOnRestrictedNetworksChangedMultipleUsers
- Add synchronized to guard mUidsAllowedOnRestrictedNetworks
  access.

Bug: 189705071
Test: atest FrameworksNetTests
Merged-In: I9056758db15e8a21b84ef244d4cacf24c3b79894

Change-Id: I9056758db15e8a21b84ef244d4cacf24c3b79894

paulhu   commited 2021-06-07 08:54:12 +00:00
eb43848207
Merge "Address leftover comments" into sc-dev
Paul Hu   authored and   Android (Google) Code Review   commited 2021-06-07 08:50:21 +00:00
9a8e4497a3
Correctly get uids for per-app network preferences
Per-app network functionality assumed all apps were installed for user 0
which is not always the case. This fix will address that by checking for
the existance of an app for all users and adding it to the per-app
network preference as was originally intended. Prior, no apps were
included if they were not installed for user 0 even if they were
available for another user such as user 10 in automotive.

Bug: 189838408
Test: atest FrameworksNetTests
atest FrameworksNetIntegrationTests
atest CtsNetTestCases

Change-Id: I7d75cdb02041e7a202254be2eaeca6c2b02d7c29

James Mattis   commited 2021-06-06 23:51:05 -07:00
b6b6a4335a
Implement mobile data preferred uids feature
- Read MOBILE_DATA_PREFERRED_UIDS setting when system ready
- Register MOBILE_DATA_PREFERRED_UIDS setting observer
- Send uid ranges to netd when update mobile data preferred uids

Bug: 171872461
Test: atest FrameworksNetTests
Merged-In: I5153c770650594e05dfa8cf230d7381d790f4a55
(cherry-pick with minor conflicts)

Change-Id: I5153c770650594e05dfa8cf230d7381d790f4a55

paulhu   authored and   Paul Hu   commited 2021-06-07 02:55:25 +00:00
51f77dcc49
Merge "Update allowed on restricted networks getter/setter"
Paul Hu   authored and   Gerrit Code Review   commited 2021-06-04 10:31:50 +00:00
c30c57c210
Merge "Implement mobile data preferred uids feature" into sc-dev am: 87f2897f90
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14732015

Change-Id: I2528dad0ebc73284cf544b1b2e2bd673e5fd69a2

Paul Hu   authored and   Automerger Merge Worker   commited 2021-06-04 09:11:35 +00:00
7a3102f0f5
Implement mobile data preferred uids feature
- Read MOBILE_DATA_PREFERRED_UIDS setting when system ready
- Register MOBILE_DATA_PREFERRED_UIDS setting observer
- Send uid ranges to netd when update mobile data preferred uids

Bug: 171872461
Test: atest FrameworksNetTests
Ignore-AOSP-First: Needs cherry-picks
Change-Id: I5153c770650594e05dfa8cf230d7381d790f4a55

paulhu   commited 2021-06-02 15:40:53 +08:00
71ad4f1175
Move UIDS_ALLOWED_ON_RESTRICTED_NETWORKS setting
Now, PermissionMonitor reigster observer to listen the change
from all users, but "uids allowed on restricted networks" should
affect to all users instead of per each user. Thus, move the
setting from Settings.Secure to Settings.Global.

Bug: 189705071
Test: atest FrameworksNetTests
Ignore-AOSP-First: Need cherry-pick
Change-Id: Ibea354d8dda1f02652a193820f3f9eb573b9a956

paulhu   commited 2021-06-01 21:28:34 +08:00
a1ac564748
Address leftover comments
- Add comment to highestPermissionForUid()
- Add testAppsAllowedOnRestrictedNetworksChangedMultipleUsers
- Add synchronized to guard mUidsAllowedOnRestrictedNetworks
  access.

Bug: 189705071
Test: atest FrameworksNetTests
Ignore-AOSP-First: Need cherry-pick
Change-Id: I9056758db15e8a21b84ef244d4cacf24c3b79894

paulhu   commited 2021-06-01 19:04:28 +08:00
5d8340f7ae
Remove NetdService, NetworkStackClient dependency
Netd should be obtained via getSystemService, and
ModuleNetworkStackClient must be used instead of NetworkStackClient for
modules.

Original change (project moved):
Ibe703ac56dd70673115cd8b95b44b856a7fc01f3

Bug: 171540887
Test: m
Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f
Change-Id: I6c8593712c0e86da139d425ef6240c5004e392e2

Remi NGUYEN VAN   commited 2021-06-01 18:41:33 +09:00
8ae54f7a3e
Update allowed on restricted networks getter/setter
As API review feedback, setting allowed on restricted networks
should be by uid instead of package name for security reason.
Thus, update the getter/setter to return/accept set of uids.

Bug: 188085693
Test: atest FrameworksNetTests
Merged-In: I979bf98075e6c9c0ed7e891582843fddb62643cb

Change-Id: I979bf98075e6c9c0ed7e891582843fddb62643cb

paulhu   commited 2021-05-27 16:24:50 +08:00
91e7806938
Merge "Update allowed on restricted networks getter/setter" into sc-dev am: 962e174260
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14730611

Change-Id: I11638eb0d14d697ff702a6af08d13169fb1c7d4b

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2021-05-26 12:38:13 +00:00
de28140262
Update allowed on restricted networks getter/setter
As API review feedback, setting allowed on restricted networks
should be by uid instead of package name for security reason.
Thus, update the getter/setter to return/accept set of uids.

Bug: 188085693
Test: atest FrameworksNetTests
Ignore-AOSP-First: Needs cherry-picks
Change-Id: I979bf98075e6c9c0ed7e891582843fddb62643cb

paulhu   commited 2021-05-26 16:16:57 +08:00
68aacb407a
Require location permission for ConnDiags WiFi only.
This CL updates ConnectivityDiagnostics permission checks in
ConnectivityService to only require location permission for Networks
that have TRANSPORT_WIFI. This change is consistent with the location
restrictions required for the transports themselves. Previously,
location permissions were required for all Network types.

Bug: 187310575
Test: atest ConnectivityServiceTest ConnectivityDiagnosticsManagerTest
Change-Id: I48806533e4e705d2d9be45f3b3d3931d9294b167

Cody Kesting   commited 2021-05-25 13:43:48 -07:00
7474f67454
Merge history of packages/Connectivity am: 2afd0986d3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/14700782

BUG: 186628461
Merged-In: Ie82d0fb34bda77543e31c82660c6f315efa87f62
Change-Id: Ia7945b929573c9a5e697fb69358cd6d3c8beab00

Baligh Uddin   authored and   Remi NGUYEN VAN   commited 2021-05-24 08:21:53 +00:00
087dd90e5b
Merge changes I1de322c9,Id0983d4b into sc-dev
* changes:
  Improve IKEv2/IPsec VPN by proposing more IPsec algorithms
  Improve IKEv2/IPsec VPN by proposing more IKE algorithms

TreeHugger Robot   authored and   Android (Google) Code Review   commited 2021-05-22 05:05:51 +00:00
958fe9a51d
Improve IKEv2/IPsec VPN by proposing more IPsec algorithms
This commit allows IKEv2/IPsec VPN to propose more algorithms that
newly added in IpSecAlgorithm. Those new algorithms have stronger
security guarantees and better performances.

This commit also removes algorithm name validation because all
algorithms are URL encoded to ensure no special characters create
problems due to their use by VpnProfile for list or field delimiting
(e.g. rfc7539esp(chacha20,poly1305))

Bug: 185265778
Test: atest FrameworksNetTests, CtsNetTestCases
Test: All new algorithms are manually verified
Change-Id: I1de322c95aacc8924e95bcdbcfdbd1ec441de99c
Merged-In: I1de322c95aacc8924e95bcdbcfdbd1ec441de99c

Yan Yan   commited 2021-05-21 23:33:23 +00:00
f1ea9b302c
Merge "Improve IKEv2/IPsec VPN by proposing more IPsec algorithms"
Yan Yan   authored and   Gerrit Code Review   commited 2021-05-21 22:00:30 +00:00
70a118d80d
Merge "Improve IKEv2/IPsec VPN by proposing more IPsec algorithms"
Yan Yan   authored and   Gerrit Code Review   commited 2021-05-21 22:00:30 +00:00
5cb9e37a55
Improve IKEv2/IPsec VPN by proposing more IPsec algorithms
This commit allows IKEv2/IPsec VPN to propose more algorithms that
newly added in IpSecAlgorithm. Those new algorithms have stronger
security guarantees and better performances.

This commit also removes algorithm name validation because all
algorithms are URL encoded to ensure no special characters create
problems due to their use by VpnProfile for list or field delimiting
(e.g. rfc7539esp(chacha20,poly1305))

Bug: 185265778
Test: atest FrameworksNetTests, CtsNetTestCases
Test: All new algorithms are manually verified
Change-Id: I1de322c95aacc8924e95bcdbcfdbd1ec441de99c

Yan Yan   commited 2021-05-21 17:46:54 +00:00
86783c3711
Improve IKEv2/IPsec VPN by proposing more IPsec algorithms
This commit allows IKEv2/IPsec VPN to propose more algorithms that
newly added in IpSecAlgorithm. Those new algorithms have stronger
security guarantees and better performances.

This commit also removes algorithm name validation because all
algorithms are URL encoded to ensure no special characters create
problems due to their use by VpnProfile for list or field delimiting
(e.g. rfc7539esp(chacha20,poly1305))

Bug: 185265778
Test: atest FrameworksNetTests, CtsNetTestCases
Test: All new algorithms are manually verified
Change-Id: I1de322c95aacc8924e95bcdbcfdbd1ec441de99c

Yan Yan   commited 2021-05-21 17:46:54 +00:00
f3cf55f793
Check location permission for ConnDiags last.
This CL updates ConnectivityService to check location permissions for
ConnectivityDiagnostics callbacks last in the permission check process.
This minimizes misattribution of location access for networks that an
app is not administering.

This CL also updates ConnectivityDiagnosticsManager documentation to
clearly state that location permissions are required in order to receive
callbacks.

Bug: 187310575
Test: atest ConnectivityDiagnosticsManagerTest
Test: atest ConnectivityServiceTest
Change-Id: I2dbeddac6273e2392ccaeae51a1c7776d6d3da75
Merged-In: I2dbeddac6273e2392ccaeae51a1c7776d6d3da75
(cherry picked from commit f3d0fc49db)

Cody Kesting   commited 2021-05-21 16:22:50 +00:00
0b4be0203d
Merge "Check location permission for ConnDiags last."
Cody Kesting   authored and   Gerrit Code Review   commited 2021-05-20 21:27:46 +00:00
7f092f1f90
Merge "Check location permission for ConnDiags last."
Cody Kesting   authored and   Gerrit Code Review   commited 2021-05-20 21:27:46 +00:00
c5f9939bf3
Merge "Support to query TYPE_WIFI usage with subscriberId" into sc-dev
Les Lee   authored and   Android (Google) Code Review   commited 2021-05-20 08:55:59 +00:00
627c446560
Merge "Register APPS_ALLOWED_ON_RESTRICTED_NETWORKS setting observer" into sc-dev
Paul Hu   authored and   Android (Google) Code Review   commited 2021-05-20 08:45:35 +00:00
5acfe4933e
Merge "Read APPS_ALLOWED_ON_RESTRICTED_NETWORKS setting from PermissionMonitor" into sc-dev
Paul Hu   authored and   Android (Google) Code Review   commited 2021-05-20 05:57:25 +00:00
740da160bc
Merge changes I3ba50cbd,I970ee365 into sc-dev
* changes:
  [FUI29] Migrate ConnectivityService to use getAllNetworkStateSnapshots
  [FUI27] Fix internal naming of notifyNetworkStatus

Junyu Lai   authored and   Android (Google) Code Review   commited 2021-05-19 12:36:03 +00:00
458a60dab5
Support to query TYPE_WIFI usage with subscriberId
Previous the API ignores subscriberId when network type is WIFI.
Allow caller to call querySummaryXXXX with TYPE: WIFI
+ subscriberId: IMSI to get carrier merged wifi usage which matches the wifi
network with the given IMSI.

Bug: 176396812
Test: atest -c NetworkStatsServiceTest
Change-Id: Ia033521a24e2bb56182d74a41bb2b39710571782
Merged-In: Ia033521a24e2bb56182d74a41bb2b39710571782

lesl   authored and   Les Lee   commited 2021-05-19 02:53:16 +00:00
cf4a1b59ea
Merge "Move IoUtils#deleteContents from CorePlatformApi set to framework"
Nikita Iashchenko   authored and   Gerrit Code Review   commited 2021-05-18 22:13:56 +00:00
1ae284330f
Merge "Move IoUtils#deleteContents from CorePlatformApi set to framework"
Nikita Iashchenko   authored and   Gerrit Code Review   commited 2021-05-18 22:13:56 +00:00
fc41cdfd4c
Register APPS_ALLOWED_ON_RESTRICTED_NETWORKS setting observer
PermissionMonitor register APPS_ALLOWED_ON_RESTRICTED_NETWORKS
setting observer to listen setting changed callback. Then update
or revoke permission for those apps.

Bug: 185149952
Test: atest FrameworksNetTests
Merged-In: I4b6a21bd3f47b7bcaac36fcabf1202a5a84a4520
(clean cherry-pick)

Change-Id: I4b6a21bd3f47b7bcaac36fcabf1202a5a84a4520

Paul Hu   commited 2021-05-18 14:19:56 +00:00
206157788c
Read APPS_ALLOWED_ON_RESTRICTED_NETWORKS setting from PermissionMonitor
Let PermissionMonitor read APPS_ALLOWED_ON_RESTRICTED_NETWORKS
setting and grant netd system permission to uids whose package
name is listed in setting.

Bug: 185149952
Test: atest FrameworksNetTests
Merged-In: I856b545c0339a262abbe9d432cfda125bc82dc12
(clean cherry-pick)

Change-Id: I856b545c0339a262abbe9d432cfda125bc82dc12

Paul Hu   commited 2021-05-18 14:16:57 +00:00
deb3f2e7a7
Merge "Support to query TYPE_WIFI usage with subscriberId"
Les Lee   authored and   Gerrit Code Review   commited 2021-05-18 13:02:07 +00:00
c0e15c5db2
Merge "Support to query TYPE_WIFI usage with subscriberId"
Les Lee   authored and   Gerrit Code Review   commited 2021-05-18 13:02:07 +00:00
ad9e8eeabd
Allow unprivileged NetworkCallbacks to see other UIDs' networks.
Currently, unprivileged apps can call getAllNetworks() to see
all networks on the system, even networks that do not apply to
them. Allow them to do this via NetworkCallbacks as well.

This is the last piece of information that was only available
through getAllNetworks, so this CL deprecates that API.

Bug: 187921303
Test: new unit tests
Test: CTS test in other CL in topic
Change-Id: I30f1021927d3c8eae6525116c61ff4a4acecff6d

Lorenzo Colitti   commited 2021-05-18 12:24:07 +09:00
86714b1fd2
Check location permission for ConnDiags last.
This CL updates ConnectivityService to check location permissions for
ConnectivityDiagnostics callbacks last in the permission check process.
This minimizes misattribution of location access for networks that an
app is not administering.

This CL also updates ConnectivityDiagnosticsManager documentation to
clearly state that location permissions are required in order to receive
callbacks.

Bug: 187310575
Test: atest ConnectivityDiagnosticsManagerTest
Test: atest ConnectivityServiceTest
Change-Id: I2dbeddac6273e2392ccaeae51a1c7776d6d3da75

Cody Kesting   commited 2021-05-17 19:36:47 -07:00
160ef3936a
Check location permission for ConnDiags last.
This CL updates ConnectivityService to check location permissions for
ConnectivityDiagnostics callbacks last in the permission check process.
This minimizes misattribution of location access for networks that an
app is not administering.

This CL also updates ConnectivityDiagnosticsManager documentation to
clearly state that location permissions are required in order to receive
callbacks.

Bug: 187310575
Test: atest ConnectivityDiagnosticsManagerTest
Test: atest ConnectivityServiceTest
Change-Id: I2dbeddac6273e2392ccaeae51a1c7776d6d3da75

Cody Kesting   commited 2021-05-17 19:36:47 -07:00
8533f883c2
Merge "Register APPS_ALLOWED_ON_RESTRICTED_NETWORKS setting observer"
Paul Hu   authored and   Gerrit Code Review   commited 2021-05-17 06:45:52 +00:00
ca98d3d814