• src/sbbs3/sbbs_ini.c

    From Rob Swindell (in GitKrake@VERT to Git commit to main/sbbs/master on Sunday, March 12, 2023 00:00:00
    https://gitlab.synchro.net/main/sbbs/-/commit/5b7c88d7a406aef0c80eeab9
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Remove extraneous ulong typedef

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (in GitKrake@VERT to Git commit to main/sbbs/master on Sunday, March 12, 2023 17:42:00
    https://gitlab.synchro.net/main/sbbs/-/commit/2b087aaabfa8dcc80bcafa92
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Add back a (different) typecast to eliminate MSVC warning

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Monday, April 03, 2023 23:16:00
    https://gitlab.synchro.net/main/sbbs/-/commit/f95f67ac43c455993a84f03d
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Fix double-free race condition with SBBSCTRL upon global recycle

    When multiple servers are recycling at the same time, (e.g. due to saved
    change in SCFG) they'd each call sbbs_read_ini() with a shared global_startup struct, which in turn calls sbbs_free_ini(), which would free all the
    allocated network interface lists (including the global_startup one) using iniFreeStringList (just a wrapper for strListFree), but iniFreeStringList() does NOT modify (NULLify) the freed-pointer, so your second or third server that called sbbs_read_ini(), with the shared MainForm->global structure, would *again* free the same global interface list. This bug actually has always existed because get_ini_globals() freed the global interface list in the same way, except it *immediately* re-allocated a new one by calling iniGetStringList(), so the time window (opportunity) for this race condition
    to occur was much smaller. Truly, SBBSCTRL should use a mutex or other mechanism to protect the shared global_startup struct, but this is a first
    step to a full fix: sbbs_free_ini() should (and now does) nullify the freed network interface pointers by using strListFree() directly. I haven't been
    able to reproduce the crash upon recycle in SBBSCTRL after making this change.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Randy Sommerfeld@VERT to Git commit to main/sbbs/master on Tuesday, April 04, 2023 02:04:00
    https://gitlab.synchro.net/main/sbbs/-/commit/fcf4a00126190ded4fc11a1c
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Merge branch 'master' of gitlab.synchro.net:main/sbbs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Monday, May 01, 2023 12:00:00
    https://gitlab.synchro.net/main/sbbs/-/commit/b8d4452d1e5cb7a0b586e07f
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Fix valgrind-reported memleak in sbbs_read_ini()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/master on Tuesday, December 19, 2023 22:13:00
    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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/master on Wednesday, December 27, 2023 00:42:00
    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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/master on Saturday, August 03, 2024 19:58:00
    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.

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