• src/ssh/server.c ssh-conn.c

    From Deucе@VERT to Git commit to main/sbbs/master on Thu Mar 26 05:47:34 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/f918985d01363d053bcff9fb
    Modified Files:
    src/ssh/server.c ssh-conn.c
    Log Message:
    Fix setup mailbox race: demux could drop channel requests

    The demux thread delivered setup-mode messages (pty-req, shell, etc.)
    via a single-slot mailbox without waiting for the accept loop to
    consume the previous message. When multiple CHANNEL_REQUESTs arrived
    in rapid succession (e.g. auth-agent-req, pty-req, shell), later
    messages overwrote earlier ones — typically dropping pty-req.

    Fix: demux now waits on poll_cnd while setup_ready is true before
    writing the next message. setup_recv signals poll_cnd after consuming
    so the demux can proceed. Verified with OpenSSH 9.9 which sends
    auth-agent-req + pty-req + shell back-to-back.

    Server: add debug REQ trace line in channel request callback.

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

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