From 5fa27e2d952ee987b504bce21ee6f1f9d301bba0 Mon Sep 17 00:00:00 2001 From: Stefan Smarzly Date: Mon, 25 Jul 2016 18:25:31 +0200 Subject: [PATCH] Client: wait for resolved IP addresses for a certain service before sending reply to client --- client.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/client.go b/client.go index 05ec013..2964bb1 100644 --- a/client.go +++ b/client.go @@ -7,9 +7,9 @@ import ( "strings" "sync" + "github.com/miekg/dns" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" - "github.com/miekg/dns" ) // Main client data structure to run browse/lookup queries @@ -226,6 +226,10 @@ func (c *client) mainloop(params *LookupParams) { if _, ok := sentEntries[k]; ok { continue } + // Require at least one resolved IP address for ServiceEntry + if e.AddrIPv4 == nil && e.AddrIPv6 == nil { + continue + } params.Entries <- e sentEntries[k] = e }