net/dns/resolver: don't forward DNS-SD queries

Updates #2442
Fixes tailscale/corp#2820

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
pull/3021/head
Brad Fitzpatrick 3 years ago committed by Brad Fitzpatrick
parent 47044f3af7
commit 297d1b7cb6

@ -518,6 +518,21 @@ func (f *forwarder) forward(query packet) error {
return err
}
// Drop DNS service discovery spam, primarily for battery life
// on mobile. This is scoped to only Apple platforms, as
// that's where we see it. Things like Spotify on iOS
// generate this traffic, when browsing for LAN devices. But
// even when filtering this out, playing on Sonos still works.
//
// TODO(bradfitz): maybe after 1.16 is out, do it more broadly?
switch runtime.GOOS {
case "ios", "darwin":
if hasRDNSBonjourPrefix(domain) {
f.logf("[v1] dropping %q", domain)
return nil
}
}
clampEDNSSize(query.bs, maxResponseBytes)
resolvers := f.resolvers(domain)

Loading…
Cancel
Save