chore(deps): drop bssh-russh fork, use upstream russh 0.62.1#212
Open
Yaminyam wants to merge 1 commit into
Open
chore(deps): drop bssh-russh fork, use upstream russh 0.62.1#212Yaminyam wants to merge 1 commit into
Yaminyam wants to merge 1 commit into
Conversation
Both reasons the fork existed are now upstreamed: - high-frequency PTY output fix (Handle::data from spawned tasks): upstream #731, released in russh 0.62.0 - SHA-1 MAC exclusion from Preferred::DEFAULT: upstream #690, released in russh 0.60.2 So crates/bssh-russh is no longer needed. Switch the dependency to the crates.io russh 0.62.1 and remove the vendored fork (66 files). - Cargo.toml: russh = "0.62.1" (was package = bssh-russh, path fork) - ssh-key pin bumped =0.7.0-rc.10 -> =0.7.0-rc.11 to match russh 0.62.x - handler: adapt channel_open_session to the new russh 0.62 signature (ChannelOpenHandle reply + Result<()> instead of Result<bool>); accept the channel via reply.accept() - audit.toml: reword the RUSTSEC-2023-0071 note (no more vendored fork) Verified: cargo build, clippy, fmt clean, and full test suite green (1233 lib tests, PTY stress 10/10, streaming high-throughput 28/28).
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.
Summary
Both reasons the
bssh-russhfork existed are now upstreamed, so the vendored fork (66 files) can be removed and we can depend on crates.iorusshdirectly.Handle::datafrom spawned tasks)Preferred::DEFAULTNote: the SHA-1 exclusion was actually never a bssh-specific change — the fork simply vendored upstream 0.61.1, which already excluded SHA-1 MACs via #690. The only genuinely bssh-specific patch was the PTY fix, now in 0.62.0.
Changes
Cargo.toml:russh = "0.62.1"(waspackage = "bssh-russh", path fork); dropcrates/bssh-russhfrom workspace membersssh-keypin=0.7.0-rc.10→=0.7.0-rc.11to match russh 0.62.x (also avoids the transitivedsabuild break that rc.10 hits)src/server/handler.rs: adaptchannel_open_sessionto the new russh 0.62 signature — it now takes aChannelOpenHandlereply and returnsResult<()>instead ofResult<bool>; we accept the channel viareply.accept().cargo/audit.toml: reword the RUSTSEC-2023-0071 note (no more vendored fork)crates/bssh-russh/(66 files)crates/bssh-russh-sftpis kept — its pipelined File I/O is not yet upstreamed.Verification
cargo build/cargo clippy --all-targets/cargo fmt --checkclean (rustc 1.93)🤖 Generated with Claude Code