• src/sbbs3/js_bbs.cpp

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Monday, November 30, 2020 19:37:37
    https://gitlab.synchro.net/main/sbbs/-/commit/6d9a27280fa52e05362f3efa
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Throw an exception in bbs.exec_xtrn() when passed no argument

    ... or when passed an invalid external program code or number, rather just just returning false. The underlying exec_xtrn() C++ function may return false (failure) for other reasons, so let's not obfuscate the other potential failure causes.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, December 24, 2020 22:34:40
    https://gitlab.synchro.net/main/sbbs/-/commit/0c5a88e4b517a1a87d9f7159
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Add BBS property: msg_from_bbsid

    Exposes the FTN BBSID value from the message header (if there is one).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sunday, February 14, 2021 23:17:15
    https://gitlab.synchro.net/main/sbbs/-/commit/829b425a66a9a9a19bca692e
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Fix memory leaks in error paths of js_show_msg_header()

    Identified by Coverity.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sunday, April 04, 2021 13:38:22
    https://gitlab.synchro.net/main/sbbs/-/commit/f576cbc69be99cfff5adace5
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Fix unsigned int compare to negative - caught by Coverity-scan

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wednesday, May 26, 2021 23:09:11
    https://gitlab.synchro.net/main/sbbs/-/commit/485440f1ea548f7362b26dbc
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    New bbs.view_file(filename) method.

    To list/view file/archive contents.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, May 27, 2021 23:33:42
    https://gitlab.synchro.net/main/sbbs/-/commit/536b7e227007cfb00af1865c
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Add bbs.export_filelist() method

    This is the last thing needed to complete the new temp/archive menu module implemented in JavaScript for v3.19.

    File list generation can easily be done in JS (see filelist.js for example), but since we have this function already in C++ (i.e. for including filelists in QWK packets) - might as well make it available for use in JS.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Saturday, January 01, 2022 23:27:55
    https://gitlab.synchro.net/main/sbbs/-/commit/d8dcfa98fdb2d26137dcfaa5
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Resolve GCC warning

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Saturday, February 25, 2023 21:54:11
    https://gitlab.synchro.net/main/sbbs/-/commit/4bf1af95762799dd9ebcc75c
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Create bbs.batch_clear() method

    Pass argument of 'true' to clear upload queue, otherwise download queue
    is cleared.

    This fixes issue #488

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (in GitKraken)@VERT to Git commit to main/sbbs/master on Sunday, February 26, 2023 12:38:20
    https://gitlab.synchro.net/main/sbbs/-/commit/eb8ecbae6e4391883338181d
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Fix typo in JSDOC help for batch_clear() method.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sunday, March 05, 2023 19:12:15
    https://gitlab.synchro.net/main/sbbs/-/commit/7a5c6e363d8874a5a4943800
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Add JS bbs methods: save_msg_scan() and reload_msg_scan()

    These methods aren't normally needed (msg scan config/ptrs are
    automatically loaded upon logon and saved upon logoff), but for users
    (e.g. sysops) that can be logged-in concurrently or experimenting with
    scans, these methods can be useful and I plan to expose in a loadable
    module next.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Saturday, March 11, 2023 14:09:39
    https://gitlab.synchro.net/main/sbbs/-/commit/c9e2c1fbbc5c573e4ad6b08c
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    bbs.logoff() now returns a boolean: false if log-off was denied

    Previously, there was no good way for the caller to determine if the\
    user opted (when prompted) to actually log-off or not.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wednesday, March 15, 2023 23:54:43
    https://gitlab.synchro.net/main/sbbs/-/commit/fbf99ab6addaae3794c52c91
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Add 'first_node' and 'last_node' properties to JS bbs object

    This allows scripts (e.g. login.js) to have custom behavior (e.g. shortening the maximum inactivity timeout) based on how close the current node is to the configured last node number. There may be other uses too, but for the vast majority of Synchronet systems, first_node will always be 1 and last_node the same as system.nodes/lastnode. Ugh, inconsistent naming. :-(

    ---
    þ 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 Tuesday, October 31, 2023 22:06:16
    https://gitlab.synchro.net/main/sbbs/-/commit/27d5fb9a275478e4579a03e3
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Multi-language support

    New method: bbs.load_user_text() to load/reload user's language file. The user's select language file (if there is one) is automatically loaded upon logon to the terminal server, but if the user changes their language
    (e.g. via user_settings.js), we needed a way to force re-load of the language text. This is the way.

    bbs.text() now accepts an optional second (bool) argument that if true, will return a string from the default language strings (in text.dat), and not a string from any alternate language files (ctrl/text.*.ini) that might've been loaded. This allows user_settings.js to always get the name of the default language string (LANG), e.g. "English".

    ---
    þ 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 Tuesday, October 31, 2023 22:20:02
    https://gitlab.synchro.net/main/sbbs/-/commit/fd3d8e577aacd431d7923c09
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Remove unused variable from new function js_load_user_text()

    ---
    þ 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 Saturday, December 23, 2023 13:55:55
    https://gitlab.synchro.net/main/sbbs/-/commit/9896f220e68d1b8379b08840
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Address cppcheck false positive

    error: Uninitialized struct member: node.misc [uninitStructMember]

    ---
    þ 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 Tuesday, February 06, 2024 12:35:50
    https://gitlab.synchro.net/main/sbbs/-/commit/90b93e4a1eb53532faca437a
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Support optional msg_header argument to bbs.expand_atcodes()

    For Nightfox's use in DDMsgReader.

    ---
    þ 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 Saturday, March 23, 2024 17:11:55
    https://gitlab.synchro.net/main/sbbs/-/commit/ec3f6c0d2baa5d9f90a3e70f
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Fix CID 486181: Resource leak (RESOURCE_LEAK)

    A couple of error paths in expand_atcodes() method could leak heap memory.

    ---
    þ 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 Thursday, August 08, 2024 13:23:25
    https://gitlab.synchro.net/main/sbbs/-/commit/0fbdf31cedaa84d4b674ecce
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Make argument to bbs.batch_clear() optional (clear downlaod queue by default)

    ... as appears to have been the intent

    ---
    þ 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 Saturday, August 10, 2024 19:44:50
    https://gitlab.synchro.net/main/sbbs/-/commit/5a6714e3576a32a11106bae4
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Fix CIDs 508283 508284 508285 508286 508287

    HANDLE_PENDING() macro returns from the calling function (without freeing allocated resources), so don't use that here.

    ---
    þ 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 Tuesday, October 15, 2024 15:29:57
    https://gitlab.synchro.net/main/sbbs/-/commit/47eb42e6f96ba73d9146dc22
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Add missing file to commit 095368c0d7

    Not sure how I missed this one, but this file was needed to complete the
    'bbs' object changes mentioned in that commit message.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tuesday, October 15, 2024 23:35:03
    https://gitlab.synchro.net/main/sbbs/-/commit/1df94b61610b47746fc56995
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Fix GCC warning (unused variable) introduced in last commit

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Friday, October 25, 2024 21:07:02
    https://gitlab.synchro.net/main/sbbs/-/commit/9f27c430d8e5b7a89f181be7
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Add bbs.download_cps, batch_sort(), and batch_remove()

    Helpful for a JS batch file transfer menu

    ---
    þ 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 Sunday, October 27, 2024 22:00:26
    https://gitlab.synchro.net/main/sbbs/-/commit/3c86324d6fb20148b55bad17
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    New method: bbs.xtrn_prot_menu()

    So we don't have to reimplement this logic in user_settings.js (or
    equivalent) any longer.

    ---
    þ 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 Sunday, October 27, 2024 22:37:05
    https://gitlab.synchro.net/main/sbbs/-/commit/7f04c593a06de309e94c278c
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    bbs.xfer_prot_menu() now returns the list of protocol keys (mnemonics)

    ... that the user has access to

    ---
    þ 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 Monday, October 28, 2024 17:54:56
    https://gitlab.synchro.net/main/sbbs/-/commit/f50c866fd152678bde4c1083
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Fix CID 511447 with extra parens

    ---
    þ 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 Saturday, November 09, 2024 20:30:54
    https://gitlab.synchro.net/main/sbbs/-/commit/c9ec49e0f40b8af1e975bf09
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Fix logic in bbs.xfer_prot_menu()

    This was just a typo which didn't allow the single-file upload xfer prot menu to be shown.

    Actual fix for CID 11447 (previous attempt, commit f50c866fd was
    insufficient). Thank you Coverity!

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Saturday, November 30, 2024 01:45:10
    https://gitlab.synchro.net/main/sbbs/-/commit/52460c3abc163308c7be1c62
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Range check argc before deref of argv[1]

    Apparently JSVAL_IS_STRING() can return true even when argv[1] is out of range (I guess I assumed it'd alwasy be NULL or VOID/undefined) and this can lead to crash when calling JS_ValueToString() on it.

    ---
    þ 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 Monday, December 09, 2024 19:15:31
    https://gitlab.synchro.net/main/sbbs/-/commit/6dbd2fec644cd1f153137bc2
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Support text.dat string IDs (string) args for replace/revert_text() funcs

    For alignment with the text() method and for instances where a script author doesn't want to load('text.js') or use [bbs|system].text.ID to get a text.dat string index from an ID.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tuesday, December 10, 2024 16:28:49
    https://gitlab.synchro.net/main/sbbs/-/commit/9f3d653e0cf46d0eacb2e0b2
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Add missing space to JSDOC HTML output

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Monday, January 20, 2025 13:08:30
    https://gitlab.synchro.net/main/sbbs/-/commit/b0a3cfe5e2fbaa7063ad6ec6
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Fix bbs.compare_ars() called with no params

    Throws an exception now instead of using uninitialized args:

    ;eval
    Parameter(s): bbs.compare_ars()
    InternalError: allocation size overflow

    Updated JSDOCS for methods (mostly just adding punctuation). Fixed a typo
    or two.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Monday, January 20, 2025 13:08:30
    https://gitlab.synchro.net/main/sbbs/-/commit/b9bbf9b671f84005d838bfc9
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Better parameter validation in bbs methods

    More method will now throw exception if called without args: bbs.check_filename(), bbs.logkey(), bbs.export_filelist()

    bbs.check_syspass() will prompt for system password if passed null or undefined value.

    Fix (and document) the optional channel argument to bbs.multinode_chat()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, January 23, 2025 17:10:49
    https://gitlab.synchro.net/main/sbbs/-/commit/2f959775a435a537449edee8
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Pretty sure this period is supposed to be inside the quotes...

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Thursday, January 23, 2025 23:05:20
    https://gitlab.synchro.net/main/sbbs/-/commit/c2e49c12d281d7df7f7a6dd6
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    This period was supposed to be there at all

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Saturday, January 25, 2025 21:51:00
    https://gitlab.synchro.net/main/sbbs/-/commit/aa258686f3d08ce6bdca8f65
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    bbs.revert_text() (called with no args) is supposed to revert all text strings

    and not throw and exception. :-(

    This was broken in commit 6dbd2fec644cd1f153137bc27432cf3e127ca81a

    Caught by code review.

    ---
    þ 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 Monday, February 03, 2025 18:56:14
    https://gitlab.synchro.net/main/sbbs/-/commit/b5b06c7c79901ba8f1a17296
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    bbs.load_text() can now be used to load text*.ini file

    For sysops that don't want to use the user's chosen language to auto-load alternate text strings, they can specify some other filename from the ctrl directory (so long as it ends in .ini). I wouldn't use text.*.ini however, since those filenames are assumed to be language translations and will automatically appear in user_settings.js as a user-selectable language. text-*.ini would be fine though as an alternate text.ini filename:
    not colliding with text.ini or text.*.ini

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sunday, March 30, 2025 11:56:12
    https://gitlab.synchro.net/main/sbbs/-/commit/667c51a7cc5380aaa1b2ab87
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Fix Win32 build?

    ---
    þ 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 Monday, March 31, 2025 15:28:25
    https://gitlab.synchro.net/main/sbbs/-/commit/0d74bbba40c820c00d8146b6
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Fix GCC warning: `js_bbs_class' initialized and declared `extern'

    ---
    þ 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 Thursday, April 10, 2025 23:39:24
    https://gitlab.synchro.net/main/sbbs/-/commit/c011d987170251fdea9d85ee
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Rename bbs.good_password() to bbs.check_password() for consistency

    ... with the system object and the underlying SBBS functions being called.

    Leave bbs.good_password() as an alias for backward compatibility.

    ---
    þ 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 Friday, April 11, 2025 18:13:56
    https://gitlab.synchro.net/main/sbbs/-/commit/c9a6be376b4651cd12e78500
    Modified Files:
    src/sbbs3/js_bbs.cpp
    Log Message:
    Clarify in JSDOC that bbs.check_password() checks the password.can file

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