Commit Graph

1181 Commits

Author SHA1 Message Date
Lorenzo Colitti
22941b38f7 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
2023-12-13 11:24:25 +09:00
Junyu Lai
38c7503ab5 [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
2023-12-08 13:54:29 +08:00
Motomu Utsumi
dc7a325a55 Merge "Remove workaround to remove FlaggedAPI in ump" into main 2023-12-06 01:17:43 +00:00
Yang Sun
38795d6f89 Merge "Add support for setsockoptBytes" into main 2023-12-05 07:35:02 +00:00
Motomu Utsumi
88410c6fd6 Remove workaround to remove FlaggedAPI in ump
Test: TH
Change-Id: Icd3c87a7da9b45e5341a1a2ead68f0a9809591bb
2023-12-04 08:59:43 +00:00
Yang Sun
f2987b8bf8 Add support for setsockoptBytes
Test: atest FrameworksNetTests:android.net.connectivity.android.net.NetworkUtilsTest
Change-Id: I3d94172fa8a42e2ab8ba4caf80d5caaa11fac703
2023-12-04 09:02:45 +08:00
Motomu Utsumi
dda4052e54 Merge "Revert^2 "Update NetworkAgent#register to compatible with old NetworkAgentTest"" into main 2023-12-01 12:24:04 +00:00
Motomu Utsumi
3c5891764c 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
2023-12-01 06:31:19 +00:00
Nick Wille
3139f9794c Merge "Revert "Update NetworkAgent#register to compatible with old NetworkAgentTest"" into main 2023-11-30 23:06:23 +00:00
Nick Wille
db884c9a93 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
2023-11-30 22:07:14 +00:00
Motomu Utsumi
f73d80b61c Merge "Update NetworkAgent#register to compatible with old NetworkAgentTest" into main 2023-11-30 08:59:50 +00:00
Motomu Utsumi
1e7c4a494d 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
2023-11-30 06:19:40 +00:00
Motomu Utsumi
d3d41ac7a4 Merge "Remove --show-annotation FlaggedApi from flagged-apis-droidstubs" into main 2023-11-22 14:22:04 +00:00
Motomu Utsumi
ba5dde84f1 Remove --show-annotation FlaggedApi from flagged-apis-droidstubs
framework-connectivity-flagged-apis-droidstubs is used by
jarjar-rules-generator to avoid jarjaring flagged apis.
But, this usage of --show-annotation FlaggedApi in the flag is not
supported.
So this CL removes --show-annotation FlaggedApi.
As far as framework-connectivity-flagged-apis-droidstubs contains
flagged APIs, it's fine that this droidstubs also contains non-flagged
APIs.

Test: TH
Bug: 312408311
Change-Id: I2f1f5624d98873420c0c36ac6e31386102211045
2023-11-22 19:05:48 +09:00
Ken Chen
e5c9138ead Merge "Explicitly select mdns_aidl_interface-V1-java" into main 2023-11-21 09:02:35 +00:00
Ken Chen
7da858ca1a Explicitly select mdns_aidl_interface-V1-java
The only version of mdns_aidl_interface supported by Netd is V1. After
that, the entire interface has been deprecated (which is the V2). The
latest stable version is no longer meaningful because no one is supposed
to use V2.

Bug: 298594687
Test: m
Change-Id: I9ac8199312cdc5d829889ea562979cad7d3bf054
2023-11-21 01:58:13 +00:00
Jean Chalard
51c80a72d8 Merge "Add more powerful CTS for allowedUids" into main 2023-11-20 04:44:22 +00:00
Chalard Jean
5301778ad8 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
2023-11-20 12:16:39 +09:00
Motomu Utsumi
110d5f54fc Merge "Fix FlaggedAPI droidstubs to includes non flagged SystemApi" into main 2023-11-17 02:03:12 +00:00
Junyu Lai
d3447a1d52 Merge "[BR11] Read data saver status from bpf" into main 2023-11-16 02:57:55 +00:00
Junyu Lai
9e88052fe7 [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
2023-11-15 12:26:40 +08:00
Anton Hansson
f5fa3c6c72 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
2023-11-10 13:28:07 +00:00
Yang Sun
d25444ffce Add equals, hashCode to MulticastRoutingConfig
Add helper functions to help compare if MulticastRoutingConfig
has changed.

Test: atest MulticastRoutingConfigTest
Change-Id: I30ed4796efbaafbcf1a273c12a9231ec02bc36f0
2023-11-10 13:06:22 +08:00
Jean Chalard
8a5055a3e9 Merge "Prepare exposing LocalNetworkConfig and its satellites" into main 2023-11-10 03:08:07 +00:00
Jihoon Kang
be43ef41bc Merge "Add overriding method of a default method to signature files" into main 2023-11-09 17:00:53 +00:00
Anton Hansson
879946d1c9 Merge "Baseline issues that were previously suppressed" into main 2023-11-09 10:03:23 +00:00
Jihoon Kang
9c5c9b0a94 Add overriding method of a default method to signature files
Currently, the signature file elides overrides of a default method,
as they are not essential for the compilation of the stubs.
However, in some scenarios, the overrides of a default method may be
essential for the compilation of the reverse dependency of the stubs.
In the scenario seen below:
```
// API
interface ApiInterface {
    public default void bar() {};
}
class ApiClass implements AnotherParentInterface{
    public void bar() {}
}

// App depending on the API
interface AppInterface {
    public void bar();
}
public class AppClass extends ApiClass implements AppInterface {
}
```
Removal of `ApiClass.bar()` will lead to not overriding an abstract method
`AppInterface.bar()` compilation error in `AppClass`.
Therefore, this change adds the overrides of a default method to the
signature files.

Test: checkapi
Bug: 299366704
Change-Id: Ie11dbeafc39efec06f605e306c92155e834a6685
2023-11-09 09:40:27 +00:00
Motomu Utsumi
2f2aa21419 Fix FlaggedAPI droidstubs to includes non flagged SystemApi
FlaggedAPI annotated SystemAPI/ModuleAPI should be able to reference
the SystemAPI/ModuleAPI without FlaggedAPI annotation.
framework-connectivity-flagged-apis-droidstubs was failing to build in
this case. This CL fixes this issue.

After this CL, flagged apis droidstubs build even if the
FlaggedAPI annotated SystemAPI references the public API.
But this is caught by other targets and this should not be the issue.

Test: m framework-connectivity-flagged-apis-droidstubs
Change-Id: I0e0b5213c8e9b757e1b25c2a40b15b2c820ddd59
2023-11-09 17:45:52 +09:00
Chalard Jean
bb2557aa3a 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
2023-11-09 14:26:13 +09:00
Jean Chalard
7cf6e5a3b0 Merge "Add test to make sure that unwanted local nets disconnect correctly" into main 2023-11-09 02:08:36 +00:00
Suprabh Shukla
2d893b68a9 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
2023-11-08 10:17:30 +00:00
Motomu Utsumi
b51381e0e1 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
2023-11-08 14:44:17 +09:00
Jean Chalard
e28740f79b Merge changes I301bf032,I8caca97b into main
* changes:
  Rename TiramisuConnectivityInternalApiUtil
  Add LocalNetworkInfo and send callbacks when it changes
2023-11-07 13:29:00 +00:00
Chalard Jean
4fe2339f2c 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
2023-11-07 22:28:25 +09:00
Anton Hansson
d8e40b3204 Baseline issues that were previously suppressed
java_sdk_library has previously internally disabled a few legitimate
issues. As this is being un-done for modules, add baselines for the
pre-existing issues.

Bug: 306806877
Test: m checkapi
Merged-In: Ie764d33196675e1482f30ecfd3d6d22b7fa25c27
Change-Id: Ie764d33196675e1482f30ecfd3d6d22b7fa25c27
2023-11-07 08:40:36 +00:00
Chalard Jean
674f34702c 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
2023-11-07 17:29:39 +09:00
Chalard Jean
22350c93b4 Add LocalNetworkInfo and send callbacks when it changes
Test: CSLocalAgentTest
Change-Id: I8caca97b891081f9212a01d428a34ed1a08d5126
2023-11-07 17:29:38 +09:00
Motomu Utsumi
f652d2ca82 Merge "Make FlaggedAPI available to CtsThreadNetworkTestCases" into main 2023-11-07 07:29:13 +00:00
Treehugger Robot
6795186c00 Merge "Remove the OffloadServiceInfo from jarjar exclusion" into main 2023-11-07 03:27:41 +00:00
Motomu Utsumi
ada9e9877c Make FlaggedAPI available to CtsThreadNetworkTestCases
FlaggedAPI will be ignored in udc-mainline-prod.
This makes CtsThreadNetworkTestCases build fail.
This CL updates CtsThreadNetworkTestCases to build against FlaggedAPI
and also updates framework-connectivity-jarjar-rules not to jarjar
FlaggedAPI.

Test: TH
Test: m CtsThreadNetworkTestCases
Change-Id: Ida8872b3bf61b7a59733f5fcec9e7d250efd3e58
2023-11-07 12:21:45 +09:00
Motomu Utsumi
d872c3c960 Merge "Add methods for updating ingressDiscardRule bpf map to BpfNetMaps" into main 2023-11-06 10:41:53 +00:00
Yuyang Huang
56cb85e1f5 Remove the OffloadServiceInfo from jarjar exclusion
The OffloadServiceInfo is already became API. It is not necessary to
keep it in jarjar exclusion anymore.

Test: TH
Change-Id: I81020553dfab4d7d8c88a67959058a99beb3b803
2023-11-06 17:49:53 +09:00
Junyu Lai
bb59480733 [BR03.1] Expose isUidNetworkingBlocked
Test: atest CtsHostsideNetworkTests:com.android.cts.net.HostsideNetworkCallbackTests
Bug: 297836825
Change-Id: I70b2351b9cd1c3c6fa34258397e0bf22cb8150b2
2023-11-06 13:26:19 +08:00
Chalard Jean
820ce9df2d Add forwarding methods to RoutingCoordinator
Test: RoutingCoordinatorServiceTest
      TetheringTest
Change-Id: I2fa6250875d517c3452c85a3678d3feb0c0354d8
2023-11-02 23:25:32 +09:00
Chalard Jean
842a914dff Rename KEEP_CONNECTED_DOWNSTREAM_NETWORK to K_C_LOCAL_NETWORK
...following feedback

Test: FrameworksNetTests
Change-Id: I9c25f0b066a58980bf071d2b958223ed609f0d8e
2023-11-02 23:25:31 +09:00
Motomu Utsumi
2a2e2c34b0 Merge "Update udc-extended-api that ignores FlaggedAPI annotation" into main 2023-11-02 09:23:37 +00:00
Motomu Utsumi
ef98bd5ff8 Update udc-extended-api that ignores FlaggedAPI annotation
Test: m checkapi in udc-mainlnine branch
Change-Id: I9baa1b1537b4ceb1ac9696da2026fffd71c58067
2023-11-02 04:26:37 +00:00
Junyu Lai
c3dc5b6222 [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
2023-11-01 11:10:01 +08:00
Junyu Lai
e003152e2c [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
2023-10-31 16:33:41 +08:00
Motomu Utsumi
77b49996d2 Add methods for updating ingressDiscardRule bpf map to BpfNetMaps
Bug 295800201
Test: NetworkStaticLibsTests

Change-Id: I42bc0adc22c3018480029d624053f758d815e526
2023-10-31 17:07:46 +09:00