• src/sbbs3/main.cpp

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Aug 14 19:14:44 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/903d316dda30b9278dbbf943
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Terminal server: don't report a session teardown as an SSH error

    hangup() destroys the cryptlib session while input_thread sits between
    its ssh_mode test and its crypt_pop_channel_data() call, so the pop can
    fail on a handle that is already gone. The status is normally CRYPT_ERROR_PARAM1, which GCES logs at LOG_ERR:

    Node 11 SSH ERROR 'Bad argument, parameter 1' (-1) popping data

    Every clean SSH disconnect therefore produced a line that reads like a
    failure. Five days of terminal-server logs on Vertrauen held 355 of
    them, each immediately preceded by a teardown message (disconnecting
    client, passthru socket disconnected, passthru or output thread
    terminated) and none on a live session. The noise imitates the genuine mid-session drops tracked in #1225, which makes those logs harder to
    read.

    Detect the already-terminating session and log it at LOG_DEBUG instead.
    The node was being torn down either way, so only the severity changes;
    an error arriving while the session is still up is still reported
    through GCES.

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

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