• src/sbbs3/answer.cpp

    From Rob Swindell (on Windows)@1:103/705 to Git commit to main/sbbs/master on Sun Sep 24 01:57:53 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/a292e8bbc95746429b05492b
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Hyphenate "sign-up" in log message
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Wed Dec 27 17:11:05 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/becf01f28860535195705e43
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Address new GCC build warning in new ssh related code

    comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Jan 17 17:37:50 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/8f9d12c3bca20ab46ef46954
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Whoops, missed this bit.

    Just running git commit --amend doesn't do -a it seems. :)
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 20 22:41:53 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/8998c57bd800a64ed4a03e6d
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Fix warning reported by nelgin.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 20 22:42:59 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/3d0d1b91b6646943511dc134
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Actually fix warning reported by nelgin.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Sun Jan 21 01:13:24 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/fe62636c616af59b026c52cb
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Address GCC warning in SSH code

    328:25: warning: ‘pubkey’ may be used uninitialized
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 21 12:12:26 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/014cb781f152f5900c3f1e8c
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Fix pubkey-first auth attempts.

    Previously, once a pubkey was attempted, you could not use a password.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Jan 22 18:20:28 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f8c7b04fd7165f58891de6bc
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Set client_socket to INVALID_SOCKET after closing.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Jan 22 18:24:16 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/208b7e794efc327ad1fce90e
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Actually, no real reason to close the socket here... let the caller
    handler it.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Fri Feb 16 18:17:02 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/e4f92887e1ea3d53faf89152
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Log the auto-detected character set (e.g. UTF-8, CP437, PETSCII, or US-ASCII) --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Feb 27 14:56:09 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/43c010f6e246b6131d393c7d
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Only log that we're waiting for channel type the first time.

    The other 500 times are implied.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Feb 28 08:52:16 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/7bfb1ef12e482ecfb30a9648
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Guard against answer() being called before the first channel is created.

    In this case, just accept whatever we get info on as the "first" one.

    Likely fixes #728
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Feb 28 11:00:41 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/dc04dba2dd1317000fcbc79e
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Early-out of the channel type loop for channel errors.

    If there's an error setting the channel or getting the channel
    type, give up on the session immediately.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Mar 2 15:48:30 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/bf25c42be169b69e9a0e2051
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    TRUE -> true
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Mar 2 15:48:30 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/84c90ed98b83651479a8ece0
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    client_on() still accepts a BOOL (not bool), so TRUE (not true) is correct
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Mar 2 15:48:30 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/ccce5a7c40c325f3e0628fe1
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Initialize sbbs_t::client and call client_on() as expected for logins

    See sbbs_t::logon() for example

    Note: the client.protocol is still "SSH" here (not "SFTP"). Perhaps that
    should be changed?

    Does any client actually support simultaneous "SSH" and "SFTP" sessions over the same socket?
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Mar 3 10:36:45 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/479c00be08fcee60913272a4
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Fix issue when third SSH authentication attempt succeeds

    Because the session is activated on the *next* time through the
    loop, if the third attempt to authenticate (including public key)
    fails, it would leave the session inactive and fail to log in with
    a confusing error about an obsolete cryptlib.

    On success, decrement ssh_failed to ensure another pass through
    the loop.

    Also, add more debug logging around the auth so you can clearly
    see each failure, and log client_socket each time so it's clearly
    grouped.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Oct 17 21:57:19 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/83fa4577d127ff775202a0a8
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Fix indentation of one line.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Oct 23 18:40:26 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/ddf7e3af07a181a1ad0bff84
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Change ANSI-color to black on black to obscure garbage in term-detect sequence

    Pretty up the initial connection for non UTF-8 ANSI terminals, at least.

    Also removed what looks like an extraneous underscore after the return to normal ANSI attribute (CSI 0m) sequence - I'm not sure. It's been there since Synchronet v2 so it's possible that some terminal needed it for some reason
    but that reason has been lost to time (maybe WIP/DCTerm detection?).

    Fixes issue #996
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Wed Dec 10 19:41:15 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/ea53ddfb3812f95a9480865e
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Fix extra [Hit a key] prompt when connecting with PETSCII

    Another regression in the "New Terminal Abstration" fixed.
    --- SBBSecho 3.32-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Dec 19 11:28:55 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/114c3dfdee48db651bf568fa
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Fix potential deadlock in specific case

    If the telnet client sends an IP address as a Location, and that
    IP address is in a filter file, the input thread mutex would not
    be unlocked.

    This oddball feature was suggested on Reddit here: https://www.reddit.com/r/synchronet/comments/khuyey/ftelnetwebsocketservicejs/

    And implemented in Synchronet here: https://gitlab.synchro.net/main/sbbs/-/commit/2bbe824c0656176d0314f2d48558b322a69b9e32

    It appears that it's been broken the whole time.

    Found by some LLM (ChatGPT?) and reported by nelgin.
    --- SBBSecho 3.33-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Wed Dec 31 01:59:39 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/4b53b6a54d1944eb698f19af
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Re-arrange the unlock's of the input_thread_mutex to make more sense
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Jan 3 14:24:04 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/d0accc6f3d4dda6fa4d811a1
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Log a msg to the node/system log when new user registration is canceled

    Yeah, one 'l'.
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Jan 19 04:06:24 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/f6746e937c8b888e60114770
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Don't execute login module if user already disconnected

    which might log the (new) error message: Error -1 executing login module

    Users can easily disconnect before the login module is executed (e.g. during
    a pause prompt while displaying text/answer.*).

    We still might need more disconnection detection in login.js or lower the severity of the logged error if login.js still gets auto-terminated due to disconnection (which results in a -1 exit code if ungracefully terminated).
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Fri Sep 11 14:40:35 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/ca239664d95bca090dc4b064
    Modified Files:
    src/sbbs3/answer.cpp
    Log Message:
    Reject DELETED/INACTIVE accounts on the SSH, SFTP and RLogin logon paths

    An account flagged DELETED or INACTIVE could still log on via SSH, SFTP
    or RLogin. Those paths resolve the account name themselves and, on a successful authentication, jump straight to logon(), bypassing login(),
    which was the only place the flags were checked. That is why Telnet
    correctly refused the same account while SSH let it straight in.

    find_login_id() does not filter the flags on the caller's behalf:
    matchuser() skips only DELETED accounts, because a deleted account's
    alias is blanked in the user index, and the LOGIN_USERNUM shortcut
    checks nothing at all.

    Test user_is_active() once the account has been resolved. A terminal
    session is sent text[UnknownUser] before the disconnect, the same
    response Telnet gives, since login() treats a deactivated account as an
    unknown one. An SFTP session has no terminal and is refused in the
    channel handler instead, before the session is marked on-line and the
    logon is counted.

    Both sites record the rejection with badlogin(), so repeated attempts accumulate toward the hack and IP filter thresholds, as they already do
    in the FTP and mail servers. The password is deliberately not passed
    along: it was the correct one, and it would otherwise be written to the
    hack log and to the ip.can entry.

    GitLab #1239

    Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)