https://gitlab.synchro.net/main/sbbs/-/commit/0bab6743afaf7fbe0cdb3a18
Modified Files:
src/ssh/TODO.md ssh-trans.c ssh-trans.h src/ssh/test/test_selftest.c Log Message:
Close item 69: buffer in-flight data during self-initiated rekey
The kexinit wait loop silently discarded non-KEXINIT messages received
between sending our KEXINIT and receiving the peer's. RFC 4253 s7.1
restricts message types on the SENDER only; the peer may have valid connection-layer messages in flight. Added a rekey message queue that
buffers these messages and replays them through recv_packet() after
rekey completes. Also fixed a latent bug where recv_packet's default
case set rekey_pending during an active rekey, which would have caused
nested rekey attempts with enough in-flight packets.
Co-Authored-By: Claude Opus 4.6 (1M context) <
[email protected]>
---
� Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net