BBS: TELESC.NET.BR Assunto: src/ssh/TODO.md ssh-conn.c src/ssh/test/dssh_test_internal.h test_conn De: Deuc¨ Data: Fri, 27 Mar 2026 07:09:30 -0700 ----------------------------------------------------------- https://gitlab.synchro.net/main/sbbs/-/commit/8533cb551b49b8a61d338cf0 Modified Files: src/ssh/TODO.md ssh-conn.c src/ssh/test/dssh_test_internal.h test_conn.c Log Message: Fix 3 window-accounting data races (items 51, 63, 84) local_window was modified without buf_mtx and before send_packet succeeded, causing flow-control drift and permanent channel stalls. session_write/write_ext used a stale remote_window snapshot from a separate lock acquisition, causing spurious DSSH_ERROR_TOOLONG. - send_window_adjust: update local_window under buf_mtx, only after send_packet succeeds - send_data/send_extended_data: add size_t *sentp parameter for clamp-under-lock mode (NULL = exact-or-fail) - session_write/write_ext: pass bufsz directly, let inner function clamp atomically (eliminates double-lock gap) - channel_write: remove racy unlocked pre-check of remote_window Co-Authored-By: Claude Opus 4.6 (1M context)n --- mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net ----------------------------------------------------------- [Voltar]