• src/sbbs3/str.cpp

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Mon Mar 31 18:52:59 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/7be352ac1ab689194d27bec1
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    Support optional ctrl/<terminal-protocol>/text.ini file

    If the sysop wants custom text.dat strings to be unique per terminal
    connection protocol (e.g. telnet, rlogin, ssh, raw), this is how that
    can be achieved (e.g. ctrl/rlogin/text.ini can be used to override text.dat strings only for RLogin connections).

    To at least partially address issue #897

    ---
    ■ 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 Thu Apr 10 23:39:24 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a81e64575c9f30c0a3af0fd5
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    Rework part of the "good password" checking algorithm

    Require that a good password contain a sequence of unique characters
    (not repeating, incrementing, or decrementing in ASCII code value) of at least half the configured minimum password length. By default, the minimum password length is 4 chars, so this means a sequence of at least 2 unique characters
    is required. If the minimum password length is increased by the sysop, so is the minimum required unique sequence length. The "PasswordInvalid" text.dat string is printed when passwords are rejected by this criteria.

    Previously, the following would be rejected by this portion of the algo,
    this logic has been replaced by the above:
    - all chars the same (would print the "PasswordInvalid" text.dat string)
    - first 4 chars are incrementing ("PasswordObvious" string printed)
    - first 4 chars are decrementing ("PasswordObvious" string printed)

    but now, a password that starts with "1234" or "abcd" is fine so long as it's longer than that and contains the minimum unique sequence length. This will prevent SBBS from rejecting high quality (e.g. randomly generated or crypto-hashed) passwords that just happen to begin with an incrementing sequence of 4 digits or alpha-characters.

    ---
    ■ 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 May 20 20:29:15 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/6e91b37768cb527efc9cd9d7
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    Handle getuserdat() failure in sbbs_t::change_user()

    Address Coverity CID 551209

    ---
    ■ 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 Dec 8 22:27:03 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/d9988229e3a444169168c37f
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    Clean up the sbbs_t::console (JS console.status) bit flags

    Mainly this is renaming CON_R_ECHOX to CON_PASSWORD, but also eliminating several long-unused flags.

    ---
    ■ 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 Dec 8 22:38:52 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/6bb344da28b652cd96eb87a3
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    sbbs_t::trashcan() supports the quiet attribute

    Resolve MSVC warning in timestr()

    ---
    ■ 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 Sat Jan 3 00:14:09 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/9e3ca95d9c966929f720d453
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    Overhaul the gettmplt() (in JS, console.gettemplate) function

    Oh this was (and in some ways is still) oh so broken and has been forever.

    If backspace, DEL, or Ctrl-X was used, the returned string was often not what was being displayed on the terminal when the user hit ENTER. <sigh>

    - Ctrl-X, Backspace and DEL actually clear out the entered text now
    Backspace/DEL don't remove the non-template (e.g. symbol) chars though
    - The left and right arrows keys can now be used to traverse the edited text
    - TAB is now treated the same as CR (much like getstr())
    - When editing a string, the cursor starts at the first character instead of
    the last as this seems much more convenient. Perhaps getstr() should get the
    treatment, but I hesitate because getstr() is used by so many.

    ---
    ■ 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 Fri Jan 9 02:24:03 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/808412db3363f14dd56a7a58
    Modified Files:
    src/sbbs3/str.cpp
    Log Message:
    If the file text/menu/[sub|dir]info.* exists, display it

    ... instead of SubInfo or DirInfo text strings.

    Another couple optional displays file that can be used to replace built-in logic and text strings for easier customization.

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