Commit Graph

10985 Commits

Author SHA1 Message Date
Paul Hu
88cce3b781 Merge changes from topic "MdnsDM_running_on_looper_thread" am: d0ebd7023f am: 6cbaed8d60 am: 3b4934a2c0
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2493415

Change-Id: I2831908df3b2fe91eb39596a63edb4b7eb1a9eb5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 09:36:20 +00:00
Yuyang Huang
9d4d8c5919 Merge "Use case-insensitive matching in discovery/advertising" am: c61c5788fe am: e8c2f6af91 am: 7b68896fd5
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2579727

Change-Id: I9db56a47b62e8b88d569f1bd66fbba4e13b93f7f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 09:36:11 +00:00
Motomu Utsumi
52f35853cc Merge "Check clatd does not stop when suspended network is disconnected" am: d15b397606 am: 3f8661db20
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2588508

Change-Id: I743e046f20c27e623ad246edb71daa6fa94ac847
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 09:31:27 +00:00
Paul Hu
3b4934a2c0 Merge changes from topic "MdnsDM_running_on_looper_thread" am: d0ebd7023f am: 6cbaed8d60
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2493415

Change-Id: I24c08e5e0705b0757235ad7aa0d125ab2e0c27ef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 09:31:18 +00:00
Yuyang Huang
7b68896fd5 Merge "Use case-insensitive matching in discovery/advertising" am: c61c5788fe am: e8c2f6af91
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2579727

Change-Id: Ieed09780a6b0ac29d8b4ba503b561f92ca7e4ba1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 09:10:26 +00:00
Motomu Utsumi
5947b7006e Merge "Check clatd does not stop when suspended network is disconnected" am: d15b397606
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2588508

Change-Id: Ib4bfebe874400d676b56cfc76275e72608c50089
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 08:54:12 +00:00
Paul Hu
c43c995ae2 Merge changes from topic "MdnsDM_running_on_looper_thread" am: d0ebd7023f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2493415

Change-Id: I3cbbe6c32ec4abb5cdd93ac88d3967de1508eb2f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 08:53:59 +00:00
Motomu Utsumi
d15b397606 Merge "Check clatd does not stop when suspended network is disconnected" 2023-05-16 08:50:06 +00:00
Paul Hu
d0ebd7023f Merge changes from topic "MdnsDM_running_on_looper_thread"
* changes:
  Pass NsdService thread looper to MdnsDiscoveryManager
  Ensure MdnsDiscoveryManager calls to ServiceTypeClients on looper thread
2023-05-16 08:46:13 +00:00
Yuyang Huang
96df57f2d8 Merge "Use case-insensitive matching in discovery/advertising" am: c61c5788fe
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2579727

Change-Id: If733053b00a20bdc0444a154d44ec74a735cf66d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 08:33:11 +00:00
Remi NGUYEN VAN
3c0c515229 Update ConnectivityCheckTargetPreparer references am: e927220f1e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/23246249

Change-Id: I63a9b88cabb466325921f57ff3d68eaabfb085dd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 08:32:49 +00:00
Yuyang Huang
c61c5788fe Merge "Use case-insensitive matching in discovery/advertising" 2023-05-16 07:56:21 +00:00
wangshengrjxtjcb
fd5d3d90e1 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

Change-Id: I5edfcf64aca5d2d34325d722dd29fab41bcf2600
2023-05-16 16:35:03 +09:00
Paul Hu
7f0af78c5e Pass NsdService thread looper to MdnsDiscoveryManager
MdnsDiscoveryManager should use the same thread that create on
NsdService that is used on other mDns components. Thus, pass that
thread loop to MdnsDiscoveryManager.

Bug: 265787401
Test: atest FrameworksNetTests
Change-Id: Icc23994c3ebc99da6043ed2d93540c44f53a150b
2023-05-16 14:39:09 +08:00
Paul Hu
bd4140ea91 Ensure MdnsDiscoveryManager calls to ServiceTypeClients on looper thread
ServiceTypeClients will store/access services on MdnsServiceCache
in subsequent changes. And MdnsServiceCache can be accessed from
looper thread only. So ensure MdnsDiscoveryManager calls to
ServiceTypeClients on the looper thread.

Bug: 265787401
Test: atest FrameworksNetTests
Change-Id: I05e73140da58c029b49057bb0ccfdb8ed7818dfc
2023-05-16 14:38:36 +08:00
Remi NGUYEN VAN
89570aca44 Update ConnectivityCheckTargetPreparer references
Use the new ConnectivityTestTargetPreparer name instead, as the preparer
is being made more generic.

