Skip to content
Snippets Groups Projects
  1. Aug 13, 2024
    • Eric Oulashin's avatar
    • Rob Swindell's avatar
      Add support for -v (verbose) option and modopts.ini · e5eca8bc
      Rob Swindell authored
      Don't display remote host name/addr unless -v option is specified or
      verbosity=1 is set in modopts.ini.
      
      Allow the displayed messages to be customized or disabled as the sysop wishes
      via modopts.ini keys:
      - help_msg
      - connecting_msg
      - failed_connect_msg
      (e.g. set to a blank string to disable)
      
      The following settings are also now configurable via modopts.ini:
      - quiet (correlates with -q option)
      - pause (correlates with -P option)
      - clear (correlates with -C option)
      - timeout (correlates with -T option)
      - verbosity (correlates with -v option)
      
      ... a sysop can control the default behavior of all invocations of telgate.js
      or rlogin.js via a single file now (modopts.ini).
      
      The rlogin.js module will first look ing for the [rlogin] section in
      modopts.ini and if it doesn't exist, then [telgate] section. telgate.js just
      looks for the [telgate] section.
      
      For the #synchronet irc crew: Nelgin and Keyop
      e5eca8bc
  2. Aug 11, 2024
  3. Aug 10, 2024
  4. Aug 09, 2024
    • Rob Swindell's avatar
      Global JS exit() function now sets 'exit_code' to 0 by default · d5516d0f
      Rob Swindell authored
      Calling exit() causes JS_ExecuteScript() to return false (same return value
      as if there's a syntax error) - so if we always set exit_code in exit()
      (even when not passed a parameter) and then use that exit code if the property
      is defined, then we get the -1 return value from js_execfile() if the script
      is terminated prematurely without using exit().
      
      This fixes the issue introduced in the previous commit where scripts that
      call exit() - without any parameters, were causing errors to be logged about
      scripts (e.g. timed events) returning -1.
      d5516d0f
    • Rob Swindell's avatar
      Fix infinite loop of error msgs/notifications when JS shell has syntax error · 00774418
      Rob Swindell authored
      js_execfile() now returns -1 when JS_ExecuteScript() return false (failure).
      
      The main command-shell loop will now terminate when js_execfile() returns
      anything but 0 (success), similar to how PCMS (Baja-compiled) command-shell
      .bin file parse errors are handled.
      00774418
    • Rob Swindell's avatar
      Save/reuse the mail save path/filename as a user property (in data/user/*.ini) · c58a0e89
      Rob Swindell authored
      This is a fix for issue #340
      
      Another idea would be to store a history of mail save paths and allow the user
      to scroll through them/choose with the up and down arrow keys, but that goes
      beyond the original feature request. So this just stores/reuses the last
      successfully used path/filename.
      c58a0e89
  5. Aug 08, 2024
    • Rob Swindell's avatar
      Prompt to clear the batch download queue if user chooses not to download files · b39c7c70
      Rob Swindell authored
      Some users may have unintentionally added files to their batch download queue
      and not know how to clear the queue manually, so prompt here for user
      friendliness/convenience.
      b39c7c70
    • Rob Swindell's avatar
      Make argument to bbs.batch_clear() optional (clear downlaod queue by default) · 0fbdf31c
      Rob Swindell authored
      ... as appears to have been the intent
      0fbdf31c
    • Rob Swindell's avatar
      Fix CID 508260: Null pointer dereference · 8fc08f0d
      Rob Swindell authored
      And really, more importantly, the msg header field_list array length would
      always be interpretted as 0-length!
      
      ... introduced in commit 54523145
      8fc08f0d
    • Rob Swindell's avatar
      Fix CID 508259: Control flow issue (DEADCODE) · c8a83171
      Rob Swindell authored
      ... introduced in commit 54523145
      c8a83171
    • Rob Swindell's avatar
      Display usage help when unrecognized param is detected · 54277dec
      Rob Swindell authored
      Include -pause and -loop options in usage help output.
      
      Don't delay (sleep) one second when looping and -pause option is used.
      
      Flush the output before waiting for key-press (-pause option is used).
      
      This should all address issue #365. Sorry for the long wait.
      54277dec
    • Rob Swindell's avatar
      StartXferNow string now contains argument (%s) for the protocol name · a71a2044
      Rob Swindell authored
      This is helpful when auto-starting a download using the user's pre-selected
      default download protocol, reminds the user to start the appropriate transfer
      protocol on their end (when necessary).
      
      Goes along with the previous commited fix to issue #767
      a71a2044
    • Rob Swindell's avatar
      Don't display menu of file xfer prots when auto-selecting user's default prot · 64a6ab9d
      Rob Swindell authored
      When a user has a "default download protocol" selected (configured for their
      user account), don't display a menu of file transfer protocols when we're
      just going to auto-select their default anyway (e.g. when downloading a QWK
      packet).
      
      This change also introduces an argument (%s, the protocol name) in the
      StartXferNow text.dat string, so that if/when the user forgets which default
      download transfer protocol they had selected, they'll be reminded ("oh yeah,
      I need start an XMODEM download!").
      
      This fixes issue #767
      64a6ab9d
    • Rob Swindell's avatar
      Prevent NULL pointer dereference when 'null' object passed to JS functions · 54523145
      Rob Swindell authored
      As was discovered as part of investigation into issue #769, a JavaScript
      could crash SBBS (cause a segfault) due to a NULL pointer dereference when
      the script passes 'null' to native JS functions where an object is expected.
      
      The issue raised was with console.gotoxy(), but it turns out that *many*
      Synchronet native JS functions would call JSVAL_TO_OBJECT() and then, without
      checking for NULL/nullptr, pass its return value to JS api functions such as
      JS_GetPrivate, JS_GetProperty, JS_GetClass, JS_ObjectIsFunction,
      JS_IsArrayObject, JS_GetArrayLength, JS_DefineProperty, JS_Enumerate, etc.
      All of these JS API functions dereference the passed object pointer without
      NULL/nullptr checking.
      
      The fix here is to either call JSVAL_IS_NULL() or JSVAL_NULL_OR_VOID() and
      if true, not call JSVAL_TO_OBJECT() and/or check the return value for the NULL
      value before using as an argument to any other JS API functions.
      54523145
  6. Aug 07, 2024
  7. Aug 06, 2024
  8. Aug 05, 2024
  9. Aug 04, 2024
Loading