Commit Graph

1050 Commits

Author SHA1 Message Date
Hansen Kurli
a25fdeb1c7 Expose internal representation of transport types.
Add getTransportTypesInternal as a hidden api for internal callers. This
will be used for any metrics that need to store the transport types of a
network.

Bug: 273451360
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:13189e957d91faed65c06b35bfc2e29c1456c751)
Merged-In: I527638e5408e7971a450135345e7e51b6125d665
Change-Id: I527638e5408e7971a450135345e7e51b6125d665
2023-06-16 07:44:10 +00:00
Aaron Huang
25ef171b68 Fix a bug where the PAC proxy port is not set correctly.
Test: new test for this behavior in the preliminary change
Test: FrameworksNetTests NetworkStackTests
Fixes: 138810051
Fixes: 140610528
(cherry picked from https://android-review.googlesource.com/q/commit:9fe47bee099125cf01fa153cdef28e100b9f3a0c)
Merged-In: I95a979d232fb60ece2e33e972bf5d66d20357a1f
Change-Id: I95a979d232fb60ece2e33e972bf5d66d20357a1f
Bug: 263074841
2023-06-08 03:58:12 +00:00
chiachangwang
f2c2344ccd DO not throw exception for ERROR_NO_SUCH_SLOT error
There are multiple independent reasons a keepalive can stop. Some
are software (e.g. the app stops the keepalive) and some are hardware
(e.g. the SIM card gets removed). Therefore, there is a very low
probability that both of these happen at the same time, which would
result in the first stop attempt returning SUCCESS and the second
stop attempt returning NO_SUCH_SLOT. Such a race condition can be
ignored with a log, not to crash the system. Change to wtf log so
that the issue could still be visible since this implies possible
bugs in the system.

Also update the javadoc for SocketKeepalive.ERROR_NO_SUCH_SLOT.

Bug: 281484381
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:75673ba5025faa191ae188100b117a4095fab8ab)
Merged-In: I316a2193fc7302b04e074ff0b03dc43946fe5ce6
Change-Id: I316a2193fc7302b04e074ff0b03dc43946fe5ce6
2023-05-23 07:16:21 +00:00
Maciej Żenczykowski
76f4365d74 LinkProperties: use ordered comparison for P-CSCFs - only on U+ am: 15756bc0b1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/23367413

Change-Id: I5f4e81155c1b0107371b623db978b370f109587f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-22 08:21:05 +00:00
Maciej Żenczykowski
15756bc0b1 LinkProperties: use ordered comparison for P-CSCFs - only on U+
to make sure a mainline update doesn't break devices in the field

