From 21fa0eb4ff9352c758ee227f9b52dd046bafb347 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Sun, 10 May 2020 13:17:23 +0100 Subject: [PATCH] Response filtering --- src/mdns/mdns.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mdns/mdns.go b/src/mdns/mdns.go index 6392641a..a27d92e2 100644 --- a/src/mdns/mdns.go +++ b/src/mdns/mdns.go @@ -336,10 +336,10 @@ func (s *mDNSServer) listen() { incoming := make(chan *mdns.ServiceEntry) go func() { + defer close(incoming) if err := mdns.Listen(incoming, s.stop, &s.intf); err != nil { s.mdns.log.Println("Failed to initialize resolver:", err.Error()) } - close(incoming) }() for { @@ -348,6 +348,10 @@ func (s *mDNSServer) listen() { s.mdns.log.Debugln("Stopped listening for mDNS on", s.intf.Name) return case entry := <-incoming: + suffix := fmt.Sprintf("%s.%s", MDNSService, MDNSDomain) + if entry.Name[len(entry.Name)-len(suffix):] != suffix { + continue + } if bytes.Equal(entry.Addr, s.ourIP) { continue }