• src/sbbs3/sbbs_ini.c

    From Rob Swindell (in GitKraken)@VERT to Git commit to main/sbbs/master on Sun Mar 12 00:00:02 2023
    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 GitKraken)@VERT to Git commit to main/sbbs/master on Sun Mar 12 17:42:56 2023
    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 Mon Apr 3 23:16:10 2023
    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 Tue Apr 4 02:04:36 2023
    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 Mon May 1 12:00:24 2023
    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 11)@VERT 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.

    ---
    þ 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 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.

    ---
    þ 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 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.

    ---
    þ 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 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

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