• src/sbbs3/sbbs_ini.c

    From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Tue Dec 19 22:13:27 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/516a01a6e1949837f7acbb8f
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Support durations (e.g. "2m") syntax for timeout settings

    Interestingly, qwk_timeout was already read (but not set) as a duration.

    Add "NO_CGI" to the default Web Server options.
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Wed Dec 27 00:42:02 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b1875c4bf34a736631517368
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Read/write "Frequency" (actually, interval) key values as durations

    This fixes the issue reported by Nelgin with the [mail] RescanFrequency new default value of "1h" being interpretted as one second intead of one hour.
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Sat Aug 3 19:58:06 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/df37d564e099ce9a4672c1ff
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Make the [BBS] MaxSessionInactivity 10m (not 0), when not set in sbbs.ini

    We've had this value as the default in sbbs.ini for a while now, so should be safe to use as the upgrading-sysop (who wouldn't have this value in their sbbs.ini file, most likely) setting.

    Not all default sbbs.ini values are true "defaults" (meaning, if they don't exist in the file, then same value would be used) - but we should do an audit and correct those mismatches at some point.
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Sat Nov 16 20:08:50 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/0ebd75eafb900cd54dcd0c71
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Resolve MSVC warning
  • From Rob Swindell (on Debian Linux)@rob@synchro.net to Git commit to main/sbbs/master on Wed Jan 22 14:37:23 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/1fb16776dbb252056ca81913
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Read/write the new sbbs.ini [Mail] PostTo setting

    Whoops, missed this from the previous commit.

    But testing the pipes for jsexec crashes too, so that's not a bad thing.
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Sun Jan 11 16:09:02 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/c36e7f25decc8d65b8fae5e3
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Cleanup resources in (new) critical error path

    Fix CID 640962 and 640963
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Sat May 23 21:25:45 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4e131f2da3a96499bc86d67e
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    sbbs_ini: default IPv6 rate-limit subnet prefix to /64

    Per-host IPv6 counting is naive: a typical IPv6 subscriber gets a /64
    (or larger) allocation from their ISP, so a single attacker can trivially
    cycle through addresses they own and evade per-host rate limits. /64 is
    the smallest unit that meaningfully represents "one subscriber".

    Bump the default RateLimitSubnetPrefix6 from 0 (per-host) to 64 for all
    four servers that have rate limits (web/ftp/mail/services). IPv4 stays
    at 0 (per-host) since v4 addresses are meaningfully individual.

    Existing installs with an explicit RateLimitSubnetPrefix6=0 in their
    sbbs.ini keep that value; only the missing-key case picks up the new
    default.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>