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
Andrew Dunham 3f4d51c588 net/dns: don't send on closed channel when message too large
Previously, if a DNS-over-TCP message was received while there were
existing queries in-flight, and it was over the size limit, we'd close
the 'responses' channel. This would cause those in-flight queries to
send on the closed channel and panic.

Instead, don't close the channel at all and rely on s.ctx being
canceled, which will ensure that in-flight queries don't hang.

Fixes #6725

Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
Change-Id: I8267728ac37ed7ae38ddd09ce2633a5824320097
2 years ago
..
connstats net/connstats: invert network logging data flow (#6272) 2 years ago
dns net/dns: don't send on closed channel when message too large 2 years ago
dnscache all: update golang.zx2c4.com/wireguard to github.com/tailscale/wireguard-go (#6692) 2 years ago
dnsfallback all: remove old +build tags 2 years ago
flowtrack net/flowtrack: add json tags to Tuple (#5849) 2 years ago
interfaces all: update golang.zx2c4.com/wireguard to github.com/tailscale/wireguard-go (#6692) 2 years ago
netaddr all: migrate code from netaddr.FromStdAddr to Go 1.18 2 years ago
netcheck net/netcheck: don't use a space in the captive portal challenge 2 years ago
neterror net/{neterror,dns/resolver}: move PacketWasTruncated to neterror from DNS code 3 years ago
netknob all: disable TCP keep-alives on iOS/Android 3 years ago
netns util/endian: delete package; use updated josharian/native instead 2 years ago
netstat util/endian: delete package; use updated josharian/native instead 2 years ago
nettest ssh/tailssh: add TestSSHAuthFlow 2 years ago
netutil all: fix spelling mistakes 2 years ago
packet all: fix spelling mistakes 2 years ago
ping all: fix spelling mistakes 2 years ago
portmapper net/portmapper: add test for Huawei router 2 years ago
proxymux net/proxymux: add a listener mux that can run SOCKS and HTTP on a single socket. 3 years ago
routetable all: remove old +build tags 2 years ago
socks5 net/socks5: use new Go 1.19 binary.AppendByteOrder.AppendUintX 2 years ago
speedtest net/speedtest: retune to meet iperf on localhost in a VM 2 years ago
stun net/netcheck: deflake (maybe) magicsock's TestNewConn 2 years ago
tlsdial all: remove old +build tags 2 years ago
tsaddr net/tsaddr: remove ContainsFunc helpers (they're now in x/exp/slices) 2 years ago
tsdial all: standardize on PeerAPI 2 years ago
tshttpproxy net/tshttpproxy: don't ignore env-based HTTP proxies after system lookups fail 2 years ago
tstun all: update golang.zx2c4.com/wireguard to github.com/tailscale/wireguard-go (#6692) 2 years ago
wsconn net/wsconn: add back custom wrapper for turning a websocket.Conn into a net.Conn 2 years ago