tailscale/net
Brad Fitzpatrick c1a2e2c380 net/{packet,tstun},wgengine/filter: fix unknown IP protocol handling
01b90df2fa added SCTP support before
(with explicit parsing for ports) and
69de3bf7bf tried to add support for
arbitrary IP protocols (as long as the ACL permited a port of "*",
since we might not know how to find ports from an arbitrary IP
protocol, if it even has such a concept). But apparently that latter
commit wasn't tested end-to-end enough. It had a lot of tests, but the
tests made assumptions about layering that either weren't true, or
regressed since 1.20. Notably, it didn't remove the (*Filter).pre
bidirectional filter that dropped all "unknown" protocol packets both
leaving and entering, even if there were explicit protocol matches
allowing them in.

Also, don't map all unknown protocols to 0. Keep their IP protocol
number parsed so it's matchable by later layers. Only reject illegal
things.

Fixes #6423
Updates #2162
Updates #2163

Change-Id: I9659b3ece86f4db51d644f9b34df78821758842c
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2023-01-14 10:32:18 -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 net/{packet,tstun},wgengine/filter: fix unknown IP protocol handling 2023-01-14 10:32:18 -08: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 net/{packet,tstun},wgengine/filter: fix unknown IP protocol handling 2023-01-14 10:32:18 -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