Skip to content
Snippets Groups Projects
  1. Mar 14, 2023
  2. Mar 13, 2023
  3. Mar 12, 2023
    • Rob Swindell's avatar
      Better to just break this loop than to call exit() · 187b9ad4
      Rob Swindell authored
      exit()ing from a load()ed script can cause the parent script to terminate and
      we don't want that.
      187b9ad4
    • Rob Swindell's avatar
      Remove extraneous ulong typedef · 5b7c88d7
      Rob Swindell authored
      5b7c88d7
    • Rob Swindell's avatar
      Fix a couple of potential NULL-pointer deferences in js_initcx() failure cases · f40e7fbd
      Rob Swindell authored
      service_client->client is NULL in these failure/error cases, so get the
      protocol string from the service_client->service (which is not NULL) instead.
      f40e7fbd
    • Rob Swindell's avatar
      New file transfer configuration sub menu script · 9058bc1b
      Rob Swindell authored
      To replace some copy/pasta in *.src (and later *.js shells)
      9058bc1b
    • Rob Swindell's avatar
      Fix mysterious double overflow issue in parse_byte_count() · 7081a525
      Rob Swindell authored
      It's possible that some values (e.g. "16384P") exceed the storage (count of
      bytes) of a 64-bit integer, and such values were causing floating point
      exceptions when running sbbsctrl.exe, e.g.
      Faulting application name: sbbsctrl.exe, version: 3.20.0.0, time stamp:
      0x00000000
      Faulting module name: gdi32full.dll, version: 10.0.19041.2604, time stamp:
      0x2b5302d5
      Exception code: 0xc0000090
      
      but interesting (and perhaps a clue), not with sbbs.exe.
      
      Anyway, this added range checking, limiting the maximum value to INT64_MAX
      (after division by unit, though there was no division-unit in the problem
      case, the "min_dspace" value parsing in scfglib2.c). Using conditional/ternary
      return statement had the same floating point exception occurrences, so this
      if-statement shouldn't be removed/changed/optimized!
      
      I suspect this has something to do with mix of Borland and MSVC run-time libs
      and perhaps different expectations or setups with regards to floating point
      exceptions. I did notice that when stepping through read_file_cfg(), I would
      get different return values for the same call to iniGetBytes() depending on
      whether it was initiated from sbbsctrl.exe (built with C++Builder) or
      sbbs.dll (built with MSVC).
      
      Thanks to Codefenix for providing the sample file.ini file that demonstrated
      the issue. This problem would've been very hard to root-cause otherwise!
      7081a525
  4. Mar 11, 2023
  5. Mar 10, 2023
    • Rob Swindell's avatar
      Add a notice clarify that this script is not actually used by anything · 64ebcc5b
      Rob Swindell authored
      and suggestions how to achieve what the reader/sysop is wanting.
      64ebcc5b
    • Rob Swindell's avatar
      Re-write to allow options in any order, more control over all behavior · d7b387f4
      Rob Swindell authored
      Previously, in order to just specify the terminal-type string, the sysop
      would also have to pass new values for the tg-mode, client-name and
      server-name, which was not very friendly. We still support the old syntax
      where order of arguments matters, but also a new better syntax for options
      (which may now come before or after the required address[:port] argument):
      
      -c <client-name> (default: user alias)
      -s <server-name> (default: user real name)
      -t <terminal-type> (e.g. "xtrn=doorcode" to auto-exec door on server)
      -T <connect-timeout-seconds> (default: 10 seconds)
      -m <telnet-gateway-mode> (Number or TG_* vars OR'd together, default: 0)
      -p send current user alias and password as server and client-name values
      -q don't display banner or pause prompt displayed (quiet)
      -P don't pause for user key-press
      -C don't clear screen after successful session
      
      For arguments that take a value (e.g. -c, -s, -t, -T, -m), the value may
      immediately follow the option letter (e.g. "-cMyName") or be specified
      in the following argument (e.g. "-c MyName"). Multiple options cannot be
      stuck together in the same option (e.g. use '-C -P' instead of '-CP').
      
      If the RLogin server is a Synchronet BBS, you probably want to specify the
      '-p' option which will send the current user's alias and password in the
      RLogin connection parameters that Synchronet expects them.
      
      The sysop now has better control over the output (banner, screen-clearing)
      and the pause prompt that was previously hard-coded.
      d7b387f4
    • Rob Swindell's avatar
      [telnet|rlogin]_gate now returns bool (false if failed to connect) · 813b3592
      Rob Swindell authored
      Previously, there was no real way to tell if the call to telnet_gate() or rlogin_gate() was successful (e.g. to display or an error message to the user), though there were error/warning messages logged for the sysop. Equivalent JS bbs object methods now return Boolean too.
      
      Include ":port" part of address argument to bbs.[telnet|rlogin]_gate methods in JSDOCS.
      
      Removed a bunch of extraneous (copy-pasted?) JS_SET_RVAL() calls from js_bbs.cpp. This just makes the code a little easier to grok.
      813b3592
  6. Mar 09, 2023
  7. Mar 06, 2023
  8. Mar 05, 2023
    • Rob Swindell's avatar
      Fix typo in help output · 2d3a68a8
      Rob Swindell authored
      2d3a68a8
    • Rob Swindell's avatar
      Add support for an optional description character offset (number) arg · 88e013a0
      Rob Swindell authored
      If all descriptions start a fixed offset and the default parsing
      logic (regex) isn't working for the sysop, they can specify the exact
      error offset to use for the beginning of each file's description. This
      offset is only used for the initial line of the description, not the
      continuation lines, but perhaps that could be done if needed.
      
      This is an attempt to address issue #530
      
      I first attempted to use "Lookbehind Assertions" in the regex, but
      didn't have any success and decided the brute force method that the
      old addfiles utility used might be as simpler solution and provide an
      effective work-around for more potential issues with auto-detecting
      the beginning of the useful file description.
      
      I also added descriptions of the optional arguments to the help output.
      88e013a0
    • Rob Swindell's avatar
      Add text.dat string: NewUserValEmailSubj · c02f2513
      Rob Swindell authored
      This fixes issue #62
      c02f2513
    • Rob Swindell's avatar
      Use/store the new user.mail_settings property · f47eac01
      Rob Swindell authored
      to track the user's preference for reverse-ordering when listing/reading
      mail messages. The Un-read mail command still just always uses reverse
      ordering.
      f47eac01
    • Rob Swindell's avatar
      Add user_t.mail (in JS, user.mail_settings) to remember mail preferences · 0b6bc179
      Rob Swindell authored
      Right now, the only preference is reverse mail listings (oldest first
      or newest first). These settings are only used when reading "your mail",
      not any other kind of mail reading.
      
      bbs.read_mail() now returns the user-adjusted loadmail_mode value and
      this allows us to determine the user's preferences and save them after
      this function/method is called. A readmail_mod can now return a number
      (other than 0) and that will be used as the return value of this method.
      
      sbbs_t::readmail() now does the adjustment of the passed lm_mode before
      calling any installed readmail_mod, so if for example, deleted message
      viewing is enabled by the sysop, those LM_* flags might be set now in
      the argument to the readmail_mod, wherase they never would before.
      
      There is not yet any way for the sysop to set a new user's default
      mail_settings, they'll just default to 0 for now.
      
      email_sec.js will get some adjustments to use/store the
      user.mail_settings next.
      0b6bc179
  9. Mar 04, 2023
Loading