Commit Graph

43661 Commits

Author SHA1 Message Date
Remi NGUYEN VAN
6c232e9b49 Merge "Mark connectivity module tests as such" 2022-01-19 06:49:39 +00:00
Remi NGUYEN VAN
0ac9163620 Merge "Do not verify field count in tests used in CTS" 2022-01-19 06:49:28 +00:00
William Escande
5fd2c7033a Move LocalSocketTest out of packages/modules/Connectivity.
This test is testing non-updatable code in frameworks/base, so it should
not live in packages/modules/Connectivity.

Test: treehugger
Change-Id: Ifdefeeca0190d27e98f687446f984dcc711a8c55
2022-01-19 04:03:26 +00:00
Chiachang Wang
af7c44cc4e Add missing DevSdkIgnoreRule rule variable
DevSdkIgnoreRule.IgnoreUpTo() will not work as expected without
the rule defined.

Bug: 184750836
Test: atest android.net.Ikev2VpnProfileTest#\
      testBuildExcludeLocalRoutesSet works as expected with ignore
      rule
Change-Id: I03a5b28963cd6feebe4358d57c070d941cd114e5
2022-01-18 11:25:03 +00:00
Chiachang Wang
9164c10b67 Send exclude local routes value to netd for VPN network
Bug: 184750836
Test: atest FrameworksNetTests
Change-Id: I40ce741b6e918db7bf62cb5f29d9be1b16a94902
2022-01-18 17:45:30 +08:00
Remi NGUYEN VAN
e347301890 Mark connectivity module tests as such
Add @ConnectivityModuleTest to tests for classes that are mainly used to
back the connectivity (tethering) module, in particular data classes.

This causes the test not to be run in NetworkStack/CaptivePortalLogin
MTS tests when the connectivity (tethering) module is not installed.
Skipping such tests is necessary in that configuration as they may test
behavior that is new in the latest update, and data classes backing the
connectivity module would not be affected by
NetworkStack/CaptivePortalLogin updates anyway.

Bug: 211075897
Test: atest CtsNetTestCasesLatestSdk
Change-Id: I6163cd998fc78765b903fdb7acd21e652bc711c9
2022-01-18 16:55:44 +09:00
Remi NGUYEN VAN
8bc36966d4 Do not verify field count in tests used in CTS
Tests in tests/common and tests/cts are run as part of CtsNetTestCases.
Many used assertFieldCountEquals in parceling/unparceling tests to
ensure that unexpected fields were not added, or that they were not
missed when testing parceling/unparceling.

However with many of the classes updatable through module updates, the
field count may change in the future, breaking CTS tests.

Stop checking for the field count, as it would break on module releases,
and its value is lower than the maintenance cost.

Bug: 205901761
Test: atest CtsNetTestCases
Change-Id: I79854741f7e834574d4825bb737ef507785310fe
2022-01-18 16:55:32 +09:00
Lorenzo Colitti
7aac4ad2f7 Add an OWNERS_core_networking_xts for CTS/GTS/... and use it.
This uses a similar scheme to our existing OWNERS files, which
all come from a common location in the master branch.

Test: repo upload
Change-Id: I672070302789ac38a738ab6626f47ec9cbc75dd9
2022-01-18 01:42:39 +00:00
Lorenzo Colitti
be53da163c Add java defaults for mainline-presubmit as well.
Test: m
Change-Id: Ie5b7f48ff59af136edff272fad1d544585a911e6
2022-01-18 08:38:04 +09:00
Treehugger Robot
2fe71c70ab Merge "Don't pass non-const refs." 2022-01-17 15:57:35 +00:00
Lorenzo Colitti
da0c43e38f Run bpf_existence_test in mainline-postsubmit.
The TEST_MAPPING file already contains a mainline-postsubmit
stanza, but according to go/test-mapping-mainline-user-guide
this information also needs to be in AndroidTest.xml (or in
Android.bp, for tests that are not covered by an AndroidTest.xml
and where soong autogenerates the test config).

