diff --git a/adb/Android.mk b/adb/Android.mk index e4b37039a..fe5b2d94c 100644 --- a/adb/Android.mk +++ b/adb/Android.mk @@ -150,7 +150,7 @@ LOCAL_SRC_FILES_linux := $(LIBADB_linux_SRC_FILES) LOCAL_SRC_FILES_windows := $(LIBADB_windows_SRC_FILES) LOCAL_SRC_FILES_linux += transport_mdns.cpp -LOCAL_SRC_FILES_darwin += transport_mdns_unsupported.cpp +LOCAL_SRC_FILES_darwin += transport_mdns.cpp LOCAL_SRC_FILES_windows += transport_mdns_unsupported.cpp LOCAL_SANITIZE := $(adb_host_sanitize) diff --git a/adb/transport_mdns.cpp b/adb/transport_mdns.cpp index b63fc83b4..384845252 100644 --- a/adb/transport_mdns.cpp +++ b/adb/transport_mdns.cpp @@ -85,10 +85,17 @@ class ResolvedService : public AsyncServiceRef { const char* hosttarget, uint16_t port) : name_(name), port_(port) { + + /* TODO: We should be able to get IPv6 support by adding + * kDNSServiceProtocol_IPv6 to the flags below. However, when we do + * this, we get served link-local addresses that are usually useless to + * connect to. What's more, we seem to /only/ get those and nothing else. + * If we want IPv6 in the future we'll have to figure out why. + */ DNSServiceErrorType ret = DNSServiceGetAddrInfo( &sdRef_, 0, interfaceIndex, - kDNSServiceProtocol_IPv6|kDNSServiceProtocol_IPv4, hosttarget, + kDNSServiceProtocol_IPv4, hosttarget, register_service_ip, reinterpret_cast(this)); if (ret != kDNSServiceErr_NoError) {