Fixing channel replies

pmeunier
Sep 15, 2025, 5:53 PM
C66PGAEQ3TKLPS2RY7EFICAIGAB2GSBWPDPCHUSYJOIU2G35WYLQC

Dependencies

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

Change contents

  • edit in thrussh/src/server/encrypted.rs at line 606
    [3.251891]
    [3.251891]
    debug!(
    "channel request {:?} {:?}",
    std::str::from_utf8(req_type),
    wants_reply
    );
  • replacement in thrussh/src/server/encrypted.rs at line 724
    [2.379][2.379:474]()
    push_packet!(enc.write, enc.write.push(msg::CHANNEL_SUCCESS));
    [2.379]
    [2.474]
    push_packet!(enc.write, {
    enc.write.push(msg::CHANNEL_SUCCESS);
    enc.write.push_u32_be(channel_num.0);
    });
  • replacement in thrussh/Cargo.toml at line 5
    [3.426214][2.910:929]()
    version = "0.40.2"
    [3.426214]
    [3.426233]
    version = "0.40.3"