Refactor tracessh.Client to cover untraced paths - session requests#59291
Merged
Refactor tracessh.Client to cover untraced paths - session requests#59291
tracessh.Client to cover untraced paths - session requests#59291Conversation
8e22e53 to
529b47a
Compare
rosstimothy
reviewed
Sep 18, 2025
baf28e7 to
3897441
Compare
capnspacehook
approved these changes
Sep 23, 2025
Contributor
capnspacehook
left a comment
There was a problem hiding this comment.
LGTM, makes more sense to do it this way
b9c06c3 to
9816928
Compare
…ike approach to request channel handling.
9816928 to
b6d1e16
Compare
rosstimothy
reviewed
Sep 29, 2025
rosstimothy
reviewed
Sep 30, 2025
rosstimothy
approved these changes
Sep 30, 2025
Contributor
Joerger
added a commit
that referenced
this pull request
Sep 30, 2025
…#59291) * Move ssh session helper into a separate file. * Replace ssh session ChannelRequestCallback with a more x/crypto/ssh-like approach to request channel handling. * Update comments. * Move new request handling logic into tracessh client. * Fix goroutine leaks with refactors. * Add test. * Cleanup. * Rename methods. * Fix lint. * Address comments; Fix error and cleanup handling issues in tracing ssh tests. * Increase test timeouts. * Fix test data race.
Joerger
added a commit
that referenced
this pull request
Sep 30, 2025
…#59291) * Move ssh session helper into a separate file. * Replace ssh session ChannelRequestCallback with a more x/crypto/ssh-like approach to request channel handling. * Update comments. * Move new request handling logic into tracessh client. * Fix goroutine leaks with refactors. * Add test. * Cleanup. * Rename methods. * Fix lint. * Address comments; Fix error and cleanup handling issues in tracing ssh tests. * Increase test timeouts. * Fix test data race.
This was referenced Sep 30, 2025
github-merge-queue bot
pushed a commit
that referenced
this pull request
Oct 6, 2025
…ests (#59789) * Refactor `tracessh.Client` to cover untraced paths - session requests (#59291) * Move ssh session helper into a separate file. * Replace ssh session ChannelRequestCallback with a more x/crypto/ssh-like approach to request channel handling. * Update comments. * Move new request handling logic into tracessh client. * Fix goroutine leaks with refactors. * Add test. * Cleanup. * Rename methods. * Fix lint. * Address comments; Fix error and cleanup handling issues in tracing ssh tests. * Increase test timeouts. * Fix test data race. * Fix go version conflict. * Fix merge conflict.
atburke
pushed a commit
that referenced
this pull request
Oct 7, 2025
…ests (#59788) * Refactor `tracessh.Client` to cover untraced paths - session requests (#59291) * Move ssh session helper into a separate file. * Replace ssh session ChannelRequestCallback with a more x/crypto/ssh-like approach to request channel handling. * Update comments. * Move new request handling logic into tracessh client. * Fix goroutine leaks with refactors. * Add test. * Cleanup. * Rename methods. * Fix lint. * Address comments; Fix error and cleanup handling issues in tracing ssh tests. * Increase test timeouts. * Fix test data race. * Fix go version conflict. * Fix merge conflict.
rhammonds-teleport
pushed a commit
that referenced
this pull request
Nov 6, 2025
…#59291) * Move ssh session helper into a separate file. * Replace ssh session ChannelRequestCallback with a more x/crypto/ssh-like approach to request channel handling. * Update comments. * Move new request handling logic into tracessh client. * Fix goroutine leaks with refactors. * Add test. * Cleanup. * Rename methods. * Fix lint. * Address comments; Fix error and cleanup handling issues in tracing ssh tests. * Increase test timeouts. * Fix test data race.
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.
This PR replaces the
ChanRequestCallbacklogic added in #42123 with a morex/crypto/ssh-like request handler registration flow, mirroring the signature of ssh.Client.HandleChannelOpen. Rather than wiring the callback through several layers of session creation methods, you can just register request handlers the same way you would register channel handlers at the top level.The primary functional change is that the tracing
ssh.Clientcan wrap the request handlers in new spans so that these requests can be traced with full context.