tailscale/util
Maisem Ali c3a8e63100 util/linuxfw: add additional nftable detection logic
We were previously using the netlink API to see if there are chains/rules that
already exist. This works fine in environments where there is either full
nftable support or no support at all. However, we have identified certain
environments which have partial nftable support and the only feasible way of
detecting such an environment is to try to create some of the chains that we
need.

This adds a check to create a dummy postrouting chain which is immediately
deleted. The goal of the check is to ensure we are able to use nftables and
that it won't error out later. This check is only done in the path where we
detected that the system has no preexisting nftable rules.

Updates #5621
Updates #8555
Updates #8762

Signed-off-by: Maisem Ali <maisem@tailscale.com>
2023-10-18 13:39:55 -07:00
..
cibuild all: update copyright and license headers 2023-01-27 15:36:29 -08:00
clientmetric util/clientmetric: allow client metric values to be provided by a function 2023-04-05 17:21:16 -07:00
cloudenv all: update copyright and license headers 2023-01-27 15:36:29 -08:00
cmpver util/cmpver: only consider ascii numerals (#9741) 2023-10-11 13:42:32 +01:00
cmpx all: update exp/slices and fix call sites 2023-07-28 13:11:53 -07:00
codegen util/codegen: support embedded fields 2023-05-09 15:40:17 -07:00
cstruct all: update copyright and license headers 2023-01-27 15:36:29 -08:00
deephash util/deephash: add IncludeFields, ExcludeFields HasherForType Options 2023-08-27 21:01:12 -07:00
dirwalk all: use tstest.Replace more 2023-03-04 12:24:55 -08:00
dnsname cmd/tailscale: extend hostname validation (#7678) 2023-03-27 18:21:58 +01:00
goroutines util/goroutines: let ScrubbedGoroutineDump get only current stack 2023-06-23 12:50:45 -07:00
groupmember all: update copyright and license headers 2023-01-27 15:36:29 -08:00
hashx all: update copyright and license headers 2023-01-27 15:36:29 -08:00
httphdr util/httphdr: add new package for parsing HTTP headers (#9797) 2023-10-13 15:38:22 -07:00
httpm util/httpm, all: add a test to make sure httpm is used consistently 2023-10-03 09:26:13 -07:00
jsonutil all: update copyright and license headers 2023-01-27 15:36:29 -08:00
limiter util/lru, util/limiter: add debug helper to dump state as HTML 2023-09-08 14:47:03 -07:00
lineread all: update copyright and license headers 2023-01-27 15:36:29 -08:00
linuxfw util/linuxfw: add additional nftable detection logic 2023-10-18 13:39:55 -07:00
lru util/lru: update c.head when deleting the most recently used entry 2023-09-19 12:17:50 -07:00
mak various: add golangci-lint, fix issues (#7905) 2023-04-17 18:38:24 -04:00
multierr all: use Go 1.21 slices, maps instead of x/exp/{slices,maps} 2023-08-17 08:42:35 -07:00
must all: update copyright and license headers 2023-01-27 15:36:29 -08:00
nocasemaps util/nocasemaps: import nocasemaps from corp 2023-10-11 13:55:00 -07:00
osdiag util/osdiag: add query for Windows page file configuration and status 2023-08-25 10:31:36 -06:00
osshare all: update copyright and license headers 2023-01-27 15:36:29 -08:00
pidowner all: update copyright and license headers 2023-01-27 15:36:29 -08:00
precompress all: update copyright and license headers 2023-01-27 15:36:29 -08:00
quarantine all: update copyright and license headers 2023-01-27 15:36:29 -08:00
race util/race: add test to confirm we don't leak goroutines 2023-10-03 18:44:22 -04:00
racebuild all: update copyright and license headers 2023-01-27 15:36:29 -08:00
rands util/rands: add package with HexString func 2023-09-05 09:17:21 -07:00
ringbuffer util/ringbuffer: move generic ringbuffer from corp repo 2023-02-21 19:11:08 +00:00
set util/set: add some useful utility functions for Set (#9535) 2023-09-29 14:31:02 -07:00
singleflight all: update copyright and license headers 2023-01-27 15:36:29 -08:00
slicesx util/slicesx: add EqualSameNil, like slices.Equal but same nilness 2023-09-30 18:56:15 -07:00
syspolicy ipn/ipnlocal: change serial number policy to be PreferenceOption 2023-10-16 16:01:54 +02:00
sysresources util/sysresources, magicsock: scale DERP buffer based on system memory 2023-04-03 17:14:14 -04:00
systemd all: update copyright and license headers 2023-01-27 15:36:29 -08:00
testenv util/testenv: add new package to hold InTest 2023-08-08 19:51:44 -06:00
truncate util: add truncate package (#7490) 2023-03-07 11:51:36 -08:00
uniq all: update copyright and license headers 2023-01-27 15:36:29 -08:00
vizerror util/vizerror: add As function to get wrapped Error 2023-02-01 14:39:13 -08:00
winutil winutil: refactor methods to get values from registry to also return (#9536) 2023-09-26 13:15:11 -04:00