Conversation
a88cb12 to
a4a6096
Compare
Collaborator
Author
|
tagging @illotum as well if you've got cycles to let us know if there are any tools we should be using here that we're not |
illotum
approved these changes
Apr 20, 2026
Contributor
illotum
left a comment
There was a problem hiding this comment.
(TIL about Credo) Dialyzer is my go-to, LGTM.
b30a9f1 to
4174f3a
Compare
dylan-tailscale
approved these changes
Apr 22, 2026
Collaborator
dylan-tailscale
left a comment
There was a problem hiding this comment.
lgtm, one question
The control client previously assumed the server always sends an early challenge packet after the Noise handshake. This breaks when using Go's testcontrol server, which skips the early payload. Changes: - ts_control/connect: make the post-handshake early payload (challenge packet) optional by peeking at the first 9 bytes and chaining them back if they aren't the magic prefix - ts_control/control_dialer: use the same optional challenge logic for reconnections Co-Authored-By: Nathan Perry <np@npry.dev>
The control client previously required TLS for all control server connections. This assumptions break when using Go's testcontrol server, which serves plain HTTP. Changes: - ts_control/connect: select HTTP/1.1 over TCP or TLS based on URL scheme, making http:// control URLs work - ts_http_util: change upgrade request from GET to POST to match Go's controlhttpserver which requires POST for /ts2021 Co-Authored-By: Nathan Perry <nathan@tailscale.com>
Signed-off-by: Nathan Perry <nathan@tailscale.com> Change-Id: I4e0f6f1f3481199356ebb3750cbc2fd26a6a6964
Signed-off-by: Nathan Perry <nathan@tailscale.com> Change-Id: If434dcec6c995a626958929980c4ebab6a6a6964
Check TS_RS_TEST_NET to skip elixir tests. Signed-off-by: Nathan Perry <nathan@tailscale.com> Change-Id: Ia5432fac6382231f9226978cdae7f04e6a6a6964
Signed-off-by: Nathan Perry <nathan@tailscale.com> Change-Id: I24319d73a30abf5d9ebb4d4a2e8083936a6a6964
Signed-off-by: Nathan Perry <nathan@tailscale.com> Change-Id: I1d436f03dc140f2d11e1689de2c1b34e6a6a6964
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add CI checks for elixir:
dialyzer: primary erlang-family static analysis tool, runs type-checks, finds dead code, among other thingscredo: more lint-type static analysis and heuristic suggestions (thinkcargo clippy)mix formatDeployment to hex.pm not handled here, will handle in a future PR