Commit graph android_packages_modules_Co.../framework/src/android
Message SHA1
Merge "Rename BpfNetMapsReader to NetworkStackBpfNetMaps" into main
Motomu Utsumi   authored and   Gerrit Code Review   commited 2024-03-19 04:13:17 +00:00
7bfcd30e89
Rename BpfNetMapsReader to NetworkStackBpfNetMaps
BpfNetMapsReader is loaded to bootclasspath. So this class should not
contain unnecessary codes.
To make this clear, this CL renames to NetowrkStackBpfNetMaps and add
comments

Bug: 328732146
Test: TH
Change-Id: I557627c9fae087eb6119c2ae31d46526fa9e5d7e

Motomu Utsumi   commited 2024-03-19 04:12:29 +00:00
fc504042f6
Merge "Throw if isUidNetworkingBlocked is called below U" into main
Treehugger Robot   authored and   Gerrit Code Review   commited 2024-03-18 09:24:26 +00:00
5784191a76
Throw if isUidNetworkingBlocked is called below U
Test: TH
Fix: 329384918
Change-Id: I23139245ca91d29adf533d88551d1ea345488568

Junyu Lai   commited 2024-03-18 14:50:42 +08:00
7291d1172c
Merge "Remove DEFAULT_FORBIDDEN_CAPABILITIES from NetworkRequest" into main
Motomu Utsumi   authored and   Gerrit Code Review   commited 2024-03-14 06:43:36 +00:00
8ee26e64be
Remove DEFAULT_FORBIDDEN_CAPABILITIES from NetworkRequest
aosp/2873154 disabled DEFAULT_FORBIDDEN_CAPABILITIES to avoid crash when
the module rolls back.
DEFAULT_FORBIDDEN_CAPABILITIES was introduced to avoid existing users
getting callback from local networks.
But aosp/2936050 fixed this issue by introducing compat flag.
So this CL cleans up DEFAULT_FORBIDDEN_CAPABILITIES code

Test: TH
Bug: 319212206
Change-Id: I125800cb3dd029f190056c8715ab9a741a83a234

Motomu Utsumi   commited 2024-03-13 12:11:13 +09:00
29ff998bb9
Add CompatChange for local network matching
Apps that target an SDK before V will not see networks with
NET_CAPABILITY_LOCAL_NETWORK unless they explicitly set this capability
in their network requests.

Bug: 319212206
Test: CSLocalAgentTests
Change-Id: I414b03dfea9a8aac83304c6be501f03d637739b4

Motomu Utsumi   commited 2024-03-04 17:50:27 +09:00
ad480e0c58
Merge "Udpate setNetworkSpecifier to support Satellite Transport." into main
Nagendra Prasad Nagarle Basavaraju   authored and   Gerrit Code Review   commited 2024-02-27 09:28:55 +00:00
8c0f67820d
Udpate setNetworkSpecifier to support Satellite Transport.
- Allow adding two non test transports i.e. satellite and cellular
  at setNetworkSpecifier, to receive network requests related to
  satellite transport capabilities

Bug: 324347502
Test: atest FrameworksNetTests
Change-Id: I03a3d701e214792184bacfe5b5b59cdef61d555e

Nagendra Prasad Nagarle Basavaraju   commited 2024-02-26 11:24:19 +00:00
a8a74e2ccc
Bump the required SDK level to U for isUidNetworkingBlocked
This change is a follow-up from aosp/2970991. The kernel bug
can trigger crashes on some T devices. Therefore, bumping the
required API level is necessary.
No CTS modification since the check doesn't exist in
pre-U CTS releases.

Test: atest CtsHostsideNetworkTests:com.android.cts.net.HostsideNetworkCallbackTests
Bug: 326143935
Change-Id: I63796f25315ee9f966dd5bf0afd2240b1ed456e1

Junyu Lai   commited 2024-02-22 17:34:57 +08:00
934d483e4b
Update javadoc for NET_CAPABILITY_LOCAL_NETWORK API
Bug: 324326824
Test: TH
Change-Id: I6d5f9c27b2fc2f2290e27f63b933b9ccacfffa85

Motomu Utsumi   commited 2024-02-15 15:41:50 +09:00
4f956270f7
Merge "Check whether kernel is for X86 via JNI" into main
Maciej Żenczykowski   authored and   Gerrit Code Review   commited 2024-02-10 05:22:15 +00:00
ec3b193377
Check whether kernel is for X86 via JNI
Bug: 319532485
Test: Verified the return value on husky (arm)
      and cuttlefish (x86_64)
Change-Id: I8fd53b0f137ad701e051644eafaa12c2a5cf3e7f

Yan Yan   commited 2024-02-09 19:13:07 +00:00
02f6124b05
add TRANSPORT_SATELLITE to NetworkCapabilities
This commit also updates to use V14 dnsresolver APIs which was V13.

Bug: 320514105
Test: m & atest FrameworksNetTests
Change-Id: I6e92f4d99e0eba3b5d1d5e45bf11e5e945ea43f1

Nagendra Prasad Nagarle Basavaraju   commited 2024-02-07 16:07:39 +00:00
1fa6f09019
Support bringing up restricted wifi
This CL allows the Carrier Config app to request restricted WiFi nework
by setting the correspoding subscription ID in the network request.

Bug: 315835605
Test: atest android.net.cts.NetworkRequestTest
      atest ConnectivityCoverageTests:android.net.connectivity.com.android.server.connectivity.CarrierPrivilegeAuthenticatorTest
      atest ConnectivityCoverageTests:android.net.connectivity.com.android.server.ConnectivityServiceTest

Change-Id: I237e692d092ff5f969ce4b7962f6d58099a6f3a9

Ying Xu   commited 2024-02-07 04:24:38 -08:00
7cabd32bc5
Expose NET_CAPABILITY_LOCAL_NETWORK as public API
Apps that target an SDK before {@link Build.VERSION_CODES.VANILLA_ICE_CREAM}
will not see networks with this capability unless they explicitly set the
NET_CAPABILITY_LOCAL_NETWORK in their NetworkRequests.

In this way, `NET_CAPABILITY_LOCAL_NETWORK` should be public.

Bug: 313000440
Test: None
Change-Id: I44d9cf3ecf5da471a627696f3d2680f35d4b122d

Handa Wang   authored and   Motomu Utsumi   commited 2024-02-07 17:23:42 +09:00
21005edfdf
Bpf: open code PRE_T - too complex for errorprone linter
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I1ad2d0dd288882e84925f0b59961dcd33612f3f7

Maciej Żenczykowski   commited 2024-01-25 16:09:11 -08:00
0d450d3e4d
Support checking kernel bitness via JNI
Bug: 319532485
Test: Verified the return value on husky(64-bit kernel)
      and mokey_go32 (32-bit kernel)
Test: NetworkUtilsTest#testIsKernel64Bit
Change-Id: I929ce23932698b44a72ce4f35e2bd5a41ba472ee

Yan Yan   commited 2024-01-18 01:10:59 +00:00
287258dfb7
Add more context in javadoc of setDataSaverEnabled
This addresses API council review feedback at b/307695368

Test: TH
Fix: 307695368
Change-Id: Ifc8cb890ff73be423d38e06a516853da4b9ee97f

Junyu Lai   commited 2024-01-15 11:40:59 +08:00
f304823023
Remove sdk level check when calling getDataSaverEnabled
Follow-up from aosp/2856948, the data saver status value is
filled by ConnectivityService before Android V. Thus, calling
BpfNetMapsReader#getDataSaverEnabled() is a legit use case, which
should not trigger log.wtf.

Remove the check accordingly.

Test: TH
Bug: 314858283
Fix: 316839561
Change-Id: I90c85ab98fbefd1f99ec799a4eec8d1d0cfd47b0

Junyu Lai   commited 2023-12-18 16:26:24 +08:00
8df4b700dd
Don't add LOCAL_NETWORK as forbidden capability
This causes the module to crash on rollback because the current
production code does not consider LOCAL_NETWORK to be a valid
capability.

