summaryrefslogtreecommitdiff
path: root/service-t/src/com/android/server/NsdService.java
Commit message (Collapse)AuthorAgeFilesLines
* Fix service resolve on tethering downstreamsRemi NGUYEN VAN2022-06-011-19/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | Tethering downstreams do not have NetworkAgents, and although they have a netid of 99, Networks with netId 99 are not usable by apps for most connectivity APIs. Recent refactoring in NsdService adds the Network of a found service into its NsdServiceInfo, and uses that network to resolve the service. In that case the Network has netId 99 and resolving the service fails. Avoid that problem by: - Keeping the Network field null when a service is found on a tethering downstream; this avoids giving apps a confusing and unusable Network with netId 99 - Using the interface index found during discovery to resolve the service, if the app uses the NsdServiceInfo that was obtained from discovery to resolve. If not, all interfaces will be used to resolve, as per legacy APIs. Bug: 233979892 Test: atest NsdServiceTest Also manual test with 2 devices connected via hotspot Change-Id: Idd176153b67ccbd1d4f1b1fd66dafaa2f3a9e27a (cherry picked from commit 1a8ee102d3cc9829b669b09685b17ea92815b671) Merged-In: Idd176153b67ccbd1d4f1b1fd66dafaa2f3a9e27a
* Deal with non-ASCII characters on resolution infopaulhu2022-05-171-1/+30
| | | | | | | | | | | | | | | The service name can include non-ASCII characters. So NsdService need to have specific handling for these non-ASCII characters that make resolution working properly. Note: The unescape() method is the same one that was used in S, but was removed by mistake. Bug: 230698801 Test: atest FrameworksNetTests CtsNetTestCases Change-Id: I42fc5618aa2d549ceae25f516ad17c78930ea41d (cherry picked from commit be186602f961768f3f2a237753c0f2cb8b4fdc2e) Merged-In: I42fc5618aa2d549ceae25f516ad17c78930ea41d
* Register service on the specified networkPaul Hu2022-05-111-1/+7
| | | | | | | | | | | | | | Currently, NsdManager registers services on all interfaces when one network was specified in NsdServiceInfo. It's unexpected behavior. The service should be only advertised on specified network. Thus, correct the behavior on NsdService and add cts test to verify it. Bug: 220070737 Test: atest CtsNetTestCases:android.net.cts.NsdManagerTest Change-Id: Ief3bfa110bfa340c53edec561eb5376f6bd305e6 (cherry picked from commit 360a8e9e1b2c08c2bc598ea892ac671799a74535) Merged-In: Ief3bfa110bfa340c53edec561eb5376f6bd305e6
* Remove InterruptedException from NsdService#createpaulhu2022-04-111-1/+1
| | | | | | | | | | | | | - NsdService isn't using NativeDaemonConnector to connect to mdnsresponder after aosp/2049246, so NsdService#create won't throw InterruptedException. - Also no need to catch InterruptedException in ConnectivityServiceInitializer. Bug: 209894875 Test: atest FrameworksNetTests CtsNetTestCases Ignore-AOSP-First: BB on this branch when running TH on AOSP. Change-Id: I1d0b973f9dac0f1d4f9d4d03faef66f05edde3fc
* Use MDns aidl on NsdServicepaulhu2022-04-041-265/+141
| | | | | | | | | | | - Use MDns aidl to communicate with mdns service and register event listener to receive callback. - Remove all NDC relevant code on NsdService. - Use MDns aidl on NsdServiceTest. Bug: 209894875 Test: atest FrameworksNetTests CtsNetTestCases Change-Id: I65929dee3838fef753396e86c665abd66b6fec81
* Support discover/resolve on specific networksRemi NGUYEN VAN2022-02-031-15/+119
| | | | | | | | | | | | | | | | | This adds a Network member to NsdServiceInfo, allowing discovered services to report which network they were discovered on, and clients to specify which network to resolve the service on. If clients use the discovered NsdServiceInfo to resolve a service, it will be resolved on the network where it was discovered instead of an unspecified network. Also add a network parameter to a new overload of NsdManager#discoverServices, so that clients can discover on specific networks. Bug: 190249673 Test: atest NsdManagerTest Change-Id: Idc4bf9fde0f4b0328204a8cd2eedc12fffbbbdba
* NSD: Specify on what interface to getAddrInfohepengtao2022-02-021-3/+3
| | | | | | | | | | | | When discover two different host with same host name from different network interface, specify on what interface to getAddrInfo. Bug: 203453164 Test: build & manual Signed-off-by: hepengtao <hept.hept.hept@gmail.com> Change-Id: Ifaccb7f3fac6b1dd789cc9ce7c8d964102754508
* Move f/b/packages/Nsd files to f/b/packages/ConnectivityTAaron Huang2021-12-091-0/+1042
Move Nsd files to ConnectivityT so that nsd, ipsec, ethernet and netstats files can live in the same directory and it will be easier to move everything in frameworks/base/packages/ConnectivityT to packages/modules/Connectivity after fixing all of the hidden API usages. Bug: 204153604 Test: FrameworksNetTests CtsNetTestCases Change-Id: I411e242e8739d15920cfc2fe274115f7f39bd89f