You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/net/dns
Adrian Dewhurst 8b11937eaf net/dns/resolver: permit larger max responses, signal truncation
This raises the maximum DNS response message size from 512 to 4095. This
should be large enough for almost all situations that do not need TCP.
We still do not recognize EDNS, so we will still forward requests that
claim support for a larger response size than 4095 (that will be solved
later). For now, when a response comes back that is too large to fit in
our receive buffer, we now set the truncation flag in the DNS header,
which is an improvement from before but will prompt attempts to use TCP
which isn't supported yet.

On Windows, WSARecvFrom into a buffer that's too small returns an error
in addition to the data. On other OSes, the extra data is silently
discarded. In this case, we prefer the latter so need to catch the error
on Windows.

Partially addresses #1123

Signed-off-by: Adrian Dewhurst <adrian@tailscale.com>
5 years ago
..
resolver net/dns/resolver: permit larger max responses, signal truncation 5 years ago
config.go net/dns: replace AuthoritativeSuffixes with nil Route entries. 5 years ago
debian_resolvconf.go net/dns: add GOOS build tags 5 years ago
direct.go net/dns: add GOOS build tags 5 years ago
flush_windows.go Move DNS flush logic to net/dns. 5 years ago
manager.go net/dns: replace AuthoritativeSuffixes with nil Route entries. 5 years ago
manager_default.go net/dns: return error from NewOSManager, use it to initialize NM. 5 years ago
manager_freebsd.go net/dns: fix freebsd DNS manager selection. 5 years ago
manager_linux.go net/dns: don't use interfaces.Tailscale to find the tailscale interface index. 5 years ago
manager_openbsd.go net/dns: return error from NewOSManager, use it to initialize NM. 5 years ago
manager_test.go net/dns: replace AuthoritativeSuffixes with nil Route entries. 5 years ago
manager_windows.go net/dns: on windows, skip site-local v6 resolvers. 5 years ago
nm.go Revert "net/dns: set IPv4 auto mode in NM, so it lets us set DNS." 5 years ago
noop.go net/dns: return error from NewOSManager, use it to initialize NM. 5 years ago
openresolv.go net/dns: add GOOS build tags 5 years ago
osconfig.go net/dns: make debian_resolvconf correctly clear DNS configs. 5 years ago
registry_windows.go wgengine/router/dns: move to net/dns. 5 years ago
resolvconf-workaround.sh net/dns: also include 'tail' and 'base' files when fixing up resolv.conf. 5 years ago
resolvconf.go net/dns: add GOOS build tags 5 years ago
resolved.go net/dns: don't use interfaces.Tailscale to find the tailscale interface index. 5 years ago