Change-Id: Idf57d72c384b41b483098c4c302738072ebf7f90
Test: TH
Fix: 313030307

Lorenzo Colitti   authored and   Remi NGUYEN VAN   commited 2023-12-13 11:24:25 +09:00
22941b38f7
[BR14] Tracker Data Saver status in ConnectivityService
BYPASS_INCLUSIVE_LANGUAGE_REASON=Using public API
Test: atest ConnectivityCoverageTests:android.net.connectivity.com.android.server.CSBpfNetMapsTest
      (on U and V devices respectively)
Bug: 297836825
Fix: 314858283

Change-Id: Ibeac8cd3a33468c6539234255328affc6b3f8ffe

Junyu Lai   commited 2023-12-08 13:54:29 +08:00
38c7503ab5
Merge "Add support for setsockoptBytes" into main
Yang Sun   authored and   Gerrit Code Review   commited 2023-12-05 07:35:02 +00:00
38795d6f89
Add support for setsockoptBytes
Test: atest FrameworksNetTests:android.net.connectivity.android.net.NetworkUtilsTest
Change-Id: I3d94172fa8a42e2ab8ba4caf80d5caaa11fac703

Yang Sun   commited 2023-12-04 09:02:45 +08:00
f2987b8bf8
Revert^2 "Update NetworkAgent#register to compatible with old NetworkAgentTest"
This reverts commit db884c9a93.

Reason for revert: reason of aosp/2849874 revert is solved by aosp/2854408

Change-Id: Ic5ffddf2f811c0d2c359f292c3b44b833bae5eaa

Motomu Utsumi   authored and   Gerrit Code Review   commited 2023-12-01 06:31:19 +00:00
3c5891764c
Revert "Update NetworkAgent#register to compatible with old NetworkAgentTest"
This reverts commit 1e7c4a494d.

This change is a suspect for causing test breakages, it may or may not be reverted.

Bug: 314087796

Reason for revert: 314087796

Change-Id: If0a1c1e2d0e260319cf64b2d00828638abebb7fe

Nick Wille   commited 2023-11-30 22:07:14 +00:00
db884c9a93
Update NetworkAgent#register to compatible with old NetworkAgentTest
aosp/2792436 updated NetworkAgent and NetworkAgentTest.
But the NetworkAgent change was not compatible with the old
NetworkAgentTest.
This CL makes NetworkAgent change to compatible with the old
NetworkAgentTest.

aosp/2851330 will update NetworkAgentTest to support NetworkAgent change
done in aosp/2792436.
Once the old cts is EOL, workaround in NetworkAgentTest and NetworkAgent
can be removed.

Bug: 310124646
Test: atest NetworkAgentTest
Change-Id: Ic99b0ab72526a9ba22653f5bb132214ef0814440

