Commit d9c31b6
chore(deps)!: bump russh to 0.62 and migrate channel-open handlers
russh 0.62 reworked the channel-open callback contract. Both
channel_open_session and channel_open_direct_tcpip now receive a
ChannelOpenHandle and return Result<()> instead of Result<bool>:
accepting requires an explicit reply.accept().await, and dropping the
handle sends an automatic AdministrativelyProhibited rejection.
Handler changes in src/tunnel.rs:
- channel_open_session accepts explicitly instead of returning Ok(true)
- channel_open_direct_tcpip accepts after the TCP connect succeeds but
before spawning the read pump, so no data is written to a channel the
client has not yet seen accepted
- a failed TCP connect still propagates, and now also drops the handle,
which rejects the channel instead of leaving the open request unanswered
This bump also pulls the SSH crypto chain from pre-release to stable:
curve25519-dalek 5.0.0-rc.0 -> 5.0.0, ed25519-dalek 3.0.0-rc.0 -> 3.0.0,
elliptic-curve 0.14.0-rc.33 -> 0.14.1, and p256/p384/p521 to 0.14.0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 9c37c44 commit d9c31b6
3 files changed
Lines changed: 105 additions & 66 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
128 | | - | |
| 128 | + | |
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
| |||
0 commit comments