BBS:      TELESC.NET.BR
Assunto:  src/ssh/TODO.md ssh-conn.c ssh-trans.c src/ssh/test/CMakeLists.txt tes
De:       Deuc¨
Data:     Fri, 27 Mar 2026 14:34:15 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/7839289dc562f7e958d6a132
Modified Files:
	src/ssh/TODO.md ssh-conn.c ssh-trans.c src/ssh/test/CMakeLists.txt test_conn.c test_transport.c
Log Message:
Fix 3 bugs: recv rekey termination, bytebuf window drift, close item 81 (items 15, 74, 81)

Item 15: recv_packet_raw() terminated the session on DSSH_ERROR_REKEY_NEEDED,
asymmetric with send_packet() which correctly exempts it.  Fixed to match.

Item 74: demux_dispatch() ignored dssh_bytebuf_write() return value,
deducting full dlen from local_window even on partial writes.  Window
accounting drifted, eventually starving the channel.  Also capped
maybe_replenish_window() by free buffer space so WINDOW_ADJUST never
grants more than the buffers can absorb.

Item 81: Closed as not-a-bug.  The single demux thread serializes packet
processing; the accept queue only grows while the app controls drain rate
via dssh_session_accept().

Co-Authored-By: Claude Opus 4.6 (1M context) 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]