Repository navigation
update: upgrade to russh 0.65 and adopt its agent and signer APIs - #350
Merged
Merged
Conversation
Refresh Cargo.lock and raise manifest floors to the latest releases. russh 0.65 carries six security fixes (EXT_INFO allocation, zero maximum packet size, nested certificate stack exhaustion, agent server issues). Handler::auth_publickey now takes VerifiedPublicKey, which only russh can construct, so the server policy moves to SshHandler::authenticate_publickey for direct testing. Use russh #794: bssh sends session-bind@openssh.com on direct-authentication agent connections and, with the forwarding flag set, on relayed forwarded-agent connections. Refusal is non-fatal as in OpenSSH; a timeout closes that connection. In agent-restrict, the four direct constrained phases now pass. The four multihop phases still fail because ssh-agent requires publickey-hostbound-v00@openssh.com, which russh cannot send. Use russh #788: a failed signer now leaves the session usable, so the authenticate_declinable workaround is removed and agent and local signer failures move on to the next identity. Refs #327
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.
Updates every Rust dependency to its latest compatible release and adopts russh 0.65, which includes our merged russh#794 and makes an existing workaround unnecessary.
Scope
The root workspace is the only tracked Rust project. The repository tracks no
package.json, lockfile, or pnpm configuration, so there are no web packages or pnpm version to update.references/holds gitignored upstream clones and was left alone.Migration
Handler::auth_publickeynow takesVerifiedPublicKey, which only russh can construct, so the server policy moved toSshHandler::authenticate_publickey.session-bind@openssh.comon direct-authentication agent connections and, with the forwarding flag set, on relayed forwarded-agent connections.authenticate_declinableis removed, and agent and local signer failures now move on to the next identity (behavior change, matching OpenSSH).Held back
ssh-keypin matches.pest_stack_guardpins=0.1.24(via ratatui, termwiz, pest).crypto-common0.1.7 pins it (via ratatui, termwiz, sha2 0.10).Existing and not gated by CI:
cargo denyreports RUSTSEC-2023-0071 (rsa) and RUSTSEC-2024-0449 (unsafe-libyaml via serde_yaml).Validation
fmt, clippy with all targets and features, and all 2654 tests pass on macOS;
cargo check --lockedpasses on MSRV 1.97. Linux and Windows cross-checks could not run locally (no C cross toolchain), so CI covers them.OpenSSH V_10_3_P1
agent-restrictstill fails on macOS, as in the baseline, but its four direct constrained phases now pass. The four multihop phases fail because ssh-agent requirespublickey-hostbound-v00@openssh.com, which russh cannot send.agent,agent-getpeereid,agent-timeout,forward-control, andproxy-connectpass. The local OpenSSH tree was built with--with-sandbox=nobecause its sandbox code does not compile on this SDK.Refs #327