• src/ssh/TODO.md deucessh-auth.h ssh-auth.c ssh-conn.c ssh.c src/ssh/te

    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/840c20c54e883d611d4ee3ec
    Modified Files:
    src/ssh/TODO.md deucessh-auth.h ssh-auth.c ssh-conn.c ssh.c src/ssh/test/CMakeLists.txt test_auth.c
    Log Message:
    Fix 5 bugs: data races, double-start, auth disconnect, cnd_broadcast (items 58-73)

    - Move channel flag pre-checks (open/eof_sent/close_received) into
    dssh_conn_send_data() and dssh_conn_send_extended_data() under buf_mtx,
    fixing data races in write paths (items 58, 59)
    - Change dssh_session_start() double-start guard from demux_running to
    conn_initialized; clear flag in dssh_session_stop() (item 68)
    - Add DSSH_AUTH_DISCONNECT callback return value so server auth callbacks
    can reject and disconnect clients (item 70)
    - Replace all cnd_signal(poll_cnd) with cnd_broadcast to wake all waiters
    when multiple threads poll the same channel (item 73)

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net