tailscale/net
Jordan Whited 25a0091f69
net/portmapper: relax handling of UPnP resp (#6946)
Gateway devices operating as an HA pair w/VRRP or CARP may send UPnP
replies from static addresses rather than the floating gateway address.
This commit relaxes our source address verification such that we parse
responses from non-gateway IPs, and re-point the UPnP root desc
URL to the gateway IP. This ensures we are still interfacing with the
gateway device (assuming L2 security intact), even though we got a
root desc from a non-gateway address.

This relaxed handling is required for ANY port mapping to work on certain
OPNsense/pfsense distributions using CARP at the time of writing, as
miniupnpd may only listen on the static, non-gateway interface address
for PCP and PMP.

Fixes #5502

Signed-off-by: Jordan Whited <jordan@tailscale.com>
2023-01-12 16:57:02 -08:00
..
connstats net/connstats: enforce maximum number of connections (#6760) 2022-12-16 10:14:00 -08:00
dns net/dns,userspace: remove unused DNS paths, normalize query limit on iOS 2023-01-05 11:56:14 -08:00
dnscache all: update golang.zx2c4.com/wireguard to github.com/tailscale/wireguard-go (#6692) 2022-12-09 15:12:20 -08:00
dnsfallback all: remove old +build tags 2022-11-04 07:25:42 -07:00
flowtrack net/flowtrack,wgengine/filter: refactor Cache to use generics 2023-01-11 15:29:09 -08:00
interfaces all: update golang.zx2c4.com/wireguard to github.com/tailscale/wireguard-go (#6692) 2022-12-09 15:12:20 -08:00
netaddr all: migrate code from netaddr.FromStdAddr to Go 1.18 2022-08-02 22:25:07 -07:00
netcheck net/netcheck: don't use a space in the captive portal challenge 2022-11-08 16:58:54 -05:00
neterror net/{neterror,dns/resolver}: move PacketWasTruncated to neterror from DNS code 2022-01-03 14:03:30 -08:00
netknob all: disable TCP keep-alives on iOS/Android 2021-09-28 12:03:18 -07:00
netns util/endian: delete package; use updated josharian/native instead 2022-12-12 20:12:45 -08:00
netstat netstat, portlist: update Windows implementation to disambiguate svchost processes 2022-12-19 15:38:49 -06:00
nettest ssh/tailssh: add TestSSHAuthFlow 2022-10-09 10:27:31 -07:00
netutil all: fix spelling mistakes 2022-09-29 13:36:13 -07:00
packet all: fix spelling mistakes 2022-09-29 13:36:13 -07:00
ping all: fix spelling mistakes 2022-09-29 13:36:13 -07:00
portmapper net/portmapper: relax handling of UPnP resp (#6946) 2023-01-12 16:57:02 -08:00
proxymux net/proxymux: add a listener mux that can run SOCKS and HTTP on a single socket. 2021-11-29 16:49:48 -08:00
routetable all: remove old +build tags 2022-11-04 07:25:42 -07:00
socks5 net/socks5: use new Go 1.19 binary.AppendByteOrder.AppendUintX 2022-08-05 08:30:48 -07:00
speedtest net/speedtest: retune to meet iperf on localhost in a VM 2022-09-23 10:46:04 -07:00
stun net/netcheck: deflake (maybe) magicsock's TestNewConn 2022-11-05 22:02:13 -07:00
tlsdial net/tlsdial,tstest,version: use go command from $PATH 2023-01-03 09:30:23 -08:00
tsaddr net/tsaddr: remove ContainsFunc helpers (they're now in x/exp/slices) 2022-12-05 18:50:24 -08:00
tsdial all: standardize on PeerAPI 2022-11-16 22:49:13 +05:00
tshttpproxy net/tshttpproxy: don't ignore env-based HTTP proxies after system lookups fail 2022-11-14 09:11:33 -08:00
tstun go.mod, etc: bump gvisor 2022-12-20 22:02:40 -08:00
wsconn net/wsconn: add back custom wrapper for turning a websocket.Conn into a net.Conn 2022-10-18 15:39:32 -07:00