Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve registration protocol implementation and switch to NodeKey as main identifier #725

Merged
merged 14 commits into from
Aug 12, 2022

Conversation

juanfont
Copy link
Owner

@juanfont juanfont commented Aug 10, 2022

This PR lays the groundwork for the implementation of the TS2021 protocol (Tailscale control v2).

Under the Noise protocol the NaCl boxes encrypted with the MachineKey are dropped in favour of Noise sessions. MachineKey loses importance across the code base, and when using Noise they are not sent at all.

In headscale we were using the stripped version of the public MachineKey as a sort-of ID, for the iterative login process (including the registrationCache used in the web+CLI and the OIDC flows).

This PR addresses that, switching to NodeKey as identifier.

In addition to it, it also improves a bit the handling of the registration process (and reduces the impact caused by #727 (although does not fully resolve it).

@juanfont juanfont requested a review from kradalby as a code owner August 10, 2022 14:01
@juanfont juanfont changed the title [DRAFT] Switch to nodekey as main node identifier Improve client registration protocol implementation and switch to NodeKey as main client identifier Aug 11, 2022
@juanfont juanfont changed the title Improve client registration protocol implementation and switch to NodeKey as main client identifier Improve registration protocol implementation and switch to NodeKey as main identifier Aug 11, 2022
api.go Outdated Show resolved Hide resolved
api.go Outdated Show resolved Hide resolved
api.go Outdated Show resolved Hide resolved
juanfont and others added 5 commits August 12, 2022 09:02
Co-authored-by: Kristoffer Dalby <kradalby@kradalby.no>
Co-authored-by: Kristoffer Dalby <kradalby@kradalby.no>
Co-authored-by: Kristoffer Dalby <kradalby@kradalby.no>
@juanfont juanfont merged commit 09cd7ba into main Aug 12, 2022
@juanfont juanfont deleted the switch-to-db-d branch August 12, 2022 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants