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/syspolicy
Nick Khyl 4df02bbb48 util/syspolicy/setting: use a custom marshaler for time.Duration
jsonv2 now returns an error when you marshal or unmarshal a time.Duration
without an explicit format flag. This is an intentional, temporary choice until
the default [time.Duration] representation is decided (see golang/go#71631).

setting.Snapshot can hold time.Duration values inside a map[string]any,
so the jsonv2 update breaks marshaling. In this PR, we start using
a custom marshaler until that decision is made or golang/go#71664
lets us specify the format explicitly.

This fixes `tailscale syspolicy list` failing when KeyExpirationNotice
or any other time.Duration policy setting is configured.

Fixes #16683

Signed-off-by: Nick Khyl <nickk@tailscale.com>
4 months ago
..
internal all: unify some redundant testing.TB interface copies 8 months ago
rsop ipn/ipnlocal,util/syspolicy: add support for ExitNode.AllowOverride policy setting 5 months ago
setting util/syspolicy/setting: use a custom marshaler for time.Duration 4 months ago
source ipn/ipnlocal,util/syspolicy/source: retain existing exit node when using auto exit node, if it's allowed by policy 5 months ago
handler.go all: unify some redundant testing.TB interface copies 8 months ago
policy_keys.go ipn/ipnlocal,util/syspolicy: add support for ExitNode.AllowOverride policy setting 5 months ago
policy_keys_test.go util/syspolicy, ipn/ipnlocal: update syspolicy package to utilize syspolicy/rsop 1 year ago
syspolicy.go ipn/{ipnauth,ipnlocal,localapi}: make EditPrefs return an error if changing exit node is restricted by policy 5 months ago
syspolicy_test.go all: unify some redundant testing.TB interface copies 8 months ago
syspolicy_windows.go all: unify some redundant testing.TB interface copies 8 months ago