Test: m bpf_existence_test
Change-Id: I103f5fefbfefa6fd2b59ab6c209fbf1dceada4ba
2022-01-18 00:13:51 +09:00
Aaron Huang
63b5da9866 Merge "Use getter methods to verify the fields of Entry" 2022-01-17 09:31:55 +00:00
markchien
69681d65a5 Use new bluetooth API to enable/disable bt tethering after T
This change only apply to the device after T.
Use new bluetooth API to change bluetooth tethering settings and the
new API provide the callback to to notify Tethering when bluetooth
interface is ready. Tethering doesn't use bluetooth interface status
change event from netlink to add/remove IpServer anymore.

Tag: #feature
Bug: 190438212
Test: TetheringTest
Change-Id: Iae92d98d500f83b116da7282cf1130fb8fecf53d
2022-01-17 16:47:43 +08:00
Hungming Chen
f9d40ae77a Set the permission to file clatd and directory for-system
Set clatd privs to clat:clat:-r-sr-sr-x and set its parent
directory privs to root:system:dr-xr-x---. Makes sure that
only root and system group members can execute the binary.

Test: flash and check the file permission

$ adb shell ls -lZ /apex/com.android.tethering/bin
dr-xr-x--- 2 root system u:object_r:system_file:s0  4096 1970-01-01 08:00 for-system

$ adb shell ls -lZ /apex/com.android.tethering/bin/for-system
-r-sr-sr-x 1 clat clat u:object_r:clatd_exec:s0  24352 1970-01-01 08:00 clatd

Bug: 212345928
Test: test clat
1. Connect to ipv6-only wifi.
2. Make IPv4 traffic.
   $ ping 8.8.8.8

Change-Id: I9537d47b135e6e0324fb40ece2b9f7befb159244
2022-01-14 18:33:40 +08:00
markchien
68cfadc523 Fix some typos in comments
This is CL just fix comments without changing behavior.

Bug: 209935649
Test: m
Change-Id: Iac40477bd2a3c48ba2a3f75a9cdf1174bcc89c3c
2022-01-14 13:47:13 +08:00
Mark Chien
21f0d58294 Merge "Add swapActiveStatsMap API for NetworkStatsFactory" 2022-01-14 05:35:25 +00:00
Mark Chien
094de6b7c4 Merge "Add replaceFirewallChain API" 2022-01-14 05:33:58 +00:00
Mark Chien
9bba8e8c78 Merge "Add setFirewallChainEnabled API" 2022-01-14 05:33:38 +00:00
Mark Chien
c65ecacd6f Merge "Add updateFirewallRule API" 2022-01-14 05:33:22 +00:00
Maciej Żenczykowski
bb766e83c3 Merge "Add clatd binary to apex" 2022-01-14 03:22:34 +00:00
Maciej Żenczykowski
612afc316a Merge "Move BpfUtils -- integrate TcUtils into Tethering module" 2022-01-14 02:53:15 +00:00
markchien
9c8061134c Add swapActiveStatsMap API for NetworkStatsFactory
This CL should be reverted before T sdk finalized.
This API is temporary added for the NetworkStatsFactory which is platform
code but will be moved into connectivity (tethering) mainline module.

Bug: 209935649
Test: atest CtsHostsideNetworkTests
Change-Id: I5894450f3089b2ea105722a18ddf8f1eed1c28a0
2022-01-14 10:23:26 +08:00
markchien
00a0bed534 Add replaceFirewallChain API
To deprecated firewallReplaceUidChain netd binder and move the
functionality to tethering (connectivity) mainline module, expose
replaceFirewallChain to support the caller outside the module.
Currently the API are still call to netd. Will replace with the
implementation inside tethering (connectivity) module.

Bug: 209935649
Test: atest CtsHostsideNetworkTests
Change-Id: If7a87548b0a3acda00a1455da4e4ff24a630ddc7
2022-01-14 10:23:21 +08:00
markchien
98a6f95d0f Add setFirewallChainEnabled API
To deprecated firewallEnableChildChain netd binder and move the
functionality to tethering (connectivity) mainline module, expose
setFirewallChainEnabled to support the caller outside the module.
Currently the API are still call to netd. Will replace with the
implementation inside tethering (connectivity) module.

