• src/xpdev/ini_file.c

    From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Mon May 16 12:10:06 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/8c95808d718877b480fd1cee
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Borland didn't include inet_ntop() or inet_pton()Fixes CI and nightly build. --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Mon May 16 12:47:58 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/bcbfff2d860b4550c02c2390
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Apparently MinGW32 doesn't have inet_ntop() or inet_pton() either
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Fri Jun 24 23:17:56 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/ee057c0595f56b2f777b1055
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix issue with iniSet* functions and root sectionBug introduced in commit 0d9111a5: iniSet* functions would write key/values to the end of the list when the root section (NULL) was specified, rather than the beginning of the list.The root section always starts at the beginning of the list/file, so I'm not sure why section_start() was doing anything other than returning 0 for the root section. It's possible this now breaks iniSortSections() in some way, so that should be retested with a file with a root section and named sections.
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Wed Jul 13 23:34:44 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/8a1b3cb7609ebe52a704282b
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Don't allow strings that contain 0xFF (truncate at this char value)1. It's a non-printable char2. It's the Telnet IAC byte value3. CNF files use this as an "uninitialized value" indicator
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Fri Dec 30 16:20:50 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/4f3f3f67d73e521d8a6f5d8c
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Borland C/C++ doesn't have strto[u]ll()
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Sat Feb 11 16:17:47 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/242ba34e73d5f510f41f3406
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    When writing hex integer values, use "0" rather than "0x0"upgrade_to_v320.js sets these values to just "0", so let's not thrash on theformat.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Sat Feb 11 17:27:03 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b1953726fffaae205f44e274
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    iniSetHexInt[64] write values < 10 in decimal notation
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (in GitKraken)@1:103/705 to Git commit to main/sbbs/master on Sun Feb 19 13:42:55 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c0f77e5c527d3eea5ac31b35
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Resolve Borland 'Unreachable code' warningWarning W8066 .\ini_file.c 416: Unreachable code in function iniRemoveKey
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Sat Mar 25 18:46:50 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/a6c20de1a5aaa810405a4a25
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    iniSetDuration() just now sets key values to "0" (not "0S") when zeroRemove trailing white-space (e.g. after the equals or colon following the key)in iniRemoveValue().
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Sun Apr 30 11:38:05 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b9e5efacac9390d5af47c56e
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix memory leak in iniFreeParsedSections(), wasn't freeing the list memberThe 'list' member was allocated by iniParseSections() but never freed.Caught be Nelgin's recent valgrind report, e.g.:==2725235== 56 bytes in 1 blocks are indirectly lost in loss record 82 of 191==2725235== at 0x484DCD3: realloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)==2725235== by 0x4FA351C: strListAnnex (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so)==2725235== by 0x4F9ADDE: iniParseSections (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so)==2725235== by 0x49F1F0A: read_chat_cfg (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so)==2725235== by 0x49E8BF1: load_cfg (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so)==2725235== by 0x5C14C75: ftp_server (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libftpsrvr.so)==2725235== by 0x5D5AB42: start_thread (pthread_create.c:442)==2725235== by 0x5DEBBB3: clone (clone.S:100)
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Feb 7 10:17:48 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/d2f5d55133310a6c03b91057
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    No strtoull() for Borland
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Feb 7 10:21:35 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/cea188d03b824bafaf7b4622
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix reversed logic of previous commit.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Feb 20 15:56:44 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/4fd02c4efa228d777db94785
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Partial fix of iniGetSString() and iniReadSString()
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Feb 20 16:06:14 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/b29d43752c47abff892b5083
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Finish fixing ini*SString().

    The first fix was to copy the right value, the second fix was to
    ensure zero-length strings are terminated.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Feb 20 16:20:01 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/ddcb536755e002a0985a8f48
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix (incorrect) warning from gcc12
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Feb 21 05:43:42 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/fbd2315bd2647948b18e26ae
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    And now Coverity gets into the false warning game.

    Fix incorrect Coverity issue that speculates this may return fval.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Feb 21 06:30:32 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/fd41db08baa65e68618163f9
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Cast away warning...

    This is why I returned ret. :D
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Feb 21 09:59:19 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/2995f851439e440f60587b87
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Bugfix and more paranoia in ini*SString() functions.

    Bugfis: Be sure to terminate value if returning deflt.
    Paranoia: Terminate value if iniGetString() returns NULL

    I think the only way to trigger the paranoia is to pass NULL as the
    default when reading a key that's not present.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Mar 4 18:23:44 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/92088f9983ef38fc376208c2
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    For name ints/enums, allow the value to be longer than the name

    This allows me to shorten "Informational" to "Info" and "Debugging" to "Debug" and be backward compatible with existing .ini files. I think "Info" and
    "Debug" are universally known and take up less space (e.g. in SCFG).
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 24 16:12:05 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/3458846794cc2cb002c46b58
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    fseek() after ftruncate()

    Ensure the stream is in a meaningful place.
    Fixes a bug, but one we're unlikely to have ever seen the way we use
    this.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Sat Sep 27 16:04:54 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/264234a8af6521996a8a672c
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Allow iniRemoveSection[Fast] to remove the root section

    Fixes crash reported by Deuce when trying to iniCutSection(..., ROOT_SECTION):

    0x00000000007e9b08 in section_match (name=0x7fffffff6dd1 "Flickering...", compare=0x0, case_sensitive=true)
    at ini_file.c:95
    0x00000000007e0df0 in find_section_index (list=0x8056bebc0, section=0x0) at ini_file.c:166
    0x00000000007e167d in iniRemoveSectionFast (list=0x8056bebc0, section=0x0) at ini_file.c:452
    0x00000000007e1756 in iniCutSection (list=0x8056bebc0, section=0x0) at ini_file.c:467
    --- SBBSecho 3.29-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 02:24:34 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/48edf261f03df00cb5520067
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Add support for root sections to iniParse and friends

    Needed by SyncTERM.

    Note, the error handling of iniParseSections() has changed somewhat... Previously, on an allocation failure, it would return whatever it
    had managed to parse so far with no indication of failure.

    Now, it returns NULL.

    Previously, NULL would be returned if there were no sections.

    Now, NULL will not be returned if there's any global comments, and
    will not be returned if there's any key/value pairs in the global
    section.
    --- SBBSecho 3.29-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 02:24:34 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/8bd0e4b7cbc4c72296d9f9fe
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Braces for Microsoft...
    --- SBBSecho 3.29-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 02:40:10 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/92d03abf99c1595a1b36a317
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Move stuff around and maybe MSVC won't crash anymore?

    It looks like MSVC is just crashing in random places.
    --- SBBSecho 3.29-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 02:46:32 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/09bdfecc36d178b8c577df23
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Bah, obviously using a variable before setting it doesn't work

    Just expand this and do it the verbose, hard-to-understand way
    because Microsoft still doesn't support C99.
    --- SBBSecho 3.29-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 02:51:45 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/aee17105432b3500c4ed1de5
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fine, I'll at least make the code readable...

    It's still not great due to MSVC, but at least it's not gross.
    --- SBBSecho 3.29-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 07:57:27 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c02ffa3dbf586d1818ab4d04
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix crash when there is no root section
    --- SBBSecho 3.29-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 09:34:20 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/5858834edbaf6c9f8bdd308e
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix comments
    --- SBBSecho 3.29-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 11:26:05 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/afc6f520a36b00b1129fc495
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Optimize large INI parsing some more

    Have iniParseSections() sort the section list, then use bsearch()
    to find the section.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 11:38:07 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/34403c1aa40735044f4d9a2f
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Revert "Optimize large INI parsing some more"

    This reverts commit afc6f520a36b00b1129fc49571650782e4c4cc98.
    <DigitalMan> Deuce: I don't think sysops are going to be happy about
    all the config items in SCFG be re-ordered/sorted now
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 11:55:34 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/3350056d0505efa6c0647b6c
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Optimize performance: don't call strlen(prefix) needlessly in loops

    Also, if an empty/blank section prefix is passed to these functions, don't bother calling strnicmp() either.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 21:32:12 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/f0c5d89c6bb6e534fd772aec
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Right, MSVC isn't C99, no inline keyword.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 21:41:10 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/0aa0eb9305c38af17d1789f1
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Try placating Borland some more.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 21:42:22 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/7a36c122e3ebe7f90a395e5d
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Moreland.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 21:44:12 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2abc7cecd82057989ac6b665
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Snoreland
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 21:52:13 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a3625e0b9fad76ff938f0757
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Maybe __cdecl works here?
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Sep 29 21:55:32 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/45568d13ac9b8b5c47d7bc0e
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Oh, I need to define this myself.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Sep 30 10:41:51 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/9848a07a9f84ab3a6550f87e
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix valid Coverity issues.

    There's still two that are weird and I think is just Coverity
    halucination that I need to dig into a bit harder.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Sep 30 10:49:56 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/925310cf3e656e5fc64890bf
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix the pipes.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Sep 30 10:59:03 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/4929df3cfb1cdc661fd3b9bb
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix Coverity whinging

    Instead of a char we take the address of, make it a single-element
    array of char we pass by value (ie: the address of it).

    Same same, but Coverity should like it better.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Oct 1 20:19:50 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/13f7b0440c884dff072c02f7
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix Coverity fixes.

    Both of them actually worked and prevented the issue, but Coverity
    didn't know that.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Oct 2 11:48:37 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/704a50ccdac528ec8389c6d4
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix warning
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Sat Oct 4 22:19:48 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2fdb81f848788709c28e88ff
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Make all ini file read function support the same max length, now 2048 bytes

    INI_MAX_LINE_LEN used to be defined as 2048, but that includes the NUL terminator, so effectively 2047 bytes per line were supported in all the
    ini functions *except* iniReadFile(), which supported 2048 chars per line.

    Now all the ini functions should agree: 2048 is the max chars per line
    because INI_MAX_LINE_LEN is now defined as 2049.

    I figured this was a better solution than reducing the line lengths supported by iniReadFile().

    Fix for issue #982
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Oct 5 17:42:39 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/0a49d7b77ba2458e7dc95bf7
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fixes for a couple Cryptlib issues

    Stream ciphers can be detected as having a blocksize of 1.

    The return value of CRYPT_CTXINFO_IVSIZE is simply the block size,
    which in the case of ChaCha20 is wildly incorrect, so we simply
    can't use that attribute. Instead, store the IV size at the start
    of the IV itself.

    WARNING: THIS CHANGE MAKES THE NEW CODE UNABLE TO DECRYPT A FILE
    ENCRYPTED WITH THE OLD CODE. DECRYPT YOUR LIST BEFORE UPGRADING!
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Sun Oct 5 18:05:12 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a707bf59e824e9495b5d9a11
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Revert "Make all ini file read function support the same max length, now 2048 bytes"

    This reverts commit 2fdb81f848788709c28e88ff6a1d48152ee57d4c.

    See issue #982 for details
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Oct 5 18:24:11 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/5a4fea78858968999f914c40
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Actually check the result of cryptEncrypt() for IV

    We were grabbing the IV before checking the result of cryptEncrypt(),
    which means if it failed, we would potentially wander off into weirdness.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Oct 6 07:33:37 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c14b591b57877d8f57ce2ab0
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Be explcit about key derevation parameters.

    Specifically, use SHA-2 with 50,000 iterations.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Oct 6 15:47:34 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/86c7a4abc16970072fd362da
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix non-cryptlib encrypted wrappers
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Oct 7 19:44:22 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/030b4a1acfa14b48e78e94b7
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix Coverity issues

    Mostly errors in error handling.
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Oct 23 09:34:23 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/d3cd03fb949d0203177a74ab
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix error with stream cipher handling

    If the last 2k "block" in a stream cipher didn't hit exactly on
    a block boundary, it was written in plaintext, not encrypted, which
    would be read back as gibberish.

    This caused all of the bits that add a BBS entry to seem to fail
    to add with stream encrypted files (ie: ChaCha20).
    --- SBBSecho 3.30-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Dec 31 20:37:36 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/b2381a0c2312d171a0b15e4c
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix issue with default connection settings on Windows

    Apparently, strnicmp() will return a non-zero value when comparing
    zero bytes.
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Jan 1 10:20:19 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/1297cc9a30762aa0488cf9b7
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Some more strnicmp() paranoia

    Avoid subtle platform differences in strnicmp()
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tue Jan 13 22:16:37 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/340de5d8c9102eb27bc13ba6
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix apparent mem leaks in iniRemoveSections()

    Found during code review:
    - strListPop() doesn't free the popped item, needs to be freed
    - could return (on error) without freeing the list of sections
    --- SBBSecho 3.34-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Feb 12 16:18:58 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4b6d4ca95546878fd97be4e4
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Key names for string literals may contain C-escape sequences now

    This allows us to include control characters in the key names, so we can support this in text.ini [substr]:
    \1g: \1m
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Feb 16 15:03:14 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/d4c6ff4dbf44128b3340d44c
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    iniRemoveSection() now removes preceding blank lines

    Fix issue #991
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Feb 16 16:26:06 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4d125bc2c63daeb9119a1f98
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    A cleaner implementation of the last commit.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Mar 13 17:57:07 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/aef6cf1bab6a2a46ff1d5bfe
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    For an empty file, return an empty list.

    Returning NULL causes SyncTERM to report a failure decrypting the
    list.

    Fixes ticket 225
    Actually found due to PhotonTERM triggering it for me when I tested
    that.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Mar 13 18:39:29 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/a99386a10c2feb321a22af70
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Also fix the !CRYPTLIB version

    This is actually where PhotonTERM is broken.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Fri Apr 10 21:07:44 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/ce7715aba2e1b2ab4a68501f
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix possible NULL deref in iniHasInclude() when called with a nullptr

    (e.g. by echocfg when passed a directory on the command-line)
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Apr 21 11:36:26 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/fe41d2712cdeba67da9c5042
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    And fix some Bornings.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Wed May 27 22:24:10 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/e3a18a8eeac56fb1577f60dc
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    xpdev: initialize p in iniParseSections() to silence /sdl C4703

    CI job 1507910 (windows-x86 [sbbs], commit 311ed074) failed with a hard
    C4703 ("potentially uninitialized local pointer variable 'p' used") at ini_file.c:1709 from sbbsexec.vcxproj, which uses the VS2017 toolset
    (MSVC 14.16) and /sdl (which elevates C4703 to error). The use is
    actually safe — the preceding `for (i = 0; list[i] != NULL; ++i)`
    loop runs at least once (list[0] != NULL was just checked) and sets
    p on every iteration — but the older toolset's per-TU data-flow can't
    see that proof. Whole-program optimization could; 311ed074 disabled
    WPO for Release|Win32, removing the cover.

    The faulty data-flow chain (early return + extended use of p outside
    the discovery loop) was introduced in 48edf261f0; initializing p at
    its declaration silences the warning and makes the invariant explicit
    at zero runtime cost.
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)