• src/sbbs3/js_bbs.cpp js_system.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Jan 19 14:21:21 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/c94fbb2b20c314bc0df40e14
    Modified Files:
    src/sbbs3/js_bbs.cpp js_system.c
    Log Message:
    Add JS methods for vetting filenames (e.g. for upload by users)

    system.illegal_filename() - check if contains illegal chars/sequences system.safest_filename() - check if contains only safest chars system.allowed_filename() - check if meets criteria from SCFG->File Options system.check_filename() - check if legal and meets configured criteria and is not in file.can
    bbs.check_filename() - ditto, except will display badfile.msg as appropriate

    Now scripts can utilize the sysop-controlled filename criteria and security of the BBS.

    ---
    þ 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 Oct 28 17:54:56 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/2394d15afd30c69bb2f01e8b
    Modified Files:
    src/sbbs3/js_bbs.cpp js_system.c
    Log Message:
    Support string (text.dat string ID) arguments to bbs.text() and system.text()

    Currently, this is a slower way to look-up a text.dat string, but requires no load/require of text.js and allows for a shorter syntax to get a text.dat string, i.e. bbs.text("Quit") instead of bbs.text(bbs.text.Quit);

    Although the bbs.text() ID lookup is cached, it's only marginally faster than system.text() ID lookup, which is not cached and about 1/3 the speed of the other methods of index to string lookup (in the MSVC-Windows build).

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