• src/ssh/TODO.md ssh-internal.h ssh-trans.c ssh-trans.h ssh.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Fri Mar 27 14:34:15 2026
    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