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/util
Irbe Krumina 9bd158cc09
cmd/containerboot,util/linuxfw: create a SNAT rule for dst/src only once, clean up if needed (#13658)
The AddSNATRuleForDst rule was adding a new rule each time it was called including:
- if a rule already existed
- if a rule matching the destination, but with different desired source already existed

This was causing issues especially for the in-progress egress HA proxies work,
where the rules are now refreshed more frequently, so more redundant rules
were being created.

This change:
- only creates the rule if it doesn't already exist
- if a rule for the same dst, but different source is found, delete it
- also ensures that egress proxies refresh firewall rules
if the node's tailnet IP changes

Updates tailscale/tailscale#13406

Signed-off-by: Irbe Krumina <irbe@tailscale.com>
4 weeks ago
..
cache util/cache: fix missing interface methods (#11275) 8 months ago
cibuild all: update copyright and license headers 2 years ago
clientmetric util/clientmetric: allow client metric values to be provided by a function 2 years ago
cloudenv all: use math/rand/v2 more 5 months ago
cmpver util/cmpver: add Less/LessEq helper funcs 8 months ago
codegen cmd/cloner, cmd/viewer, util/codegen: add support for aliases of cloneable types 2 months ago
cstruct all: use Go 1.22 range-over-int 7 months ago
ctxkey all: use reflect.TypeFor now available in Go 1.22 (#11078) 9 months ago
deephash util/deephash: fix test regression on 32-bit 4 months ago
dirwalk all: use tstest.Replace more 2 years ago
dnsname all: use Go 1.22 range-over-int 7 months ago
execqueue control/controlclient,util/execqueue: extract execqueue into a package 10 months ago
expvarx all: use Go 1.22 range-over-int 7 months ago
fastuuid all: use Go 1.22 range-over-int 7 months ago
goroutines util/goroutines: let ScrubbedGoroutineDump get only current stack 1 year ago
groupmember util/groupmember: fail earlier if group doesn't exist, use slices.Contains 1 year ago
hashx all: use Go 1.22 range-over-int 7 months ago
httphdr util/httphdr: add new package for parsing HTTP headers (#9797) 1 year ago
httpm util/httpm: don't run test if .git doesn't exist 11 months ago
jsonutil all: use Go 1.22 range-over-int 7 months ago
limiter all: add test for package comments, fix, add comments as needed 4 months ago
lineread all: update copyright and license headers 2 years ago
linuxfw cmd/containerboot,util/linuxfw: create a SNAT rule for dst/src only once, clean up if needed (#13658) 4 weeks ago
lru util/lru: add Clear method 6 months ago
mak various: add golangci-lint, fix issues (#7905) 2 years ago
multierr all: use Go 1.22 range-over-int 7 months ago
must all: update copyright and license headers 2 years ago
nocasemaps all: use Go 1.22 range-over-int 7 months ago
osdiag all: add test for package comments, fix, add comments as needed 4 months ago
osshare all: add test for package comments, fix, add comments as needed 4 months ago
osuser util/osuser: turn wasm check into a const expression 3 months ago
pidowner all: use Go 1.22 range-over-int 7 months ago
pool util/pool: add package for storing and using a pool of items 5 months ago
precompress all: update copyright and license headers 2 years ago
progresstracking ipn/localapi: add support for multipart POST to file-put 7 months ago
quarantine all: update copyright and license headers 2 years ago
race all: use Go 1.22 range-over-int 7 months ago
racebuild all: update copyright and license headers 2 years ago
rands wgengine/magicsock: use math/rands/v2 5 months ago
reload all: use math/rand/v2 more 5 months ago
ringbuffer all: use Go 1.22 range-over-int 7 months ago
set util/set: add Of variant of SetOf that takes variadic parameter 6 months ago
singleflight util/singleflight: add DoChanContext 5 months ago
slicesx util/slicesx: add FirstElementEqual and LastElementEqual 2 months ago
syspolicy control/controlclient,posture,util/syspolicy: use predefined syspolicy keys instead of string literals 2 months ago
sysresources util/sysresources, magicsock: scale DERP buffer based on system memory 2 years ago
systemd all: update copyright and license headers 2 years ago
testenv util/testenv: add new package to hold InTest 1 year ago
topk all: use Go 1.22 range-over-int 7 months ago
truncate util/truncate: support []byte as well (#11614) 7 months ago
uniq all: use Go 1.22 range-over-int 7 months ago
usermetric util/usermetrics: make usermetrics non-global 1 month ago
vizerror util/vizerror: add As function to get wrapped Error 2 years ago
winutil util/winutil: add GetRegUserString/SetRegUserString accessors for storage and retrieval of string values in HKEY_CURRENT_USER 2 months ago
zstdframe all: use Go 1.22 range-over-int 7 months ago