internal/tsutil: add support for new incremental notification system for peer changes - #290
Conversation
b313c03 to
a3940a9
Compare
b4d995a to
8e6605e
Compare
|
Ran into this from the other direction and it turns out the NetMap deprecation isn't just a status refresh issue anymore - against tailscaled 1.102.x, master segfaults on startup before the window even opens. I was debugging what I assumed was my own bug on a feature branch, built unmodified master in a clean worktree to rule it out, and got the identical panic: 1.102.x sends an SSHPolicy that v1.100.0 can't unmarshal, so the notification gets dropped and Prefs never gets set. Then initTray calls straight into Also, re: this from the description -
1.102.3 is out and shipping in apt and Flathub now, so whatever you were waiting on should be there. For what it's worth I tried bumping just tailscale.com to v1.102.3 on top of master, nothing else, none of the poller.go work from this branch - and that alone fixes it. Clean startup, no unmarshal errors. Same bump this PR already has in go.mod. Which makes me wonder if it's worth pulling the go.mod/go.sum bump out into its own commit and landing it separately? The poller rework here is the much bigger change and presumably wants proper testing, but meanwhile anyone on 1.102.x just can't run master at all. Separately - might be worth a nil check on Prefs in ExitNodeActive and friends regardless. Right now a dropped notification turns into a startup segfault instead of just stale status, and that'll bite again the next time the schema shifts. I can test this branch against 1.102.3 if that's useful, just say so. |
|
Pulling out the dependencies could be a good idea, sure. I've got a few other things queued on |
8e6605e to
2c42e88
Compare
…unction, fix a workaround for a Tailscale bug (tailscale/tailscale#8911) that doesn't exist anymore, etc.
Possible fix for #286.
ipn.Notify'sNetMapfield is deprecated, so this adds support for the new way to do it.This works fine in a backwards-compatible mode currently, but needs to wait for a new version of
tailscaled, probably 1.100, that supports disabling theNetMapto be tested properly.