• src/sbbs3/js_filebase.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 4 09:38:22 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/659f6e0d87fea403aae9236d
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Fix memory leaks caught by Coverity.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 4 11:13:57 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/bc4f24f5626f1c7bdf528680
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Alt paths aren't supported/used any longer

    Fixes CID 330973

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 4 11:13:57 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/aee8542a6afaf51083b869d2
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    dirnum is unsigned, so do not check for negative

    CID 330990

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Apr 6 14:37:13 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/e719d289fb2b2f836fb6b321
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Include all properties in getter when detail is MAX

    Adds from/tags/desc/extdesc properties, even when absent or blank.

    When parsing a file object, set the from, desc, tags and cost properties only if they already have been set or the new values is non-blank/0.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Apr 6 15:17:30 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/bf1644a88808595973c4a494
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Fix missing paren warnings.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Apr 6 15:23:56 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/0d215884b2c89383ff6c59b4
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Don't expand empty from, tags, desc properties unless detail=MAX

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Apr 6 19:32:34 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/e7efe6d343ca10a959dfae4e
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Fix hash() method broken in commit bc4f24f5 - file needs the dir num

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 11 16:33:28 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/8b59ee66aa45470694ded86b
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Add format_name() method to format a filename for display

    It's a wrapper for filedat.c -> format_filename() which can truncate and pad a filename for display purposes.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Mon Apr 12 16:49:19 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/cc06b0b54b403549e83a268d
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Fix some memory leaks

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Mon Apr 12 21:09:41 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/c487956b0d81725b50057cb2
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Check return value of JS_ValueToInt32()

    CID 331092

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 18 11:43:05 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/2eb90776e1b0c1845d21c516
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    remove() method needs to read message header (not just index)

    Or else it fails with the following base error:
    !smb_putmsghdr illegal header length increase: 70 (1 blocks, 0 hfields, 0 dfields) vs 0 (0 blocks)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 18 13:01:43 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/e5ccdb106973f01eb85dd564
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    get_size() and get_path() methods need to read the header record too

    For files with names > 64 chars.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat May 1 21:17:07 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/63a2631feccde997f9ddb0fc
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    JSDOC updates

    Finally document the file-meta-object properties now that things are solidifying.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat May 1 21:43:45 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/24bf49ea8843706ebbc7dfc9
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Add a 'readd_always' option to the update() method

    This will cause archive file contents to be re-captured/added

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed May 12 19:57:52 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/b3d55fd249366cd28d4bfc99
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    The optional JSON-metadata string property is now "metadata"

    The old "content" array property goes away.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed May 12 19:57:52 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/1c96d408344fc24113b40be7
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Allow the metadata property to be set with add() and update()

    Sorry for the impending imminent merge hassle Deuce!

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed May 12 20:06:54 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/2b047cf6edd3d3108107a5ac
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Don't populate metadata property unless there is metadata

    Or detail level is MAX.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Jan 15 15:11:53 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/3e5326e0e81d2497468e238c
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Correct JSDOCS for get_path, get_size, and get_time methods

    These methods also (optionally) accept a file-meta-object as an argument.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Jan 18 19:09:12 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/2d033355aab58a6a6c78db5d
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Fix typo (wrong default size value) in JSDOCS for format_name()

    The default is 'size' parameter value is 12 characters, not 13.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Feb 1 14:13:49 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/70898b5bbf5f1b993a0f1cfc
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    add() method will now parse added, last_downloaded, and times_downloaded

    These 3 'stats' properties were read-only (never used when adding a file). To support moving files between FileBases while retaining these stats, support the parse/use of these file-meta-object property values.

    Should fix issue #333 reported by Nightfox.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Mar 20 16:32:05 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/623c49e43906d3f86fb3c247
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    File's meta-object's "size" and "time" properties reflect current values

    Query the disk for file's current "size" and "time" values when get_list() or get() method is used with a "detail" level of >= DETAIL.NORMAL and the "check file existence" toggle option is enabled for this directory in SCFG.

    I pondered and contemplated whether this configuration setting should be checked/applied here or in the various JS scripts (e.g. filelist.js) and decided here was best to provide the most uniform/expected behavior, even though there is a performance impact. If a script doesn't need/use these properties, they should probably be specifying the DETAIL.MIN (minimal) detail level in their queries anyway, which will then bypass these performance-impacting disk queries.

    ---
    þ 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 Sun Dec 24 17:33:28 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/41ace72c24800de0fa0b3b23
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Fix filebase corruption caused by FileBase.renew()

    echicken reported this problem: pretty severe filebase corruption as a result of calling FileBase.renew(). The problem seemed pretty obvious (only loading the file's index record), but I do think the underlying SMBLIB functions
    should be more resilient to misuse and not corrupt the base. So, that's still
    a TODO.

    No existing scripts were using FileBase.renew(), so this problem has gone unnoticed since SBBS v3.19.

    ---
    þ 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 Dec 25 20:29:47 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/22d7343f21cbd9cee29a4118
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Rename the METADATA and metadata properties to AUXDATA and auxdata

    To eliminate confusion with the file-meta-object that this API deals with
    more than anything else.

    echicken's suggestion

    Nothing used this property before now, so this should be fine.

    ---
    þ 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 Thu Dec 28 18:10:58 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/ad309d463528da40cfd32354
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Fix misuse of JSVAL_TO_DOUBLE() for "cost" and "size" file-meta-obj properties

    As pointed out by echicken: when setting the "cost" property to any value, the actual
    file's cost would be set to 9223372036854776000 regardless of what number was in the
    provided file metadata object. Most jsval numbers aren't doubles (they're ints) so
    need to use JS_ValueToNumber() to do the proper conversion, regardless of underlying
    type.

    Noticed the same problem with the "size" property.

    Thanks for the tests and report echicken!

    ---
    þ 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 Fri Dec 29 17:10:27 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/0dbd3f064a2dee66cca6c409
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    Fix some apparent memory leaks when using file's auxdata

    Nobody's really using this auxdata yet, besides echicken, so no impact for others.

    ---
    þ 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 Fri Dec 29 17:10:27 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/831ddd710d935eee37639446
    Modified Files:
    src/sbbs3/js_filebase.c
    Log Message:
    When FileBase.update() is called with readd_always=true, update date-added

    The use from addfiles.js (the -readd option) implies this is what's expected. And echicken was suprised the 'added' date/time-stamp wasn't udpated.

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