Test: TreeHugger
Bug: 268479036
Signed-off-by: Maciej Żenczykowski <maze@google.com>
(cherry picked from https://android-review.googlesource.com/q/commit:f7939fa8d1c4566d056a8501e610c8fe18ac98f8)
Merged-In: Iadcd861509d31b3ed6352d452a159cd89af479dd
Change-Id: Iadcd861509d31b3ed6352d452a159cd89af479dd
2023-05-22 03:53:39 +00:00
wangshengrjxtjcb
9b5334dbad Fix agents disconnecting in SUSPENDED state.
Network state is not changed to disconnected when a networkagent
is disconnected and network state is SUSPENDED.

So the function requiresClat return true. Clat is not stoped.

Bug: 277682237
Test: atest FrameworksNetTests
(cherry picked from https://android-review.googlesource.com/q/commit:fd5d3d90e1da7411104902ddfe859ebd0e4a02fb)
Merged-In: I5edfcf64aca5d2d34325d722dd29fab41bcf2600
Change-Id: I5edfcf64aca5d2d34325d722dd29fab41bcf2600
2023-05-17 02:42:14 +00:00
Maciej Żenczykowski
49b5be947d [automerge] LinkProperties: use ordered comparison for P-CSCFs. 2p: 78b8ff8493
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/23246157

Bug: 268479036
Change-Id: Ic2976edb195382e7963d83b2529ce8bf42989e9d
Merged-In: Ia1884f37739a20d871dd0024cc72cb18c083dc8e
2023-05-15 17:48:28 +00:00
Maciej Żenczykowski
78b8ff8493 LinkProperties: use ordered comparison for P-CSCFs.
P-CSCF list is ordered list. Two lists with same servers but
in different order are not equal. Use proper comparison.

The P-CSCF address is a kind of entry point (proxy) of Server
for IMS transaction between device and IMS Server.  It can have
multiple addresses as a list. Even if the same addresses have
different orders, it is assumed that the server order has changed.

Bug: 268479036
Test: TreeHugger
(cherry picked from https://android-review.googlesource.com/q/commit:b0fc6627a6f76c02f3e420bbdd0a86581c955234)
Merged-In: Ia1884f37739a20d871dd0024cc72cb18c083dc8e
Change-Id: Ia1884f37739a20d871dd0024cc72cb18c083dc8e
2023-05-15 17:48:20 +00:00
Remi NGUYEN VAN
6ca0296d76 Move ConnectivityResources to service-connectivity
The ConnectivityResources class is only usable with QUERY_ALL_PACKAGES
permission, so it is not generally usable in framework-connectivity. It
is also backed by the ServiceConnectivityResources APK, which is
intended as resources for service-connectivity.

Move the class to service-connectivity and update callers. CTS needs a
way to determine the supported keepalive count as it used the
resources from KeepaliveUtils as @hide API, so provide a
ConnectivityManager @hide API for testing.

Bug: 279108992
Test: atest
(cherry picked from https://android-review.googlesource.com/q/commit:bee2ee14f34ff028236b393523d1174a375d2a08)
Merged-In: I3c9a77c580b5ab87c922c32778bce15dc33b4d1d
Change-Id: I3c9a77c580b5ab87c922c32778bce15dc33b4d1d
2023-05-10 03:10:42 +00:00
Treehugger Robot
7f7ce481f9 Merge changes I33bc80cc,Ie84e2cd4 am: fd402476f1 am: 0d3d27ecc1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2384592

Change-Id: I42ea6b11578823dd3adf7768edee98c992127e52
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-20 19:54:54 +00:00
Treehugger Robot
0d3d27ecc1 Merge changes I33bc80cc,Ie84e2cd4 am: fd402476f1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2384592

Change-Id: Id8d9a686e729b920826f0b6e205f770768585925
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-20 18:32:02 +00:00
Treehugger Robot
fd402476f1 Merge changes I33bc80cc,Ie84e2cd4
* changes:
  EthernetManagerTest: update tests that bring up tap without carrier
  TestNetworkService: use IFF_NO_CARRIER to bring up iface without carrier
2023-04-20 18:01:28 +00:00
Maciej Żenczykowski
da7b9a60b0 Merge "switch to classic bpf macros" am: ea07e4dff2 am: ef5a6afcd8
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2480336

Change-Id: Id81641723a3b2109cb63702d06ce3b41e1846e81
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-19 20:34:37 +00:00
Maciej Żenczykowski
ef5a6afcd8 Merge "switch to classic bpf macros" am: ea07e4dff2
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2480336

Change-Id: Ic1f267f32710e2dc31249b0b2b1222577cb8b43c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-19 19:48:49 +00:00
Maciej Żenczykowski
ea07e4dff2 Merge "switch to classic bpf macros" 2023-04-19 19:37:02 +00:00
Motomu Utsumi
43007b14df Merge "Move cronet to framework-connectivity" am: 8b02a2682a am: ceb9f59803
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2535863

Change-Id: I42bfc86f2f004faddf8ce71ace0ce7c3feb1c895
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-19 07:32:33 +00:00
Motomu Utsumi
ceb9f59803 Merge "Move cronet to framework-connectivity" am: 8b02a2682a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2535863

Change-Id: I0d22e595a4df67e3cf7c4300714b8e6bf736703d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-19 06:47:45 +00:00
Motomu Utsumi
73e2e87d56 Move cronet to framework-connectivity
aosp/2384137 added cronet to framework-tethering.
But framework-connectivity is a better place to put cronet since
cronet does not work on R devices (b/270049141) and
framework-tethering is R+, framework-connectivity is S+.

Followup CLs will move some modules (e.g. CronetJavaPrejarjarDefaults)
that use the branch dependent soong variables to framework/Android.bp

Test: TH
Bug: 278070640
Change-Id: I6bc10116759fb9e083c02147908e53022dab740a
2023-04-19 11:32:12 +09:00
Maciej Żenczykowski
32b46a4d36 switch to classic bpf macros
Note: this switches
  com_android_networkstack_tethering_util_setupIcmpFilter
over to relative cbpf which in turn is called from:
  com_android_networkstack_tethering_util_setupNaSocket
  com_android_networkstack_tethering_util_setupNsSocket
and tested by p/m/C's:
  TetheringUtilsTest.java - testIcmpSocketFilters()

Test: TreeHugger, atest TetheringUtilsTest
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I22a5ea8f8e3b879a37fe4acd84f61020661eaa71
2023-04-19 00:06:15 +00:00
Chiachang Wang
cfdedd1d02 Merge "Separate events usage for starting socket keepalives" am: 2cf6b2c4fd am: 56a01b57e4
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2535341

Change-Id: Ifbcefecfb70076edeffd115a4d465821e3a58e41
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-17 02:54:47 +00:00
Chiachang Wang
56a01b57e4 Merge "Separate events usage for starting socket keepalives" am: 2cf6b2c4fd
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2535341

Change-Id: Ifa574e6fa845967d1c389fc9a825418d0993e9a2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-17 02:41:27 +00:00
Chiachang Wang
2cf6b2c4fd Merge "Separate events usage for starting socket keepalives" 2023-04-17 02:32:00 +00:00
Yuyang Huang
97caf8ea9f Merge "Handle downstream tethering interface addresses in MdnsSocketProvider" am: 885854c9ee am: 2215730e12
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2490879

Change-Id: Ifc04af1999382fa03379e65c752462d85f22d44a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-16 02:02:57 +00:00
Yuyang Huang
2215730e12 Merge "Handle downstream tethering interface addresses in MdnsSocketProvider" am: 885854c9ee
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2490879

Change-Id: I1052d86478a5caf947369c7ca1bc14e2d065a966
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-16 01:32:49 +00:00
Yuyang Huang
700778be70 Handle downstream tethering interface addresses in MdnsSocketProvider
MdnsSocketProvider currently does not fill addresses of downstream
tethering interfaces in its callbacks. The interface addresses should be
properly updated by listening to the Netlink messages.

Test: atest FrameworksNetTests CtsNetTestCases
Bug: 267980538
Change-Id: I753e547a1b092703fe59c6c9e922ee8aca245f67
2023-04-15 21:55:51 +09:00
chiachangwang
f1b1fb4b7f Separate events usage for starting socket keepalives
This is a clean up commit to correct the javadoc of
NetworkAgent.CMD_START_SOCKET_KEEPALIVE. This event was used
between ConnectivityService/NetworkAgent, and also
ConnectivityService/KeepaliveTracker with different semantics.
This may confuse the developers to update the doc incorrectly,
so also separate the usage to different events.

Also move the event definitions together so that a new event
definition will not mis-use the existing values.

Test: atest FrameworksNetTests
Change-Id: I73ebd8abcc610531da3057da2d643a41befb2099
2023-04-14 07:43:56 +00:00
Yan Yan
e5aed4c51e Merge "Retain subscription IDs on restricted test networks" am: 51db40f5e5 am: 5aed3bff05 am: 860598a6a4
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2506442

Change-Id: I9e49ad24c24f30496945297ca3b7349ff40eac1f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-31 05:04:41 +00:00
Yan Yan
815cedfcbb Merge "Retain subscription IDs on restricted test networks" am: 51db40f5e5
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2506442

Change-Id: Ia0a32684c36081d8ad364b5105a8829480e35c95
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-31 04:16:22 +00:00
Yan Yan
9064ee95de Merge "Add allowed capabilities on non cellular test networks" am: d71f6efa89 am: 63df2d1b66 am: e607e8a4e0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2470461

Change-Id: I2dba5901aca1ff4283c7d1e122d258aa692dca5a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-30 19:13:17 +00:00
Yan Yan
ad3e1f3b08 Merge "Add allowed capabilities on non cellular test networks" am: d71f6efa89
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2470461

Change-Id: I35f2fa55c34628cae9cd6556497b0d385c24339e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-30 16:23:18 +00:00
Yan Yan
966fb798a1 Retain subscription IDs on restricted test networks
Fix the bug where subscription IDs will be cleared
on a restricted test network

Bug: 263415068
Test: NetworkCapabilitiesTest
Change-Id: I977781cd81f9d86858bd264825d66a2a69f6ce53
2023-03-30 07:49:13 +00:00
Yan Yan
acd71e68a6 Add allowed capabilities on non cellular test networks
This commit expands the allowed capabilities of non cellular test
networks to include another three values, so that CTS can verify
features that do network selection based on those capabilities.

It is relatively safe becuase for apps that request TRANSPORT_CELLULAR
and the affected capabilities, test networks will still not become their
default networks.

Bug: 263415068
Test: atest NetworkCapabilitiesTest(new tests)
Change-Id: I2e348e4722ecdaa6e277fe77968916ffa2f16af9
2023-03-22 18:27:19 -07:00
Paul Hu
5c28b172f7 Merge "Add a CompatChange flag to enable platform backend" am: 62503cfef1 am: fa2a4f33d9
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2452427

Change-Id: I8211177f9cef3b2a36ab5e00a34d77346693e5c6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-17 14:24:13 +00:00
Paul Hu
fa2a4f33d9 Merge "Add a CompatChange flag to enable platform backend" am: 62503cfef1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2452427

Change-Id: I9591abf64328d91a470bccb9816ad19bf09672f1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-17 13:49:09 +00:00
Paul Hu
62503cfef1 Merge "Add a CompatChange flag to enable platform backend" 2023-03-17 13:14:19 +00:00
Paul Hu
2e0a88c0fa Add a CompatChange flag to enable platform backend
Apps targeting sdk < U are considered to use a legacy native
daemon as NsdManager backend, but other apps use a
platform-integration mDNS implementation as backend. So add a
CompatChange flag to enable platform backend for non-legacy
apps.

Bug: 270306772
Test: atest FrameworksNetTests CtsNetTestCases
Change-Id: I7ba58f8a5186fb49ad5f8aeacc8b8234bef1eabe
2023-03-17 09:10:46 +08:00
Anton Hansson
893cd2592c Merge "Use filegroup defaults for framework sources" am: 41ad986490 am: 2b246a30df
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2489555

Change-Id: Ia00a74bb0665cda921f8ab8194c4e0dfced721be
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-16 10:01:06 +00:00
Anton Hansson
2b246a30df Merge "Use filegroup defaults for framework sources" am: 41ad986490
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2489555

Change-Id: Ib228177586d24d210a1abf808af2557d929141c0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-16 09:27:51 +00:00
Anton Hansson
57f3d69fd5 Use filegroup defaults for framework sources
There's now a shared defaults module for this kind of filegroup. Use
that and remove the previously duplicated prop.

Bug: 271816210
Test: m
Change-Id: Ia4547984a73179fdfc98c427482dd10246f9722c
2023-03-15 10:36:52 +00:00
Chiachang Wang
3e50f69b9f Merge "Correct nullability and add extra check for underpinnedNetwork" am: e932d646b3 am: 0168ce6b10
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2483815

Change-Id: Id69e4e1f79c5f4ddda1a771b50f2a40289b4e3d4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-14 02:34:50 +00:00
Chiachang Wang
0168ce6b10 Merge "Correct nullability and add extra check for underpinnedNetwork" am: e932d646b3
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2483815

Change-Id: I4de1de03e0de8750ea4bfd12b8a6bdffe10bab11
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-14 01:55:56 +00:00
chiachangwang
c51a705a45 Correct nullability and add extra check for underpinnedNetwork
As the review feedback, this commits address below concern.

1. The TCP keepalive code doesn't use the network parameter
at all. This parameter doesn't seem meaningful for TCP
keepalives. Starting a TCP keepalive with a non-null underpinned
network should throw IllegalArgumentException.

2. The feedback mention that the start version which takes a
@NonNull network should throw NPE if the network is null. But
Starting a NATT keepalive does not always require a underpinned
network. A new IkeSession started from Vpn will also not assign
the underpinned network at the initial stage which means
underpinned will be null until setNetwork() is called. Thus,
the underpinned network should be @Nullable instead.

Fix: 271797087
Test: atest FrameworksNetTests
Change-Id: Ieb57a7b15a06b2ccd94358b65cc00768c4f62e7d
2023-03-13 09:00:43 +00:00
Cole Faust
14ac5adac5 Baseline NewApi issues
NewApi was recently updated to support linting methods in
the system, module_lib, and system_server sdks, and was
demoted to a warning due to the new issues it finds.
Baseline all the new issues that NewApi can be made an error
again.

These cls were generated automatically by a script that
copied the NewApi issues from the reference baselines.

Bug: 268261262
Test: m lint-check
Change-Id: I5b97824b873987073bd17a9af16bdf822f649f4a
2023-03-09 14:07:52 -08:00
Sherri Lin
8e5dd3d277 Merge "Update ConnectivityManager javadoc" am: 9e8162c6e0 am: 5eaf68e0e1
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2423128

Change-Id: Ie4649b1fcf72c07c6a4814e420878cd290e68439
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-07 17:57:34 +00:00
Sherri Lin
5eaf68e0e1 Merge "Update ConnectivityManager javadoc" am: 9e8162c6e0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2423128

Change-Id: I73d854cd8f891b457c6474c568f1a024adc4ebef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-07 17:25:48 +00:00
Sherri Lin
9e8162c6e0 Merge "Update ConnectivityManager javadoc" 2023-03-07 16:50:15 +00:00
Chalard Jean
72de76b501 [DO NOT MERGE]Change @link to @code for classes not yet in tm-mainline-prod
Test: TreeHugger
Bug: 271772099
Ignore-AOSP-First: stopgap fix for old builds like tm-mainline-prod
Change-Id: Ie4f7c7d6eca1f64b8ebd948d67d41ce13759871a
2023-03-06 02:58:59 +00:00
Chalard Jean
82f1b5e818 Improve doc for NetCaps and NetRequest, and add slice XML docs
Test: comment-only change
Bug: 266524688
Change-Id: Iffeba94ea8e2f4913188ae33933ef30c532ea13a
2023-03-03 16:10:37 +09:00
Yuyang Huang
a908d816de Merge "Check network slicing declaration for network request" 2023-03-01 02:13:31 +00:00
Yuyang Huang
96e8bfee5f Check network slicing declaration for network request
When the application wants to request network with
NET_CAPABILITY_PRIORITIZE_BANDWIDTH or
NET_CAPABILITY_PRIORITIZE_LATENCY, it has to declare
PackageManager.PROPERTY_NETWORK_SLICE_DECLARATIONS property and also
adds the declaration in a separate XML files. Otherwise, the request
will fail with a SecurityException being thrown.

Test: atest FrameworksNetTests CtsNetTestCases
Bug: 266524688
Change-Id: I6affc857b803211517368da288e1b2fdc06a955b
2023-02-28 17:38:30 +09:00