• src/syncterm/ssh.c syncterm.c syncterm.h term.c

    From Deucе@VERT to Git commit to main/sbbs/master on Sat Apr 25 04:38:43 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/40c26005f34bd8aa7d6bda7f
    Modified Files:
    src/syncterm/ssh.c syncterm.c syncterm.h term.c
    Log Message:
    syncterm: cross-thread popup queue; wire SSH_MSG_DEBUG callback

    Add popup_queue_{post,drain}() to syncterm.c with declarations in
    syncterm.h. Background threads can post (title, body) pairs from any
    thread; doterm()'s main loop calls drain() at the top of each
    iteration and displays them via uifcmsg() on the UI thread. Same
    mechanism can serve any future cross-thread popup source (SFTP
    errors, global-request callbacks, etc.).

    Wire ssh_debug_cb for SSH_MSG_DEBUG (RFC 4253 11.3): logs every
    debug line to log_fp as "SSH display ..." or "SSH debug ..." and
    posts an always_display message to the popup queue when bbslist
    isn't suppressing popups. Skip dssh_unimplemented_cb for now -- the
    seq number it carries can't be correlated to anything actionable
    without a DSSH-side send-counter API.

    Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>

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