• src/xpdev/ini_file.c

    From rswindell@VERT to CVS commit on Fri Mar 30 05:03:00 2018
    src/xpdev ini_file.c 1.161 1.162
    Update of /cvsroot/sbbs/src/xpdev
    In directory cvs:/tmp/cvs-serv30026

    Modified Files:
    ini_file.c
    Log Message:
    Fix bcc32 build error: Expression syntax in function iniSetIntList


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Mon Apr 30 10:58:00 2018
    src/xpdev ini_file.c 1.162 1.163
    Update of /cvsroot/sbbs/src/xpdev
    In directory cvs:/tmp/cvs-serv29284

    Modified Files:
    ini_file.c
    Log Message:
    iniWriteFile(): don't truncate the file to 0-bytes before writing the contents, instead truncate to the new length after writing the contents. This should
    make .ini files more tolerate of "out of disk space" situations and reduce
    the risk of lost data (0-byte .ini files) due to low/no disk space.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tue Aug 28 10:01:00 2018
    src/xpdev ini_file.c 1.164 1.165
    Update of /cvsroot/sbbs/src/xpdev
    In directory cvs:/tmp/cvs-serv11353

    Modified Files:
    ini_file.c
    Log Message:
    If any non-NULL style arguments were passed with non-NULL elements, those elements (member variables) would be changed to point to a string constant. Don't do that - instead just use local stack variables for those style
    element default values. This leads the way to constifying the style arguments in the future and allows the caller to use non-NULL style elements as indicator of something that should be freed if the caller allocated some memory for it.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tue Aug 28 11:12:00 2018
    src/xpdev ini_file.c 1.165 1.166
    Update of /cvsroot/sbbs/src/xpdev
    In directory cvs:/tmp/cvs-serv32379

    Modified Files:
    ini_file.c
    Log Message:
    Fix mistaken reverse logic in previous commit: would write "(null)" instead
    of default style elements.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Wed Jul 10 08:41:47 2019
    src/xpdev ini_file.c 1.166 1.167
    Update of /cvsroot/sbbs/src/xpdev
    In directory cvs:/tmp/cvs-serv4986

    Modified Files:
    ini_file.c
    Log Message:
    Fix obvious typo in iniSetBitField() which could result in a NULL
    dereference. (found by Coverity)




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tue Jul 16 07:26:00 2019
    src/xpdev ini_file.c 1.167 1.168
    Update of /cvsroot/sbbs/src/xpdev
    In directory cvs:/tmp/cvs-serv11153

    Modified Files:
    ini_file.c
    Log Message:
    If ftell() fails, it returns -1. We don't want to truncate there.

    Found by Coverity.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tue Jul 16 09:35:53 2019
    src/xpdev ini_file.c 1.168 1.169
    Update of /cvsroot/sbbs/src/xpdev
    In directory cvs:/tmp/cvs-serv29520

    Modified Files:
    ini_file.c
    Log Message:
    Coverity issues. Not serious (strcat() -> SAFECAT())




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tue Jul 16 09:38:54 2019
    src/xpdev ini_file.c 1.169 1.170
    Update of /cvsroot/sbbs/src/xpdev
    In directory cvs:/tmp/cvs-serv30014

    Modified Files:
    ini_file.c
    Log Message:
    More SAFECATS()
    - Coverity.




    ---
    þ 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 08: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 09: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 Wed Jan 27 18: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 Sun Feb 14 20: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 Mon Feb 15 14: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 Tue Mar 9 14: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 02: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 Thu Mar 11 13: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 00: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 10: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 Mon May 3 21: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 Tue May 4 18: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 08: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 08: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 19: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 19: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 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 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 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

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

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