Bug: 209935649
Test: atest CtsHostsideNetworkTests
Change-Id: I9b64c9d12260521489a87fbeae5afbee2a8ea8f6
2022-01-14 10:23:15 +08:00
markchien
e1561fa800 Add updateFirewallRule API
To deprecated firewallSetUidRule netd binder and move the functionality to
tethering (connectivity) mainline module, expose updateFirewallRule to
support the caller outside the module. Currently the API are still call
to netd. Will replace with the implementation inside tethering
(connectivity) module.

Bug: 209935649
Test: atest CtsHostsideNetworkTests
Change-Id: I0b53c999e06c2378afec0eb491815ec398c91b0b
2022-01-14 10:19:51 +08:00
Lorenzo Colitti
32999378a7 Don't pass non-const refs.
Non-const refs are not allowed by style guide.
This was just an oversight.

Test: m bpf_existence_test
Change-Id: I8947118618dd5beef7f5643475d348f709799922
2022-01-14 09:41:11 +09:00
Maciej Żenczykowski
8f9cfde3d8 Merge changes I41dcf8aa,Ie13e1df6
* changes:
  Test for the existence of maps as well as programs.
  Minor simplifications in bpf_existence_test.
2022-01-13 22:27:18 +00:00
Sooraj Sasindran
226131ab48 Merge "Ability for DPM to specify fallback mechanism" 2022-01-13 17:24:07 +00:00
Junyu Lai
5db1ea12b5 Merge "[MS44.2] Add unit test for API to query tagged UID summary" 2022-01-13 11:25:15 +00:00
Taras Antoshchuk
b209f64b3c Merge "Use assumeTrue in VpnTest" 2022-01-13 10:03:57 +00:00
Patrick Rohr
a881ba3001 Move BpfUtils -- integrate TcUtils into Tethering module
Bug: 202086915
Bug: 157552970
Test: atest TetheringTests
Change-Id: Ibf9d8d568b9f890a22869e70384848e33a380d4f
2022-01-13 10:09:11 +01:00
Mark Chien
136f2d2d91 Merge "Add updateMeteredNetwork{Allow, Deny}List APIs" 2022-01-13 08:21:03 +00:00
Lorenzo Colitti
08a2e03231 Merge "Make MTS verify expected BPF programs based on OS version." 2022-01-13 08:14:08 +00:00
Lorenzo Colitti
8db39c4572 Test for the existence of maps as well as programs.
Test: passes on barbet running aosp/master
Change-Id: I41dcf8aa99a38a00227d608f421672c398cd2065
2022-01-13 16:12:35 +09:00
Lorenzo Colitti
32bd071ecb Minor simplifications in bpf_existence_test.
1. Use set instead of vector. This simplifies the code a bit.
2. Use proper NDK constants and functions to check the device
   OS version.

Test: test-only change
Test: passes on flame running qt-dev build (no-op)
Test: passes on flame running RQ3A build
Test: passes on raven running SP2A build
Test: passes on barbet running aosp/master
Change-Id: Ie13e1df674e50fcfb70811bc0dccae515cbb6e1c
2022-01-13 15:57:00 +09:00
Lorenzo Colitti
3b38b12071 Make MTS verify expected BPF programs based on OS version.
While this does not capture all nuances of optional programs,
go devices, etc. it should be a useful starting point to tell us
if something is really unexpected.

Test: test-only change
Test: passes on flame running qt-dev build (no-op)
Test: passes on flame running RQ3A build
Test: passes on raven running SP2A build
Test: passes on barbet running aosp/master
Change-Id: I43ff8c61c861c008cce459d2dcb487bb536c8da8
2022-01-13 15:31:27 +09:00
Sooraj Sasindran
06baf4cfa1 Ability for DPM to specify fallback mechanism
Bug: 194332512
Test: unit test
Change-Id: Id4d85da8f64e7559326c4657b8833dac3ce5ce3d
2022-01-13 06:07:36 +00:00
Frank Li
231503a08c Merge "[DU01]Remove INetworkManagementService from NetworkStatsService" 2022-01-13 05:45:42 +00:00
Treehugger Robot
0d4f956b34 Merge "Bump tethering target sdk version to 31" 2022-01-13 05:00:02 +00:00
Treehugger Robot
296a343528 Merge "Add a method to apply a set of network preferences to a user profile" 2022-01-13 04:08:34 +00:00
Chiachang Wang
e52be3b59f Merge "Add excludeLocalRoutes in NativeNetworkConfig" 2022-01-13 00:57:49 +00:00
Taras Antoshchuk
c8b0428da5 Use assumeTrue in VpnTest
Test: atest HostsideVpnTests
Change-Id: I399bb4d113e37869be50bfe73cb3d9b4fa2253ef
2022-01-12 22:41:35 +00:00
Filip Zakrzewski
8a5823db30 Test mapping imports for ethernet
Bug: 209505060

