json_string_array took the first "Tags" array anywhere in the document, justified by Self-before-Peer field order. An untagged Self omits the key entirely (Go omitempty), so the match fell through into Peer and returned a peer's tag — false-refusing every login join and false-verifying untagged authkey joins on any tailnet with a tagged node. Extract Self by brace counting (Location nests an object, so slicing to the next key would truncate) and read the array inside it. Refs #160 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3 lines
202 B
Markdown
3 lines
202 B
Markdown
### Fixed
|
|
|
|
- The netmap tag read is scoped to `Self`: an untagged node next to tagged peers no longer reads a peer's tag, false-refusing `--join login` and false-verifying untagged authkey joins (#160)
|