__                 _ _                _
  / _| ___   ___   __| | |__   __ _ _ __| | __
 | |_ / _ \ / _ \ / _` | '_ \ / _` | '__| |/ /
 |  _| (_) | (_) | (_| | |_) | (_| | |  |   <
 |_|  \___/ \___/ \__,_|_.__/ \__,_|_|  |_|\_\

A personal BBS  ·  Missoula, Montana  ·  formerly NaClCON BBS

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

  • 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) <noreply@anthropic.com>

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