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/ipn
Andrew Dunham 6d84f3409b ipn/ipnlocal: handle more edge cases in netmap expiry timer
We now handle the case where the NetworkMap.SelfNode has already expired
and do not return an expiry time in the past (which causes an ~infinite
loop of timers to fire).

Additionally, we now add an explicit check to ensure that the next
expiry time is never before the current local-to-the-system time, to
ensure that we don't end up in a similar situation due to clock skew.

Finally, we add more tests for this logic to ensure that we don't
regress on these edge cases.

Fixes #7193

Change-Id: Iaf8e3d83be1d133a7aab7f8d62939e508cc53f9c
Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
2 years ago
..
ipnauth all: update copyright and license headers 2 years ago
ipnlocal ipn/ipnlocal: handle more edge cases in netmap expiry timer 2 years ago
ipnserver all: update copyright and license headers 2 years ago
ipnstate all: update copyright and license headers 2 years ago
localapi all: implement pcap streaming for datapath debugging 2 years ago
policy all: update copyright and license headers 2 years ago
store all: use Go 1.20's bytes.Clone 2 years ago
backend.go all: update copyright and license headers 2 years ago
doc.go all: update copyright and license headers 2 years ago
fake_test.go all: update copyright and license headers 2 years ago
ipn_clone.go all: update copyright and license headers 2 years ago
ipn_view.go all: update copyright and license headers 2 years ago
prefs.go all: update copyright and license headers 2 years ago
prefs_test.go all: update copyright and license headers 2 years ago
serve.go all: update copyright and license headers 2 years ago
store.go all: update copyright and license headers 2 years ago