Reply to subsystem (and version 0.40)

pmeunier
Sep 12, 2025, 1:15 PM
EZX5NV5AATX3WALYPYZ7R43XC6EOBDIG2SXKAUOZ7Y7PHPKICZJAC

Dependencies

  • [2] LYRZREY7 Adding support for MACs and AES in CTR mode
  • [3] R5J3MB56 Client newkeys was not always resetting the sequence counter
  • [4] SKTE2HF6 Version 0.37
  • [5] 7Y2ROIVZ Version bump
  • [6] 2WEO7OZL Version updates: getting rid of anyhow + moving to Tokio 1.0
  • [7] G3FNNIIU Limiting the amount of messages that can be buffered while rekeying to two channel windows
  • [8] ORSEEVB5 Version bump
  • [9] BRDS7STA Adding method `send_channel_msg` to client::Session, to make it easier to write handlers
  • [10] 2Q3SZY2C Version bump
  • [11] 662ZS5JF Version 0.33.2
  • [12] D6H7OWTT Fixing the terrapin attack mitigation
  • [13] CQSPFH4H Version 0.30.4
  • [14] WXZWQLGL Correct negotiation without OpenSSL
  • [15] PDTFLA4Y Version 0.30.7
  • [16] CWHVPLXN Version bump
  • [17] OQZGSEWM Buffering non-kex packets received after issuing a KEXINIT
  • [18] 32GIIFWR Fixing strict mode
  • [19] TFYJ3P2A Version 0.30.8/0.19.4, and solving conflicts
  • [20] ASD7JVBE Do not read past the size of the buffer (after Tokio 0.3)
  • [21] DJT33BQE Version bump
  • [22] 7FRJYUI6 Reboot because of a bad change
  • [23] FT67GGO4 Version bump (Pijul and Thrussh)
  • [24] OBHPOIUH Modernising the API with async traits
  • [25] 2VTUKRLJ Version
  • [26] E2SB74SV Version 0.30.3
  • [27] EZTTZ6OW Fixing terrapin, again
  • [28] VYDCQWSF Version 0.30.6
  • [29] SMUTYV2C Fixing warnings
  • [30] 634OYCNM Tokio 0.3

Change contents

  • replacement in thrussh/src/server/mod.rs at line 369
    [3.215009][3.3441:3556]()
    ) -> impl Future<Output = Result<(Self, Session), Self::Error>> + Send {
    async { Ok((self, session)) }
    [3.215009]
    [3.215068]
    ) -> impl Future<Output = Result<(Self, Session, bool), Self::Error>> + Send {
    async { Ok((self, session, false)) }
  • replacement in thrussh/src/server/encrypted.rs at line 712
    [3.256570][3.256570:256660]()
    let (h, s) = h.subsystem_request(channel_num, name, self).await?;
    [3.256570]
    [3.256660]
    let (h, mut s, success) =
    h.subsystem_request(channel_num, name, self).await?;
    if wants_reply != 0 {
    if let Some(ref mut enc) = s.common.encrypted {
    push_packet!(
    enc.write,
    enc.write.push(if success {
    msg::REQUEST_SUCCESS
    } else {
    msg::REQUEST_FAILURE
    })
    )
    }
    }
  • replacement in thrussh/Cargo.toml at line 5
    [3.426214][2.15757:15776]()
    version = "0.38.0"
    [3.426214]
    [3.426233]
    version = "0.40.0"