From f6f9aa2b9a70c61ce18d6ff18ddc2039e14638c7 Mon Sep 17 00:00:00 2001 From: hepengtao Date: Tue, 19 Oct 2021 17:25:50 +0800 Subject: [PATCH] NSD: Specify on what interface to getAddrInfo 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 Change-Id: Ifaccb7f3fac6b1dd789cc9ce7c8d964102754508 --- service-t/src/com/android/server/NsdService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/service-t/src/com/android/server/NsdService.java b/service-t/src/com/android/server/NsdService.java index 497107dbf9..eca4ccf680 100644 --- a/service-t/src/com/android/server/NsdService.java +++ b/service-t/src/com/android/server/NsdService.java @@ -488,7 +488,7 @@ public class NsdService extends INsdManager.Stub { removeRequestMap(clientId, id, clientInfo); int id2 = getUniqueId(); - if (getAddrInfo(id2, cooked[3])) { + if (getAddrInfo(id2, cooked[3], cooked[7])) { storeRequestMap(clientId, id2, clientInfo, NsdManager.RESOLVE_SERVICE); } else { clientInfo.onResolveServiceFailed( @@ -833,8 +833,8 @@ public class NsdService extends INsdManager.Stub { return mDaemon.execute("stop-resolve", resolveId); } - private boolean getAddrInfo(int resolveId, String hostname) { - return mDaemon.execute("getaddrinfo", resolveId, hostname); + private boolean getAddrInfo(int resolveId, String hostname, String interfaceName) { + return mDaemon.execute("getaddrinfo", resolveId, hostname, interfaceName); } private boolean stopGetAddrInfo(int resolveId) {