tailscale/util
Nick Khyl 740b77df59 ipn/ipnlocal,util/syspolicy: add support for ExitNode.AllowOverride policy setting
When the policy setting is enabled, it allows users to override the exit node enforced by the ExitNodeID
or ExitNodeIP policy. It's primarily intended for use when ExitNodeID is set to auto:any, but it can also
be used with specific exit nodes. It does not allow disabling exit node usage entirely.

Once the exit node policy is overridden, it will not be enforced again until the policy changes,
the user connects or disconnects Tailscale, switches profiles, or disables the override.

Updates tailscale/corp#29969

Signed-off-by: Nick Khyl <nickk@tailscale.com>
2025-07-08 17:17:47 -05:00
..
cache util/cache: fix missing interface methods (#11275) 2024-02-27 23:03:49 -05:00
cibuild all: update copyright and license headers 2023-01-27 15:36:29 -08:00
clientmetric util/clientmetric: use counter in aggcounter 2025-01-24 15:17:44 +01:00
cloudenv all: use math/rand/v2 more 2024-06-05 15:24:04 -07:00
cmpver util/cmpver: add Less/LessEq helper funcs 2024-03-05 16:57:04 +00:00
codegen util/codegen: treat unique.Handle as an opaque value type 2024-11-11 12:39:19 -08:00
cstruct all: use Go 1.21's binary.NativeEndian 2025-01-13 08:31:00 -08:00
ctxkey all: use reflect.TypeFor now available in Go 1.22 (#11078) 2024-02-08 17:34:22 -08:00
deephash util/deephash: move tests that depend on other tailscale packages to deephash_test 2025-05-08 19:59:08 -05:00
dirwalk all: use tstest.Replace more 2023-03-04 12:24:55 -08:00
dnsname tailcfg: adjust ServiceName.Validate to use vizerror 2025-01-24 10:57:46 -05:00
eventbus util/eventbus: fix docstrings (#16401) 2025-06-27 10:03:56 -04:00
execqueue control/controlclient,util/execqueue: extract execqueue into a package 2024-01-18 12:08:13 -08:00
expvarx all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
goroutines ipn/ipnlocal, util/goroutines: track goroutines for tests, shutdown 2025-01-06 12:35:44 -08:00
groupmember util/groupmember: fail earlier if group doesn't exist, use slices.Contains 2023-11-01 19:23:16 -07:00
hashx all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
httphdr util/httphdr: add new package for parsing HTTP headers (#9797) 2023-10-13 15:38:22 -07:00
httpm util/httpm: don't run test if .git doesn't exist 2023-11-22 12:09:59 -05:00
jsonutil all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
limiter all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
lineiter types/result, util/lineiter: add package for a result type, use it 2024-11-05 10:27:52 -08:00
lineread all: update copyright and license headers 2023-01-27 15:36:29 -08:00
linuxfw cmd/containerboot,kube/ingressservices: proxy VIPService TCP/UDP traffic to cluster Services (#15897) 2025-05-19 10:42:03 +01:00
lru util/slicesx: add MapKeys and MapValues from golang.org/x/exp/maps 2025-01-03 10:48:31 -08:00
mak util/mak: delete long-deprecated, unused, pre-generics NonNil func 2025-04-25 14:19:10 -07:00
multierr all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
must util/must: add Get2 for functions that return two values 2025-06-16 19:08:58 +01:00
nocasemaps all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
osdiag all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
osshare all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
osuser ssh/tailssh: add Plan 9 support for Tailscale SSH 2025-04-02 07:36:04 -07:00
pidowner types/result, util/lineiter: add package for a result type, use it 2024-11-05 10:27:52 -08:00
pool util/pool: add package for storing and using a pool of items 2024-05-24 14:11:19 -04:00
precompress all: update copyright and license headers 2023-01-27 15:36:29 -08:00
progresstracking ipn/localapi: add support for multipart POST to file-put 2024-03-27 08:53:52 -05:00
prompt util/prompt: make yes/no prompt reusable 2025-06-23 16:46:06 +02:00
quarantine all: update copyright and license headers 2023-01-27 15:36:29 -08:00
race all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
racebuild all: update copyright and license headers 2023-01-27 15:36:29 -08:00
rands wgengine/magicsock: use math/rands/v2 2024-06-05 15:57:27 -07:00
reload all: use math/rand/v2 more 2024-06-05 15:24:04 -07:00
ringbuffer all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
set util/set: add SmallSet.SoleElement, fix bug, add more tests 2025-05-29 13:06:29 -07:00
singleflight util/singleflight: add DoChanContext 2024-06-10 18:38:27 -04:00
slicesx util/slicesx: add AppendNonzero 2025-01-22 10:20:56 -08:00
stringsx util/stringsx: add package for extra string functions, like CompareFold 2024-12-23 07:43:56 -08:00
syspolicy ipn/ipnlocal,util/syspolicy: add support for ExitNode.AllowOverride policy setting 2025-07-08 17:17:47 -05:00
sysresources util/sysresources, magicsock: scale DERP buffer based on system memory 2023-04-03 17:14:14 -04:00
systemd util/systemd: don't link systemd-notification package on Android 2025-05-07 16:54:29 -07:00
testenv nettest, *: add option to run HTTP tests with in-memory network 2025-04-07 11:11:45 -07:00
topk all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
truncate util/truncate: support []byte as well (#11614) 2024-04-04 14:38:16 -07:00
usermetric wgengine/filter: add check for unknown proto 2025-01-24 12:20:44 +01:00
vizerror util/vizerror: add WrapWithMessage 2024-10-09 12:59:25 -05:00
winutil cmd/tailscaled,util/syspolicy/source,util/winutil/gp: disallow acquiring the GP lock during service startup 2025-01-23 15:06:47 -06:00
zstdframe all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00