1. 25 Aug, 2019 15 commits
    • rswindell's avatar
      Remove Windows 9x support, finally. · aaf03142
      rswindell authored
      Remove DEBUG.LOG file support for Win32-debug builds, never really looked-at.
      aaf03142
    • rswindell's avatar
      Fix typo in previous commit. Thanks, NotBert. · d114d05b
      rswindell authored
      d114d05b
    • deuce's avatar
      Add js.exec(). · d53cddaf
      deuce authored
      This allows executing a new script in a specified scope, much like load().
      There are important differences however...
      1) js.exec() *must* specify a scope.
      2) js.exec()d scripts can call exit() and their handlers are ran then,
         rather than when the parent script exists as in js.load().
      3) The js object is installed in the scope with the real JS object as the
         prototype.  This generally shouldn't be an issue, but if you're doing
         strange things, stranger things may happen.
      4) As part of #3, the exec_path/exec_dir/exec_file/startup_dir/scope
         properties of the JS object represent the new script, not the calling
         one.
      5) js.exec() only searches in the passed startup dir (if specified) and the
         current js.exec_dir path.  It does not search the load paths or the mods
         directory at all.
      
      This API is also subject to change.
      d53cddaf
    • rswindell's avatar
      New global methods: · 62f75de0
      rswindell authored
      utf8_encode(): to convert a CP437 string or a single Unicode codepoint (number)
        to UTF-8 encoded string
      utf8_decode(): to convert a UTF-8 encoded string to a CP437 string
      
      Move the require() enumeration to just below load() so it's documented closer
      to its dad in jsdocs.html
      62f75de0
    • rswindell's avatar
      A couple of passthrough socket fixes: · de72e6c3
      rswindell authored
      1. when de-activating the passthru socket, give the passthru_thread some
         cycles to copy any remaining socket data into the outbuf before we let
         the node_thread continue on and spew its own data into the outbuf.
         This fixes the problem of final messages of a file transfer protocol
         being intermixed with BBS data (prompts, menus, and such) and causing
         file download finalization issues.
      2. Don't read from the passthru socket until there is enough room in the
         outbuf for the maximum possible telnet-expanded read size. This fixes
         streaming download protocol (ZMODEM and YMODEM-G) errors.
      
      Also, for good measure, check the passthru_socket for writability before
      send()ing on it and log a warning if it's ever not writable.
      de72e6c3
    • deuce's avatar
      A simple utility to dump the player file. · f83d7b4b
      deuce authored
      f83d7b4b
    • deuce's avatar
      Split binary file definitions out into a separate file so utilities can · 6bb2a650
      deuce authored
      use them easily.
      6bb2a650
    • rswindell's avatar
      Create/use passthru_socket_activate() function which will purge the · 59f896e6
      rswindell authored
      client_socket_dup before activating the passthru_socket. This resolves the
      issue of external programs receiving stale data from the previous passthru
      session - data that was not sucessfully read by the last external program
      invoked.
      59f896e6
    • rswindell's avatar
      Fix a 14-year old bug with ZMODEM-send. If the receiver already has the · fba33a15
      rswindell authored
      file named in the ZFILE frame, they will usually compute the local CRC
      value and request the sender to compute and send its CRC of the file it
      wants to send. If the CRCs match, the receiver will send a ZSKIP frame
      next ("skip this file, I already have it"). However, when I implemented
      the ZCRC frame support in zmodem_send_file(), I added the ZCRC frame
      check *after* the check to see if its a ZSKIP frame, when in fact, they
      will normally come in the other order (ZCRC, then ZSKIP). This would result
      in multiple ZCRC request/response, then ZSKIP requests that were ignored
      by the sender (who just send a ZFILE frame again). Simple fix: check for
      ZCRC frame before ZSKIP frame.
      fba33a15
    • deuce's avatar
      Switch to new RecordFile API. · 6222d5a5
      deuce authored
      6222d5a5
    • deuce's avatar
      To make JSLint happy, non-constructer functions must not begin with an · e08bb8bc
      deuce authored
      upper-case character.
      
      Provide upper-case wrapper for compatibility.
      e08bb8bc
    • rswindell's avatar
      More debug-level log messages. · 3389febf
      rswindell authored
      3389febf
    • rswindell's avatar
      Log a debug-level message when exiting. · 1c163a5d
      rswindell authored
      1c163a5d
    • rswindell's avatar
    • rswindell's avatar
  2. 24 Aug, 2019 25 commits