Kristoffer Dalby
ca259fbfb7
api/v2: send empty route lists under fields=all
2026-10-28 16:35:22 +00:00
Kristoffer Dalby
f0df7e12ad
api/v2: name the join key in a device's oauthClientId
...
For a key a token made, Tailscale names the token's client, which is
not recorded, so the field is left out.
2026-10-28 16:35:22 +00:00
Kristoffer Dalby
01c296599a
api/v2: show a tagged device's creator as its user
...
A tagged device shows the login that made the key it joined with.
Its owner stays its tags.
2026-10-28 16:35:22 +00:00
Kristoffer Dalby
3fe677ea1c
api/v2: return a device name as its FQDN
2026-10-28 16:35:22 +00:00
Kristoffer Dalby
0ca8952b46
api/v2: ignore unknown properties in request bodies
...
Tailscale's API ignores them.
2026-10-28 16:35:22 +00:00
Kristoffer Dalby
01924fa8be
api/v2: bound every request body
...
huma gives RawBody no limit, and validates a whole body before
the handler runs. The token form is parsed before the secret check.
2026-10-28 16:35:22 +00:00
Kristoffer Dalby
12fb9fae43
api, policy/v2: refuse route prefixes with host bits
...
Routes are matched as written, so such a prefix never equals the one a
client announces. The approval APIs answer 400 and autoApprovers refuses
it at load and write, with Tailscale's text.
2026-10-28 16:35:21 +00:00
Kristoffer Dalby
60d42808b8
state: keep node removal apart from policy refresh in DeleteNode
...
Peers get the deletion as an explicit PeersRemoved change, independent of
their sent-peers tracking.
Updates tailscale/tailscale#15660
2026-09-30 19:03:13 +02:00
Kristoffer Dalby
21f6e46fb8
state: refresh policy nodes inside the peer map build
...
One peer build per tag/user/IP/route write; callers detect policy moves
via NodesGeneration. Per-node caches only store results for the node
pm holds, so a mapper reading mid-build cannot pin a stale filter.
2026-09-30 17:21:02 +02:00
Kristoffer Dalby
fc6a16fdfc
state: preserve committed node deletion changes
...
Updates #3410
2026-09-09 18:18:17 +02:00
Kristoffer Dalby
84715e976c
api/v2: add OAuth client-credentials auth and scope enforcement
2026-06-26 09:18:06 +02:00
Kristoffer Dalby
b3472bb8dd
api/v2: add Tailscale-compatible devices API
...
Map the Tailscale device surface — get, list, delete, set name, tags,
key expiry, routes, and authorization — onto Headscale nodes.
2026-06-21 04:17:03 +02:00