Motomu Utsumi   commited 2023-11-30 06:19:40 +00:00
1e7c4a494d
Add more powerful CTS for allowedUids
This tests that the network providers are subject to appropriate
limitations as to what they can set as allowedUids – both in the
positive (can do) case, and the negative (can't do) case.

Test: this
Change-Id: I115e2a4bc02ddcd03ecf2f35130fcb0378da22bd

Chalard Jean   commited 2023-11-20 12:16:39 +09:00
5301778ad8
Merge "[BR11] Read data saver status from bpf" into main
Junyu Lai   authored and   Gerrit Code Review   commited 2023-11-16 02:57:55 +00:00
d3447a1d52
[BR11] Read data saver status from bpf
Writing data saver status to bpf is supported on Android V or
later devices. Thus, read that from bpf if available.

Test: atest FrameworksNetTests:android.net.connectivity.android.net.BpfNetMapsReaderTest
Test: atest ConnectivityCoverageTests:android.net.connectivity.android.net.ConnectivityManagerTest
Fix: 310801259
Change-Id: Ibd2616328d83f72ee6d2665239c3a44379d1ebf5

Junyu Lai   commited 2023-11-15 12:26:40 +08:00
9e88052fe7
Fix typedef retention
Typedef annotations are meant to have SOURCE retention, as they're
only analyzed by metalava to produce a separate file that's actually
consumed by the tools. Update typedefs as such.

Bug: 309971481
Test: m checkapi
Change-Id: Ic603db350af0825c87f4d99cff2ca4f4b7e57215

Anton Hansson   commited 2023-11-10 13:28:07 +00:00
f5fa3c6c72
Add equals, hashCode to MulticastRoutingConfig
Add helper functions to help compare if MulticastRoutingConfig
has changed.

Test: atest MulticastRoutingConfigTest
Change-Id: I30ed4796efbaafbcf1a273c12a9231ec02bc36f0

Yang Sun   commited 2023-11-10 13:06:22 +08:00
d25444ffce
Prepare exposing LocalNetworkConfig and its satellites
This doesn't actually expose the classes but prepares the
files for everything the linter says about it and the
API guidelines, as well as add documentation.

Test: CSLocalAgentsTest
Change-Id: I38c699d627eb91f19ab1628992ae0afde4673e89

Chalard Jean   commited 2023-11-09 14:26:13 +09:00
bb2557aa3a
Merge "Add test to make sure that unwanted local nets disconnect correctly" into main
Jean Chalard   authored and   Gerrit Code Review   commited 2023-11-09 02:08:36 +00:00
7cf6e5a3b0
New firewall chain for default background restrictions
A new firewall chain is needed to configure background network
restrictions for apps.
This change only adds the API stubs and traffic controller constants to
make the chain work. Policy changes using this chain will follow in
the framework code.

Test: atest CtsNetTestCases:ConnectivityManagerTest
Test: atest ConnectivityServiceTest

NO_IFTTT=The Lint rule along with the relevant code in Common.h is
being deleted in aosp/2819759

Bug: 304347838
Change-Id: I33e2db6671431f7c576fc931d9f96e684fc1e78a

Suprabh Shukla   commited 2023-11-08 10:17:30 +00:00
2d893b68a9
Remove unused enums for firewall in Common.h
They are used by TrafficController which was removed by aosp/2817123

Bug: 217624062
Test: TH
Change-Id: I561f135b43e7d15e6f45e95b502fc3c90c4b3ddf

Motomu Utsumi   commited 2023-11-08 14:44:17 +09:00
b51381e0e1
Add test to make sure that unwanted local nets disconnect correctly
Also add some toString() methods that were useful in debugging.

Test: new test in CSLocalAgentTests
Change-Id: Ife95815e39d92bbef84b1c5ea75a151882590d09

Chalard Jean   commited 2023-11-07 22:28:25 +09:00
4fe2339f2c
Rename TiramisuConnectivityInternalApiUtil
This can be used from S. There is no point in having a
release name in the name of this class.

Test: builds
Change-Id: I301bf032f856dd4c30554e06013f31ee57208c4e

Chalard Jean   commited 2023-11-07 17:29:39 +09:00
674f34702c
Add LocalNetworkInfo and send callbacks when it changes
Test: CSLocalAgentTest
Change-Id: I8caca97b891081f9212a01d428a34ed1a08d5126

Chalard Jean   commited 2023-11-07 17:29:38 +09:00
22350c93b4
Merge "Add methods for updating ingressDiscardRule bpf map to BpfNetMaps" into main
Motomu Utsumi   authored and   Gerrit Code Review   commited 2023-11-06 10:41:53 +00:00
d872c3c960
[BR03.1] Expose isUidNetworkingBlocked
Test: atest CtsHostsideNetworkTests:com.android.cts.net.HostsideNetworkCallbackTests
Bug: 297836825
Change-Id: I70b2351b9cd1c3c6fa34258397e0bf22cb8150b2

Junyu Lai   commited 2023-11-06 13:26:19 +08:00
bb59480733
Add forwarding methods to RoutingCoordinator
Test: RoutingCoordinatorServiceTest
      TetheringTest
Change-Id: I2fa6250875d517c3452c85a3678d3feb0c0354d8

Chalard Jean   commited 2023-11-02 23:25:32 +09:00
820ce9df2d
Rename KEEP_CONNECTED_DOWNSTREAM_NETWORK to K_C_LOCAL_NETWORK
...following feedback

Test: FrameworksNetTests
Change-Id: I9c25f0b066a58980bf071d2b958223ed609f0d8e

Chalard Jean   commited 2023-11-02 23:25:31 +09:00
842a914dff
[BR06] Support check whether network is blocked by data saver
This change adds a DataSaverStatusTracker, which is a helper
class to continuously track data saver status through NPMS
public API and intents. ConnectivityManager#isUidNetworkingBlocked
would use this cached information along with bpf maps to decide
whether networking of an uid is blocked.

Test: atest FrameworksNetTests:android.net.connectivity.android.net.BpfNetMapsReaderTest
Test: atest ConnectivityCoverageTests:android.net.connectivity.android.net.ConnectivityManagerTest
Bug: 297836825
Change-Id: I7e13191759430f3ea1f4dec7facc02f16be7146d

Junyu Lai   commited 2023-11-01 11:10:01 +08:00
c3dc5b6222
[BR02] Implement isUidNetworkingBlocked
This is needed for data stall detection mechanism in NetworkStack
to get the information about whether the network is blocked for
a given uid and conditions. Because the API will be called
frequently from NetworkStack to resolve all status for all uids
on the device, the API cannot call into the service which
creates IPC. Instead, the API need to directly access bpf maps
in the user process to retrieve the status. In this case the
user process is the network stack, the access control is provided
by linux file permission and selinux.

Test: atest FrameworksNetTests:android.net.connectivity.android.net.BpfNetMapsReaderTest
Test: atest FrameworksNetTests:android.net.connectivity.android.net.ConnectivityManagerTest
NO_IFTTT=Refactor only change for firewall chains definitions
Bug: 297836825

Change-Id: Iaf983b71ec98cbfe5152dcfade8a3120f938f135

Junyu Lai   commited 2023-10-31 16:33:41 +08:00
e003152e2c
Add methods for updating ingressDiscardRule bpf map to BpfNetMaps
Bug 295800201
Test: NetworkStaticLibsTests

Change-Id: I42bc0adc22c3018480029d624053f758d815e526

Motomu Utsumi   commited 2023-10-31 17:07:46 +09:00
77b49996d2
Write Data Saver setting to BPF map
The information is needed by modules who want to know whether a
specific UID is blocked by Data Saver feature.

1. Add a one-element map data_saver_enabled_map.
2. Update current data saver setting to the map.

Bug: 288340533
Test: atest FrameworksNetTests:android.net.connectivity.com.android.serv
er.BpfNetMapsTest
Test: atest bpf_existence_test

Change-Id: I981da4b569247c33cba2d365cb6f2691f673474e

Ken Chen   commited 2023-10-31 01:36:03 +00:00
243301748e
Revert "Add forwarding methods to RoutingCoordinator"
This reverts commit 55ccfe19e2.

Reason for revert: this must be introducing some sort of race
it appears to cause
  atest EthernetTetheringTest 'NetdBinderTest#TetherForwardAddRemove'
to no longer reliably pass.

Change-Id: I5281ab3f42c5ce268d97a12db24a6768db3f4354

Maciej Żenczykowski   authored and   Gerrit Code Review   commited 2023-10-28 02:10:52 +00:00
543d0d32e4
Add forwarding methods to RoutingCoordinator
Test: RoutingCoordinatorServiceTest
      TetheringTest
Change-Id: Ic3b36ddc236e8615e7d931b6e526556bbd2dac17

Chalard Jean   commited 2023-10-26 20:18:48 +09:00
55ccfe19e2
Merge "Add a routing coordinator class" into main
Jean Chalard   authored and   Gerrit Code Review   commited 2023-10-25 09:13:16 +00:00
4e47533688