• src/xpdev/ini_file.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Jan 24 21:52:29 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/4eeaaf726c2d356e29201bb7
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Support !include wildcard-pattern

    This allows auto-inclusion of sub-directories of config files (e.g. !include modopts.d/*.ini). This, along with the next commit to js_file.c, allows module authors (or sysops) to keep their module-specific settings in a module-specific file (rather than always merging-with/managing the monolithic/shared modopts.ini). The [modname] section heading is still required in the included .ini file.

    Replaced use of non-thread-safe STRERROR() with safe_strerror().

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Jan 24 22:24:48 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/30d4aa79220f8f7481bad092
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix Borland C++ compile failure.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Jan 28 07:17:50 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/902e7a51e969f3c9361c4953
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix the root root cause of TypeError: obj is not an object

    iniGetNamedStringList() was returning NULL when attempting to get the list of keys in the "root" (unnamed) section and the file is actually empty/blank. If there were *any* characters in the file, it would return an empty list (not NULL). Now, always return the empty list, even when the file is blank.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Mon Feb 15 09:50:54 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/454a05f03a46c4a9894dbdd8
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    glob() paranoia

    Make Coverity happy.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Feb 16 03:31:37 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/081e05c78e735453eadb6f54
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    glob() paranoia

    Make Coverity happy.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Mar 10 03:26:23 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/dd9c4607533ed24bccb50988
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    De-duplicate the lists returned by iniGet/ReadSectionList()

    I noticed a duplicate area name (AGN_MODS) in a filefix %LIST response
    from my FidoNet hub that's running TickIt/TickFix, and I thought to myself: Self, that shouldn't be possible. But alas, if one does have duplicate
    sections in a .ini file (e.g. tickit.ini), the iniGet/ReadSectionList() function would indeed return duplicate items in the list. Since the second section with the same name is not actually accessible, it shouldn't be counted as a valid section and thus not returned as part of the section list. Section names are not case sensitive, so the names are compared case-insensitively for de-duplication purposes too.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From poindexter FORTRAN@VERT/REALITY to Rob Swindell on Wed Mar 10 15:58:00 2021
    Rob Swindell wrote to Git commit to main/sbbs/master <=-

    I noticed a duplicate area name (AGN_MODS) in a filefix %LIST response from my FidoNet hub that's running TickIt/TickFix,

    Glad to be of service... :)

    I went to delete the extra entry and noticed that one of my othernets linked to all of my file areas, including Fido and my "other" othernets.

    I'm not sure if it's a problem or if traditionally access to file areas is limited to the network the AKA belongs to. If so, it might be helpful down
    the road to have filefix be able to limit visibility to specific file lists, akin to the way that areafix has separate backbone files with flags.






    ... Am I any closer to finding what I'm looking for?
    --- MultiMail/DOS v0.52
    þ Synchronet þ realitycheckBBS -- http://realitycheckBBS.org
  • From Digital Man@VERT to poindexter FORTRAN on Fri Mar 12 02:38:24 2021
    Re: Re: src/xpdev/ini_file.c
    By: poindexter FORTRAN to Rob Swindell on Wed Mar 10 2021 07:58 am

    Rob Swindell wrote to Git commit to main/sbbs/master <=-

    I noticed a duplicate area name (AGN_MODS) in a filefix %LIST response from my FidoNet hub that's running TickIt/TickFix,

    Glad to be of service... :)

    Figure it was time to start playing with tic files again. It's only been about 25 years.

    I went to delete the extra entry and noticed that one of my othernets linked to all of my file areas, including Fido and my "other" othernets.

    Yeah, I noticed that you had the othernet file echoes in the %list results.

    I'm not sure if it's a problem or if traditionally access to file areas is limited to the network the AKA belongs to. If so, it might be helpful down the road to have filefix be able to limit visibility to specific file lists, akin to the way that areafix has separate backbone files with flags.

    Yup. I'll add it to teh todo list. :-)
    --
    digital man

    Synchronet "Real Fact" #123:
    Synchronet v2.30c (DOS & OS/2) was released on 12-14-99, 16 months after v2.30b Norco, CA WX: 48.1øF, 68.0% humidity, 3 mph E wind, 0.20 inches rain/24hrs
    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From poindexter FORTRAN@VERT/REALITY to Digital Man on Fri Mar 12 13:57:00 2021
    Digital Man wrote to poindexter FORTRAN <=-

    I'm not sure if it's a problem or if traditionally access to file areas is limited to the network the AKA belongs to. If so, it might be helpful down the road to have filefix be able to limit visibility to specific file lists, akin to the way that areafix has separate backbone files with flags.

    Yup. I'll add it to teh todo list. :-)

    It might be easier to keep to one tickit.ini file and add a flag field? I suppose it depends on if you want filefix to be consistent with areafix.


    ... Faced with a choice, do both.
    --- MultiMail/DOS v0.52
    þ Synchronet þ realitycheckBBS -- http://realitycheckBBS.org
  • From Rampage@VERT/SESTAR to poindexter FORTRAN on Sun Mar 14 21:54:14 2021
    Re: Re: src/xpdev/ini_file.c
    By: poindexter FORTRAN to Digital Man on Fri Mar 12 2021 05:57:00


    It might be easier to keep to one tickit.ini file and add a flag
    field? I suppose it depends on if you want filefix to be
    consistent with areafix.

    i've mentioned it before... yes, tickit needs groups tags like sbbsecho has so we can limit access to files areas...

    allfix also has security to allow for sending and receiving per area per system so you might send and receive files in an area to one system, send only to all others, and receive only from one or two others... two flags per
    system per area can easily handle this...


    )\/(ark

    ---
    þ Synchronet þ The SouthEast Star Mail HUB - SESTAR
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue May 4 08:35:40 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/fe022fecc758985541b9c457
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Remove unused variable added in previous commit.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed May 5 05:17:59 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/ec0e0ee47efb1427ef894920
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix a couple of resource leaks in iniSortSections()

    One in an error path (CID 331353), the other not.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT 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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT 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 section

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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT 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 char
    2. It's the Telnet IAC byte value
    3. CNF files use this as an "uninitialized value" indicator

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT 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()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT 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 the format.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT 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

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

    Warning W8066 .\ini_file.c 416: Unreachable code in function iniRemoveKey

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT 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 zero

    Remove trailing white-space (e.g. after the equals or colon following the key) in iniRemoveValue().

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sun Apr 30 18: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 member

    The '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)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

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

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