Commit Graph
4405 Commits
Author SHA1 Message Date
Kristoffer Dalby 99cb5c1863 servertest: add login, profile, restart and register log helpers
TryNewClient returns a refused login; Login covers profile switches and
interactive logins approved through ApproveAuth; RegisterAttempts reads
the client's register log.

(cherry picked from commit 5c2cf6ed6f, adapted: ApproveAuth via State, no v1 REST in servertest)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby f1932077bb prek: exempt step captures from the large file check
They keep a netmap per node per step and must stay as recorded.

(cherry picked from commit aa40174989)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby c848c5a1a1 servertest: add relogin and auth key helpers
Relogin builds a new Direct on the same machine key and persisted
node key, as tailscaled does on up --auth-key; force rotates the key.

(cherry picked from commit 1716eece74, adapted: adds main's startPollLoop and resetNetmapState)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 6e0d520cb7 policy/v2, servertest, hscontrol: add tailnet overlap route captures
Routers announcing tailnet addresses, approved by policy, admin key and
devices:routes token; replayed through policy, map stream and v1/v2
APIs.

Updates ANT-2026-MLP8ZR5T

(cherry picked from commit 286d6ea05d, adapted: no v1/v2 API tests on 0.29)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 7a51c8f30a servertest: compare router self routes with captures
Replays ten routes captures through the mapper too; SaaS's address
ranges for "*" now resolve. Known gaps are skip entries per node.

(cherry picked from commit 59f7c558a6)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 9ce0b28456 servertest: compare user profiles in via captures
Self and peer profiles, by login and display name. A tagged self gets
its own profile in SaaS; listed as a skip entry until headscale matches.

(cherry picked from commit 32652326b9)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 46478663b9 servertest: list passing via captures
Fourteen committed via captures already match at map level; run them.

(cherry picked from commit 7d787867c9)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 1d11be02b3 testcapture: record multi-step captures and API error detail
Optional Steps, NodeIDs, error data and login state; v1 files unchanged.
Register log and raw map frame parsers; Write refuses auth keys and
login URLs.

(cherry picked from commit 1e397e8cd5, adapted: adds tailscale.com/client/tailscale/v2)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby c0a51b2cbd .gitattributes: mark golden data as generated
GitHub collapses generated files in pull request diffs.

(cherry picked from commit 0dd9079d0b)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 5083559016 CHANGELOG: document the 0.29.7 security and patch release
Updates #3571, #3583, #3601
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 044d8f5a01 go.mod: update tailscale.com to v1.104.4
Bounds the DERP HTTP client's error body read. DERP region IDs are now
tailcfg.DERPRegionID.
(cherry picked from commit 3aece6501, adapted)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 3bb6d3a756 integration/tsic: drop unused watchIPN
ipn.Notify.NetMap is gone in tailscale.com v1.104.
(cherry picked from commit 89be098f7, adapted)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 718cbc3b04 go.mod: tidy for Go 1.27
goreleaser's tidy hook rewrote go.mod, stamping 0.29.6 as +dirty.

Fixes #3583
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 02b1528025 policy: pin SSH forwarding behavior and recommend upgrades
Updates #3601
(cherry picked from commit 998c4b061, CHANGELOG dropped)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 2d881c5e56 noise: restrict metrics to the metrics listener
Updates #3571
(cherry picked from commit cd66e2414, CHANGELOG dropped, slices import added)
2026-10-30 10:33:17 +01:00
Kristoffer Dalby 9318ce4df2 release: retry existing tags without the Docker downgrade 2026-10-24 09:27:09 +00:00
Kristoffer Dalby a2b1d78639 CHANGELOG: set the 0.29.6 release date v0.29.6 2026-10-24 09:21:24 +00:00
Kristoffer Dalby ee74ce4568 CHANGELOG: document the 0.29.6 security and patch release
Updates #3579 and #3549.
2026-10-24 11:15:00 +02:00
Kristoffer Dalby 941d7ff9ae poll: end stopped map sessions without resetting active streams
Backport 371674de9 and 73dd39982 from #3575.
2026-10-24 11:15:00 +02:00
Kristoffer Dalby f1499ce280 mapper: avoid refiltering broadcast recipients
Backport 648905480 from #3568.
2026-10-24 11:15:00 +02:00
Kristoffer Dalby c32e8e4c97 db: return database-open errors for 0.29.6
Backport #3496.
2026-10-24 11:15:00 +02:00
Kristoffer Dalby c6181989b1 policy: backport peer-map optimizations for 0.29.6
Backport #3556 and #3557. Updates #3549.
2026-10-24 11:15:00 +02:00
Kristoffer Dalby 981f2eb1b5 lint: retain the exhaustruct exclusion with the updated toolchain 2026-10-24 11:15:00 +02:00
Kristoffer Dalby f2b5f45836 all: prepare 0.29.6 security updates
Updates #3579
2026-10-24 11:15:00 +02:00
Kristoffer Dalby 0f7d1e536b docs: warn about audit-log attributes with logtail disabled
Updates #3522

(cherry picked from commit cced8a0ab, docs only)
(cherry picked from commit 7d8cfe13f)
v0.29.5
2026-10-13 14:35:52 +02:00
Kristoffer Dalby fb619274a9 mkdocs: bump version 2026-10-13 14:35:52 +02:00
Kristoffer Dalby d0cb5a5a44 go.mod: update dependencies
chi v5.4.0, x/sync v0.24.0, creachadair/command v0.2.12; no code changes.

(cherry picked from commit 641a8af640, adapted)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 755e6a1e2d all: build with Go 1.26.8
Docker images take 1.26.9; nixpkgs 26.05 ships 1.26.8.
Go 1.27 needs the newer tailscale.com that main carries.
2026-10-13 14:35:52 +02:00
github-actions[bot] ceac1c14cd Dockerfile: bump rust 1.95-trixie to 1.99-trixie
(cherry picked from commit 911f57792f, adapted from 1.98)
2026-10-13 14:35:52 +02:00
github-actions[bot] e279de9cd3 Dockerfile: bump golang builders to 1.27.2 / 1.27.1
(cherry picked from commit 547905baf1)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 733d544b1c docker: let the tailscale builders fetch a newer toolchain
Both stages compile a tailscale tree cloned from an unpinned branch. The
golang images set GOTOOLCHAIN=local, so the moment upstream raises its go
directive the build fails outright instead of fetching a toolchain.

(cherry picked from commit e40f47abbf)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby a4f854f721 mapper: preserve node pings when a full update is queued
Updates #3523

(cherry picked from commit 17cb110892)
(cherry picked from commit 7c2260c602)
(cherry picked from commit 6875c4bc8, test only)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 6ed6dd8db5 policy/v2: stop ViaRoutesForPeer appending into pm.pol.Grants
Updates #3515

(cherry picked from commit 5cadfa16eb)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby d03d3a0231 mapper: retain the logtail instruction across client restarts
Updates #3522

(cherry picked from commit 52a7f8c89c)
(cherry picked from commit 0c9186d4a3)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 940260cfdc servertest: bound fixture batching and await observable state
Updates #3544
2026-10-13 14:35:52 +02:00
Kristoffer Dalby b16b705c13 servertest: wait for stable via-route netmaps
Updates #3524

(cherry picked from commit f1293a805a)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby f624180bf8 docs: record the 0.29.5 backports
Updates #3492, #3495, #3501, #3515, #3516, #3517, #3518, #3522, #3523, #3526, #3527, #3538, #3539, #3541
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 8d2ac4ab9a ci: regenerate the release integration test matrix
Updates #3517, #3541
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 5c25a66983 state: send relogins as whole nodes when peers need them
Updates #3541, #3531

Adapted: #3525 is not backported, so the inline pre-auth key
re-registration path reports keysOnly, and NodeView.IsExpiredAt comes
along from it.

(cherry picked from commit a8d6f5be81)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 5fb2d4e089 policy/v2: revoke stale SSH access and recheck authentication
Updates #3517, #3508

(cherry picked from commit 4fd4da75f2)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 00f670213a mapper: retain reconnect removals until delivery
Updates #3527

(cherry picked from commit b4d5cdd6aa)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 98ce49defd mapper: deliver peer removals as separate deltas
Updates #3492

(cherry picked from commit eeaac680be)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 929e3337f4 mapper: refresh self when approved routes change
Updates #3502, #3518

(cherry picked from commit 48046dc9c5)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby a4e56d7bf1 policy/v2: skip route resolution without via grants
Updates #3512, #3538

(cherry picked from commit f8018f177a)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 0a207969e7 hscontrol: preserve ephemeral nodes with live sessions
Updates #3535, #3539

(cherry picked from commit 8798c9af83)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 4d42bc62ec noise: reject reused SSH check verdicts
Updates #3526

(cherry picked from commit 00d64db9ef)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby f079cf7a59 policy/v2: resolve unregistered users to an empty set
Updates #3513, #3516

(cherry picked from commit 2dcd5c876e)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby bd8b8ce757 policy/v2: invalidate per-node filters when users change
Updates #3501

(cherry picked from commit edf5cc994e)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 5ec1a5abb8 policy/v2: restore the live policy after a rejected update
Updates #3501

(cherry picked from commit 9ce160ed5b)
2026-10-13 14:35:52 +02:00
Kristoffer Dalby 711d00d5ba policy/v2: preserve via exit steering across unrelated rules
Updates #3495

(cherry picked from commit 3417e4cb77)
2026-10-13 14:35:52 +02:00