• src/sbbs3/sbbs_ini.c

    From Deuc╨╡ to Git commit to main/sbbs/master on Monday, March 15, 2021 01:50:34
    https://gitlab.synchro.net/main/sbbs/-/commit/3088251b238e609e78512774
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    DOSCmd is only on FreeBSD and DOSEmu is only on Linux.

    Do not get/set these values on other OSs. Fixes a segfault caused
    by default_dosemuconf_path being undefined on FreeBSD, but would
    also happen on any other *nix platform (ie: OpenBSD, etc).
  • From Rob Swindell to Git commit to main/sbbs/master on Saturday, April 17, 2021 15:19:19
    https://gitlab.synchro.net/main/sbbs/-/commit/ed1d83733aed40bf68ab8e03
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Fix typo in previous commit.
  • From Rob Swindell to Git commit to main/sbbs/master on Saturday, April 17, 2021 21:23:39
    https://gitlab.synchro.net/main/sbbs/-/commit/53601146c3c5240cf71b3559
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Write the global sound (WAV) file settings in sbbs_write_ini().
  • From Rob Swindell to Git commit to main/sbbs/master on Tuesday, May 04, 2021 22:17:59
    https://gitlab.synchro.net/main/sbbs/-/commit/97650f46f31d299e3825ee77
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    sbbs_write_ini() called with a NULL global pointer could have crashed

    as get_ini_globals() will de-ref the 'interfaces' element. CID 331352
  • From Rob Swindell to Git commit to main/sbbs/master on Monday, January 17, 2022 18:56:26
    https://gitlab.synchro.net/main/sbbs/-/commit/7effd1d98ce808c6c0a6f9e3
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Fix problem saving HangupSound setting in sbbs.ini

    Apparent copy/paste error in sbbs_set_sound_settings() - I was wondering why the HangupSound key wasn't saving to the sbbs.ini file from SBBSCTRL.
  • From Rob Swindell (in GitKraken) to Git commit to main/sbbs/master on Sunday, March 12, 2023 00:00:02
    https://gitlab.synchro.net/main/sbbs/-/commit/5b7c88d7a406aef0c80eeab9
    Modified Files:
    src/sbbs3/sbbs_ini.c
    Log Message:
    Remove extraneous ulong typedef
  • From Rob Swindell (in GitKraken) to Git commit to main/sbbs/master on Sunday, March 12, 2023 17:42:56
    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
  • From Rob Swindell (on Windows) to Git commit to main/sbbs/master on Monday, April 03, 2023 23:16:10
    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.
  • From Randy Sommerfeld to Git commit to main/sbbs/master on Tuesday, April 04, 2023 02:04:36
    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
  • From Rob Swindell (on Windows) to Git commit to main/sbbs/master on Monday, May 01, 2023 12:00:24
    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()
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Tuesday, December 19, 2023 22:13:27
    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 Wednesday, December 27, 2023 00:42:02
    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.