Change-Id: Icd74c2fbd9f3c5fc7e59679bb5b99950d8cdb820
2022-01-12 17:43:55 +00:00
Taras Antoshchuk
e4f2b591de Merge "Revert "Revert^2 "Revert "Add CTS tests for exclude VPN routes A..."" 2022-01-12 15:27:30 +00:00
Lorenzo Colitti
6909e63260 Add a simple test for ConnectivityService#dump.
Test: test-only change
Change-Id: I28f463c95815098821ed48c885ce67bd5e9e7676
2022-01-13 00:06:07 +09:00
Junyu Lai
7ef0a17544 [MS44.2] Add unit test for API to query tagged UID summary
Test: atest NetworkStatsManagerTest
Bug: 204830222
Change-Id: I0b712141b7c644205bba3a98ebf39803f0d05306
2022-01-12 14:07:02 +00:00
Remi NGUYEN VAN
6eb0654f9b Merge changes Iad0b0d52,Iee727308
* changes:
  Use recording callbacks in NsdManagerTest
  Refactor NsdManagerTest
2022-01-12 11:47:03 +00:00
markchien
bf62258f8c Bump tethering target sdk version to 31
Also add BLUETOOTH_CONNECT permission which is needed for access
PanService if target sdk 31+. The permission would be granted to
privilege application without prompt.

Also remove the min_sdk_version 29 from AndroidManifest because it is
useless that the Android.bp already define min_sdk_version 30.

$aapt dump xmltree TetheringNext.apk AndroidManifest.xml
N: android=http://schemas.android.com/apk/res/android
  E: manifest (line=19)
    A: android:sharedUserId(0x0101000b)="android.uid.networkstack" (Raw: "android.uid.networkstack")
    A: android:versionCode(0x0101021b)=(type 0x10)0x1f
    A: android:versionName(0x0101021c)="Tiramisu" (Raw: "Tiramisu")
    A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1f
    A: android:compileSdkVersionCodename(0x01010573)="Tiramisu" (Raw: "Tiramisu")
    A: package="com.android.networkstack.tethering" (Raw: "com.android.networkstack.tethering")
    A: platformBuildVersionCode=(type 0x10)0x1f
    A: platformBuildVersionName="Tiramisu" (Raw: "Tiramisu")
    E: uses-sdk (line=23)
      A: android:minSdkVersion(0x0101020c)=(type 0x10)0x1e
      A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1f
    ....
    E: uses-permission (line=35)
      A: android:name(0x01010003)="android.permission.BLUETOOTH_CONNECT" (Raw: "android.permission.BLUETOOTH_CONNECT")

Bug: 204265450
Test: manual testing bluetooth tethering and TH
Change-Id: I6f821020679b9379cada29f6f0816187545a24fb
2022-01-12 07:24:16 +00:00
Remi NGUYEN VAN
0f17237773 Use recording callbacks in NsdManagerTest
Refactor the test to use recording callbacks based on ArrayTrackRecord,
which allow removing the test's own logic to poll for events.

Bug: 190249673
Test: atest NsdManagerTest --rerun-until-failure 20
Change-Id: Iad0b0d52271b13954c0193b3b9d4307349a39443
2022-01-12 15:26:11 +09:00
Sooraj Sasindran
e7aee2736e Add a method to apply a set of network preferences to a user profile
Add a method to apply a set of network preferences to a user profile

Bug: 194332512
CTS-Coverage-Bug: 211133973
Test: CTS
Change-Id: I97730ea14e7c96922236fd77a591e5acadd875ba
2022-01-11 21:07:23 -08:00