• src/sbbs3/logon.cpp

    From Rob Swindell (in GitKraken)@1:103/705 to Git commit to main/sbbs/master on Thu Mar 2 18:56:50 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c0ef762adf57ff91307c3015
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Remove defunct files from batch download queue during logonIf a user doesn't have access to download a file that's in their batch queue, remove it without saying anything to the user (but log a notice-level message about it) during logon. Files that no longer exist in the filebase are treated the same way.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows)@1:103/705 to Git commit to main/sbbs/master on Mon Jul 24 17:21:26 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/8266da9c329d2ba49ff2001c
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Log an error if getstats() returns a failureI saw my logon.jsonl file getting cycled multiple times a day recently on Vertand suspect this function call may have been failing.
    --- 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 Mon Jul 24 18:25:35 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/e12c35049251dc97e8eafd7c
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Revert "Log an error if getstats() returns a failure"This reverts commit 8266da9c329d2ba49ff2001cf542a0d05dc9987e.We're already passing a sock_init callback (ls_cb) which is supposed to setthe socket options (call set_socket_options), so this change shouldn't benecessary and reportedly caused more issues binding ircd sockets when runningircd.js via jsexec (though I didn't see this myself).
    --- 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 Mon Jul 24 18:27:43 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/46f1f80e75b30d477cdb419c
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Revert "Revert "Log an error if getstats() returns a failure""This reverts commit e12c35049251dc97e8eafd7c7fc12dfd9ba13ad9.Wrong commit reverted. Oops.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows)@1:103/705 to Git commit to main/sbbs/master on Wed Sep 13 16:27:23 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/65f1df280bc72439e80b8a9f
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    A todo comment
    --- 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 Sun Feb 4 18:45:55 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/cbf6a8b24c615e753801dbd2
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    I'm not sure what "node message indices" (data/msgs/*.ixb files) are/were

    I don't recall this actually being a thing, ever, so certainly no reason to
    be cleaning these files up during logon. <shrug>
    --- 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 Mon Feb 26 23:07:48 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f315f34ce2c8b91e656fc5a4
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Change "On two nodes" to "On more than one node", since it's possible it's > 2 --- 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 Mon Feb 26 23:22:29 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/9544a3c6bf36555a2babc6bb
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Don't send NodeLoggedOn message to any nodes if user isn't being logged-on

    If user is being kicked off for being on "More than one node at a time", then don't send a message to other any other nodes that the user logged-on successfully (they haven't). Previosuly, it'd send messages to all the lower-numbered nodes that were in-use (but not by the same user).

    Reported by Nelgin.
    --- 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 Sep 20 00:03:31 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/c345c6ad034f1e64db2b88de
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Clear the Guest user's language (lang) field during logon - revert to default --- 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 Sun Sep 22 16:57:13 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/3bcf61744225d8898eae6a00
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Always close csts.ini file, even in error path (failure to open dsts.ini)

    Fix for CID 509720
    --- 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 Sat Nov 30 21:02:49 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/69e23e724e4e9dd2cd905b7d
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Move the backup of dsts.ini before opening the file

    Can't backup (make copies of) an open file.
    --- SBBSecho 3.23-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 Dec 6 17:38:28 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/3b602ca5349f2b4143ff27ab
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Check return value of getnodedat()

    Should fix CID 515599 since this seems to be the only place we call unlocknodedat() without possibly not owning the nodefile_mutex already.
    --- SBBSecho 3.23-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 Thu May 1 11:57:17 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/9eaeedc13950d1ec26af5963
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Do rollover daily stats (dsts.ini) if the previous date was Jan-1-1970 (never)

    Basically revert commit 2064f3a4f71c6656693a1d24fc63004c3c41aaea

    In a new install, the "Date" value in dsts.ini will be 0/Never and thus would never be rolled over (e.g. stats moved o csts.tab files).

    Since getstats() now reliably detects any read failures, we shouldn't need
    this as a work-around any more anyway - if the "date" field is 0, it just
    means a new install and it's expected.

    This should fix the issue reported by Basis where the ctrl/csts.tab and node*/csts.tab files were never created in fresh install of v3.20. A work around is to just set the Date field in the ctrl/dsts.ini file to the current date (one time).
    --- SBBSecho 3.24-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 Mon May 19 20:12:49 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/ae706b8054af1f291bfcd9ca
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Don't turn off the "ASCII only" user setting during logon

    ... when auto-terminal-type detection is enabled for the user

    Fix for issue #923
    --- SBBSecho 3.27-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 Sat Dec 6 17:44:32 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a51dd4dc5d08d22fee21c3c0
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    A blank ReadYourMailNowQ text.dat string will not defeat the Unread mail prompt

    I sbbs_t::noyes() will return true if this string is blank, so we didn't need check here now anyway.

    Setting ReadYourMailNowQ in text.dat to an empty string means this prompt
    won't be shown and the read messages will *not* be shown during logon.

    Setting ReadYourUnreadMailNowQ in text.dat to an empty string means this
    prompt won't be shown and any unread messages *will* be shown during logon (automatically).
    --- SBBSecho 3.32-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 Dec 20 04:34:42 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/44a09ba9a32efbfef5497f80
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Use check_realname() here when prompting for a user realname during logon

    ... because the user's real name is blank.
    --- 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 Sat Jan 3 14:24:04 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/80ac8be8e98a4e3cd1dcd36d
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    If user manually enabled ANSI term but logs-in with PETSCII, enbable autoterm

    <@Deuce> DigitalMan, connecting to cvs.synchronet port 64 in C64 mode, I'm getting ANSI and CP437 after login.
    <@Deuce> But it's properly PETSCII until then.

    We supported the opposite scenario (manually enabled PETSCII), but not both
    of them.
    --- 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 17:47:03 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/aa0539b89b1d1d2ffb728843
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    What appears to be a more complete fix for auto vs manual terminal adjustment

    ... during logon.

    Previously, we really only handled toggling between PETSCII and ANSI/CP437 but didn't really handle toggling between a UTF-8 and non-UTF-8 terminals. That's now handled here too.
    --- 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 Tue Jan 6 19:28:48 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/615f65ff9caef89548e79bcf
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    If the text/menu/logoninfo.msg file exists, display that during logon

    In place of the system/logon information text strings (e.g. SiSysName, LiUserNumberName, etc.).
    --- 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 10 02:02:55 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/baf1e0dbca58a2b17b7b0cfd
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Prompt for user's gender and birthdate if required by sysop, but invalid/blank

    Copied pretty much verbatim from the old newuser.cpp logic that now resides
    in newuser_prompts.js. So this should probably be replaced with a loadable module at some point (too).
    --- 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 10 15:45:21 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/887d6b2c07acbb98cc6449bf
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    No longer prompt for missing user fields/properties here

    This logic is being moved to logon.js for greater sysop customization possibilities.
    --- 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 Sun Jan 11 03:40:05 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/bcd74f4f124ba2f12f1289dc
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Fix race condition with concurrent instances updating stats files (?sts.*)

    If you run multiple instances of sbbs sharing the same data files (I know you don't) *and* you have more than one instance running the terminal server timed events thread with "New day events" enabled (the default), you ran the risk
    of more than one instance updating the various stats files at midnight and racing with each other, e.g. (nodes 11, 6, and 1 are all different instances
    of sbbs):

    events11:2026-01-07 00:00:01 BBS Events New Day - Prev: Tue Jan 06 2026 12:00 am
    events11:2026-01-06 00:00:14 BBS Events New Day - Prev: Mon Jan 05 2026 12:00 am
    events6.log:2026-01-07 00:00:08 BBS Events New Day - Prev: Tue Jan 06 2026 12:00 am
    events.log:2026-01-06 23:59:59 BBS Events New Day - Prev: Wed Jan 07 2026 12:00 am

    The "prev" date being in the future is an obvious check, but also double-checking the date in the dsts.ini files after we open each for update and log if the date is unexpectedly already set to today or the future.

    This issue likely didn't effect anyone but Vertrauen, but I observed it when scrutinizing 'slog' and SBBSCTRL->BBS->View->Statistics Log output and
    noticed a stuttering in the logged dates, e.g.

    26/01/09 T: 166 L: 20 P: 4 E: 10 F: 22 U: 155M/4 D: 828M/1810 N:2 26/01/08 T: 114 L: 16 P: 6 E: 25 F: 12 U: 0M/0 D: 1G/9695 N:1 26/01/07 T: 64 L: 17 P: 0 E: 11 F: 4 U: 0M/1 D: 895M/2002 N:1 26/01/06 T: 0 L: 0 P: 0 E: 0 F: 0 U: 0M/0 D: 0M/0 N:0 26/01/05 T: 0 L: 0 P: 0 E: 0 F: 0 U: 0M/0 D: 0M/0 N:0 26/01/06 T: 55 L: 9 P: 2 E: 14 F: 7 U: 0M/0 D: 3G/6981 N:1 26/01/05 T: 519 L: 13 P: 4 E: 8 F: 4 U: 0M/0 D: 671M/2241 N:3 26/01/04 T: 234 L: 17 P: 7 E: 44 F: 2 U: 0M/0 D: 251M/1209 N:2 26/01/03 T: 120 L: 23 P: 5 E: 41 F: 8 U: 0M/0 D: 377M/3061 N:25 26/01/02 T: 189 L: 13 P: 5 E: 25 F: 8 U: 0M/0 D: 785M/5561 N:5 26/01/01 T: 81 L: 20 P: 6 E: 36 F: 16 U: 1M/1 D: 400M/3258 N:4 --- 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 00:55:08 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/39e1c58ad631baea289349eb
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Remove hard-coded terminal-related prompts for Guests during logon

    These are being moved to logon.js -> user_info_prompts.js for more sysop control / customization.
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on macOS)@1:103/705 to Git commit to main/sbbs/master on Wed Mar 18 22:41:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/5f6374331aafec56d5433be0
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Eliminate unused variable (kmode), caught by Clang
    --- SBBSecho 3.37-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 28 20:10:42 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8e594ee1fbfcfeed93733cd9
    Modified Files:
    src/sbbs3/logon.cpp
    Log Message:
    Don't store the NO_EXASCII autoterm-set-flag in user.misc

    Just because the terminal was auto-detected as "DUMB" (non-ANSI) doesn't mean the user wants only US-ASCII char from that point forward (obviously).

    This should fix issue #1106.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)