Bug: 263665773
Test: m
Merged-In: I520e92c449f366c51cda2f8b33fe9a354a8c0445
Change-Id: I520e92c449f366c51cda2f8b33fe9a354a8c0445
2023-05-16 15:15:55 +09:00
Remi NGUYEN VAN
6ca04d67bd Merge "Stop MdnsServiceTypeClient send on socket destroy" am: 3623306ccd am: 7916bb47fe am: b7bb454c28
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2585400

Change-Id: I5e453db4a3642c376a5b67c5a4a83ef989603c2e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 06:06:08 +00:00
Remi NGUYEN VAN
f3ad8af0f5 Merge "Do not send socket destroyed on unregistration" am: 76bd680f3d am: a2df145a3b am: cf746049e8
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2588446

Change-Id: I5d5222287f92faa81ec40cbaa030b1ffddf5204f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 06:05:58 +00:00
Remi NGUYEN VAN
e927220f1e Update ConnectivityCheckTargetPreparer references
Use the new ConnectivityTestTargetPreparer name instead, as the preparer
is being made more generic.

Bug: 263665773
Test: m
Ignore-AOSP-First: In a topic with internal-only repo. Will cherry-pick
                   to AOSP immediately afterwards.
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:22e7c25731e6e655a7b86c3b6e4e302cf7111a60)
Merged-In: I520e92c449f366c51cda2f8b33fe9a354a8c0445
Change-Id: I520e92c449f366c51cda2f8b33fe9a354a8c0445
2023-05-16 05:55:50 +00:00
Remi NGUYEN VAN
f59c3c15f4 Merge "Update ConnectivityCheckTargetPreparer references" into udc-mainline-prod 2023-05-16 05:53:49 +00:00
Remi NGUYEN VAN
af0f52cd7f Merge "Stop MdnsServiceTypeClient send on socket destroy" am: 3623306ccd
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2585400

Change-Id: Ic73755cb4332432a1bd2ebd5216b61778b62e7b6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 04:37:47 +00:00
Remi NGUYEN VAN
a5745515fd Merge "Do not send socket destroyed on unregistration" am: 76bd680f3d
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2588446

Change-Id: Iedc2179bc170cc4ec17cc27a5e0c30688fd87e95
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-16 04:37:34 +00:00
Remi NGUYEN VAN
b75015a792 Stop MdnsServiceTypeClient send on socket destroy
MdnsServiceTypeClient should stop sending when it is removed due to its
socket being destroyed.

On null networks (downstream interfaces) that may have multiple sockets,
this should only happen once the last socket used by the (null) network
has been destroyed.

