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