https://gitlab.synchro.net/main/sbbs/-/commit/f5738899c8fa00553af9c6fa
Modified Files:
src/ssh/TODO.md ssh-internal.h ssh-trans.c ssh-trans.h ssh.c
Log Message:
Fix 4 bugs: data races, lost wakeup, duplicate defines, magic numbers (items 14-56)
- rekey_in_progress: bool -> atomic_bool (item 54, demux reads without tx_mtx) - set_terminate() lost wakeup: mtx_trylock around rekey_cnd broadcast (item 55,
avoids self-deadlock when called from send_packet; residual noted in items 66/85)
- conn_initialized: bool -> atomic_bool (item 56, cross-thread read in set_terminate)
- Deduplicate DSSH_CHAN_SESSION/DSSH_CHAN_RAW (item 35) and
SSH_OPEN_ADMINISTRATIVELY_PROHIBITED (item 36) from ssh-internal.h
- Replace magic numbers 80/81/82 with SSH_MSG_GLOBAL_REQUEST/SUCCESS/FAILURE (item 14)
- Close item 44 (SSH_MSG_UNIMPLEMENTED callback already implemented)
- Also fixes 2 pre-existing test failures (dhgex self-deadlock in set_terminate)
Co-Authored-By: Claude Opus 4.6 (1M context) <
noreply@anthropic.com>
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net