• src/sbbs3/main.cpp sbbs.h

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Jun 10 13:27:44 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/804226440230106bb3b9859d
    Modified Files:
    src/sbbs3/main.cpp sbbs.h
    Log Message:
    mv() simplified for the non-copy case

    Constified function arguments. Source path is still case-insensitive, but destination is case-sensitive (hopefully that's not an issue).

    When a "move" (!copy) is requested, a rename() is always attempted first and if successful, job done. Otherwise, we continue on with the file-copy (and then remove).

    This should resolve CID 332219 (DEADCODE).

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (in GitKraken)@VERT to Git commit to main/sbbs/master on Fri Feb 24 21:15:43 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b802e8326f0c676997a7bde9
    Modified Files:
    src/sbbs3/main.cpp sbbs.h
    Log Message:
    Initialize sbbs_t member variables in class definition instead of ctor

    Remove the (now) unnecessary explicit initializations (e.g. to zero, blank, etc.) from the sbbs_t constructor.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sun Feb 26 14:21:19 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/98949dd4a2521bd8d475421e
    Modified Files:
    src/sbbs3/main.cpp sbbs.h
    Log Message:
    GCC 4.8.5 can't initialize a class char-array member with = "" syntax

    This fixes issue #525

    Thanks to Nelgin for providing the test platform.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Tue Apr 9 18:03:01 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/221507a8d36e31306b0e9a6d
    Modified Files:
    src/sbbs3/main.cpp sbbs.h
    Log Message:
    Reduce the Terminal Server thread outcom timeout from 80 seconds to 800 ms

    Since the Terminal Server is a single thread, let's not block for long
    periods of time trying to send bytes to a client (e.g. send the badip.msg
    file contents to a client with a blocked IP address), effectively DoSing the terminal server.

    This should address the problem reported via IRC:
    <theviper4> │Apr 9 15:38:11 viper-bbs synchronet: term Terminal Server timeout(outcom) 0000 0000
    <theviper4> │Apr 9 15:38:35 viper-bbs synchronet: term Terminal Server !ERROR 110 sending on socket 39
    <theviper4> │Apr 9 15:38:35 viper-bbs synchronet: term Terminal Server !ERROR 32 sending on socket 39
    <theviper4> │Apr 9 15:38:35 viper-bbs synchronet: term Terminal Server !ERROR 32 sending on socket 39
    <theviper4> │Apr 9 15:38:36 viper-bbs synchronet: term 0039 Telnet !CLIENT BLOCKED in ip.can: 117.95.153.33

    Also, make the outcom timeout error message more helpful (e.g. include the
    sock descriptor of the client) and don't use the old rioctl() function
    here any more.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Mon Jan 19 01:20:09 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/460b5f93b2dd5eca7bfee64b
    Modified Files:
    src/sbbs3/main.cpp sbbs.h
    Log Message:
    Log the total amount of user and mail data backed-up daily (in bytes)

    This was done previous, file by file, at debug log level, in exact bytes.
    That detail is still logged, however the "DAILY: Backing-up ..." log messages are now debug (instead of info) level messages and the total number of bytes (estimated) is now logged at info-level after the backup has completed with "DAILY: Backed-up ..." messages.

    This allows easier tracking of the mail and user base growth over time through log analysis (if the sysop has auto-backups enabled).

    With possible use of "Fast Allocation" (instead of Self-packing) for the
    mail base, it is important that a sysop should be able to easily track the growth rate over time to determine the (necessary) packing interval.

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