Bug: 278635632
Test: atest
(cherry picked from https://android-review.googlesource.com/q/commit:3d66b0432d0f83249d18ffaa757103129359d115)
Merged-In: Ie1808840bd68678f2af7b71bdd8f3be377c14424
Change-Id: Ie1808840bd68678f2af7b71bdd8f3be377c14424
2023-05-16 04:05:30 +00:00
Remi NGUYEN VAN
6721aa3570 Do not send socket destroyed on unregistration
When a SocketCallback is unregistered from MdnsSocketProvider, do not
send socket destroyed callbacks. Callers may not expect getting
callbacks after unregistration, and the current callbacks are also
broken when an unrequested socket is still in use by another requester.

MdnsAdvertiser already does not depend on getting this callback, as it
only unregisters the SocketCallback after it is done using the socket.
This change fixes MdnsMultinetworkSocketClient to destroy the socket by
itself when unrequesting.

Bug: 276177548
Test: atest
(cherry picked from https://android-review.googlesource.com/q/commit:5fe9bacc63c1b6a77878f23d5f53a07fc482f354)
Merged-In: If95f833e293f3aab91128aab1c9852ebfd41995d
Change-Id: If95f833e293f3aab91128aab1c9852ebfd41995d
2023-05-16 04:05:25 +00:00
Motomu Utsumi
4a5b06559f Check clatd does not stop when suspended network is disconnected
Currently, clatd is not stopped when suspended network is disconnected
and aosp/2583410 fixes this issue.
This CL adds test for current behavior, aosp/2583410 can update
testDisconnectSuspendedNetworkStopClatd to call verifyClatdStop instead
of verifyNeverClatdStop

Test: atest FrameworksNetTests
Bug: 277682237
Change-Id: I345e097ce8e114800d77c5f44d38d7ae4938935c
2023-05-16 12:32:52 +09:00
Yuyang Huang
73772f325d Use case-insensitive matching in discovery/advertising
mDNS is supposed to be case-insensitive (like DNS). Both advertising and
discovery logic should use case-insensitive matching instead of
case-sensitive matching.

The case sensitive matching can be found by grepping the String.equals()
and Arrays.equals() check across the whole code base. Each occurrence is
analyzed carefully to list up all necessary fixes.

Bug: 272194544
Test: atest FrameworksNetTests
Change-Id: I7c10878129663549c9171c1420b6f399930df2cb
2023-05-16 11:50:07 +09:00
Remi NGUYEN VAN
3d66b0432d Stop MdnsServiceTypeClient send on socket destroy
MdnsServiceTypeClient should stop sending when it is removed due to its
socket being destroyed.

On null networks (downstream interfaces) that may have multiple sockets,
this should only happen once the last socket used by the (null) network
has been destroyed.

Bug: 278635632
Test: atest
Change-Id: Ie1808840bd68678f2af7b71bdd8f3be377c14424
2023-05-16 10:45:36 +09:00
Remi NGUYEN VAN
60437e59de Merge changes from topic "cherrypicker-L79500000960657219:N07500001368857425" into udc-dev
* changes:
  Implement proper subtype advertising
  Implement proper discovery with subtypes
  Remove the ServiceTypeClient after socket destroyed
2023-05-16 01:05:33 +00:00
Remi NGUYEN VAN
9b6fd0a3b8 Merge "Do not immediately send new queries on cache hit" into udc-dev 2023-05-16 01:05:10 +00:00
Remi NGUYEN VAN
5fe9bacc63 Do not send socket destroyed on unregistration
When a SocketCallback is unregistered from MdnsSocketProvider, do not
send socket destroyed callbacks. Callers may not expect getting
callbacks after unregistration, and the current callbacks are also
broken when an unrequested socket is still in use by another requester.

MdnsAdvertiser already does not depend on getting this callback, as it
only unregisters the SocketCallback after it is done using the socket.
This change fixes MdnsMultinetworkSocketClient to destroy the socket by
itself when unrequesting.

Bug: 276177548
Test: atest
Change-Id: If95f833e293f3aab91128aab1c9852ebfd41995d
2023-05-15 17:52:22 +09:00
Treehugger Robot
7d2bddff51 Merge "Do not immediately send new queries on cache hit" am: 4bcc151bf4 am: 30308da2f1 am: e587f8ee6a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2584345

Change-Id: Ie957fed5212ae17e7cd355ac64a67caf35bf1e9f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-15 06:28:07 +00:00
Remi NGUYEN VAN
4de02a4a8b Merge changes I09e780af,I21367c66 am: 94a4149a8f am: 52c99601f6 am: 4d9d1f8176
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2584341

Change-Id: Id02fe5c0541045e13cffa5a73e7a042c52227a10
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-15 06:27:50 +00:00
Motomu Utsumi
10ecce0cbc Merge changes from topic "cherrypicker-L78000000960635464:N55900001368285360" into udc-dev am: 259bc8f538
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/23206440

Change-Id: I16f387abce188a4e49646a3be54e30567d2c7a9e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-15 04:42:35 +00:00
Motomu Utsumi
576b3cc17b Add test to verify socket close when firewall is enabled am: 9b659bb6c3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/23206439

Change-Id: Ie9d2c86ea7f9c9e06548cc39c6a403bb625b907f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-15 04:42:31 +00:00
Motomu Utsumi
259bc8f538 Merge changes from topic "cherrypicker-L78000000960635464:N55900001368285360" into udc-dev
* changes:
  Close sockets from ConnectivityService#setFirewallChainEnabled
  Add test to verify socket close when firewall is enabled
2023-05-15 04:15:48 +00:00
Remi NGUYEN VAN
e6e3e2b120 Implement proper subtype advertising
Implement subtype advertising by advertising an additional PTR record if
subtype advertising was requested.

For an advertiser a subtype is just an additional PTR record, so this
just involves plumbing the subtype down to MdnsRecordRepository, which
includes the additional record in the service registration.

Bug: 266167702
Test: atest
(cherry picked from https://android-review.googlesource.com/q/commit:ce44beb7aa3d17dabab5e596a1b27cb9422e076e)
Merged-In: I09e780af25149162f16bd75410ddc50f160a0dab
Change-Id: I09e780af25149162f16bd75410ddc50f160a0dab
2023-05-15 03:50:59 +00:00
Remi NGUYEN VAN
b366d24bd5 Implement proper discovery with subtypes
Apps may want to discover a particular subtype, such as
_color._sub._printer._tcp.local, which may return services like
Printer1._printer._tcp.local. The previous code was trying to discover,
and would return service types named _color._sub._printer._tcp.local,
even though the actual service type is still _printer._tcp.local. This
is a regression compared to S/T.

Fix this by passing the subtype to MdnsDiscoveryManager in its options
instead of the service type, and ensure that MdnsDiscoveryManager only
sends callbacks to callers that have requested the given subtype (a
color that asked for _color._sub._printer._tcp.local should not receive
BlackAndWhite._printer._tcp.local).

Bug: 266167702
Test: atest
(cherry picked from https://android-review.googlesource.com/q/commit:f2d064112c34eb703dabdd5a48008ba4b3183a0b)
Merged-In: I21367c66534078667718a9b54dfc858b12ba7103
Change-Id: I21367c66534078667718a9b54dfc858b12ba7103
2023-05-15 03:50:54 +00:00
Paul Hu
45c1eaadb4 Remove the ServiceTypeClient after socket destroyed
The ServiceTypeClient should be removed after socket destroyed
because it's no longer used by any request. The requests will be
matched to the newly created ServiceTypeClient.

Bug: 278635632
Test: atest FrameworksNetTests CtsNetTestCases
(cherry picked from https://android-review.googlesource.com/q/commit:f2a51ac5f8cc6b1cfaaa0f8fd5c28af522806ca0)
Merged-In: Ia917b14d3666f3bfe8e874606a34800a4ce65c5a
Change-Id: Ia917b14d3666f3bfe8e874606a34800a4ce65c5a
2023-05-15 03:50:36 +00:00
Remi NGUYEN VAN
ededb1337e Do not immediately send new queries on cache hit
If a listener request is fulfilled immediately from cache, do not
restart queries immediately, but just schedule the next run.

This avoids doubling the number of queries when discovery, then resolve
is requested.

Bug: 281793453
Test: atest
(cherry picked from https://android-review.googlesource.com/q/commit:58bb0a129a4eb1f19904265104af2a14db248cb3)
Merged-In: Ibe41ee20427068a1ccdbc1f04525988a89a58899
Change-Id: Ibe41ee20427068a1ccdbc1f04525988a89a58899
2023-05-15 03:36:19 +00:00
Treehugger Robot
4ce3d9318a Merge "Do not immediately send new queries on cache hit" am: 4bcc151bf4
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2584345

Change-Id: I3cd4a13eb4d08d9fe95417f96a8c7dc6c0f12f36
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-12 15:31:50 +00:00
Treehugger Robot
c789bd8ea4 Merge "Ensure service type ends with a dot in discovery" into udc-dev 2023-05-12 14:53:36 +00:00
Treehugger Robot
4bcc151bf4 Merge "Do not immediately send new queries on cache hit" 2023-05-12 14:50:09 +00:00
Remi NGUYEN VAN
df510175fc Merge changes I09e780af,I21367c66 am: 94a4149a8f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2584341

Change-Id: Ia91d5de8e261582b406987d5595e8a8b5c8e9673
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-12 14:13:56 +00:00
Remi NGUYEN VAN
94a4149a8f Merge changes I09e780af,I21367c66
* changes:
  Implement proper subtype advertising
  Implement proper discovery with subtypes
2023-05-12 13:31:19 +00:00
Motomu Utsumi
d80e805d45 Merge changes from topic "firewall_socket_destroy" am: 179d18b3ad
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2513116

Change-Id: Ie6cd2bdd855f83db918e0eed4f1f9729fb4d0695
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-12 09:55:31 +00:00
Remi NGUYEN VAN
ada7342b10 Ensure service type ends with a dot in discovery am: 2f82fcdd6c am: ed0eb5f385 am: 4950d47b43
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2584551

Change-Id: I8ae6fb3779a333bb3d369c0cde8447e5a5a782de
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-12 09:54:46 +00:00
Motomu Utsumi
ed1848c6e3 Close sockets from ConnectivityService#setFirewallChainEnabled
And replace netd.socketDestroy by Java implementation

Bug: 270298713
Test: atest FrameworksNetTests CtsNetTestCases
(cherry picked from https://android-review.googlesource.com/q/commit:d44a33adb958d973bb15c74635be6c15dbf8af88)
Merged-In: I0e200247ca010f9649254eeaac02740bd2bfdb21
Change-Id: I0e200247ca010f9649254eeaac02740bd2bfdb21
2023-05-12 09:32:45 +00:00
Motomu Utsumi
9b659bb6c3 Add test to verify socket close when firewall is enabled
Bug: 270298713
Test: atest CtsNetTestCases
(cherry picked from https://android-review.googlesource.com/q/commit:3ff765537ea070fcef99f92e94a2922bd72f0377)
Merged-In: Ia0cdb5b5b8b8ca180e297e4f10a4e7a389141ae2
Change-Id: Ia0cdb5b5b8b8ca180e297e4f10a4e7a389141ae2
2023-05-12 09:32:40 +00:00
Treehugger Robot
190965164f Merge "add congestion control test to CTS" into udc-dev 2023-05-12 09:20:50 +00:00
Motomu Utsumi
179d18b3ad Merge changes from topic "firewall_socket_destroy"
* changes:
  Close sockets from ConnectivityService#setFirewallChainEnabled
  Add test to verify socket close when firewall is enabled
2023-05-12 09:18:40 +00:00