1. 19 Feb, 2021 1 commit
  2. 18 Feb, 2021 1 commit
  3. 17 Feb, 2021 1 commit
  4. 15 Feb, 2021 2 commits
  5. 17 Dec, 2020 1 commit
    • Michael Long's avatar
      Improvements to linux dosemu support · 0bf85543
      Michael Long authored and Rob Swindell's avatar Rob Swindell committed
      The hardcoded external.bat file has been moved to a templated
      /exec/external.bat which can be modified by the sysop. ENV
      vars are in there to be able to customize as needed. emusetup.bat
      is no longer needed, but still supported. The actual dosemu command line
      is now stored in /exec/dosemulaunch.ini and can be customized for
      fossil or i/o command lines. the keystroke is now only sent for i/o, and
      only sent as \n instead of \r which would trigger undesired behavior in
      certain programs. The above 2 files can also be placed in door dirs
      to override. ansi.com has been removed as it was not needed. default
      external.bat includes cmd lines for share, x00, etc. (user will still
      need to provide these in xtrn/dosutils).
      0bf85543
  6. 02 Dec, 2020 1 commit
  7. 01 Dec, 2020 2 commits
  8. 30 Nov, 2020 1 commit
    • Rob Swindell's avatar
      Better native vs. DOS cmd-line detection in cmdstr() · 94517fdf
      Rob Swindell authored
      Always check the command-line for a '*' or '?' prefix and compare the executed filename against the native program list. For DOSEMU magic drive/path name command-line specifier substitution, but only when invoking DOS programs. Reported by bobrob via IRC.
      94517fdf
  9. 29 Nov, 2020 1 commit
  10. 28 Nov, 2020 1 commit
  11. 25 Nov, 2020 6 commits
  12. 06 Nov, 2020 1 commit
    • Rob Swindell's avatar
      Replace ctype.h function calls with new MSVC-safe XPDEV macros · 8a7b7308
      Rob Swindell authored
      I'm fed-up with MSVC assertions in ctype functions (e.g. isdigit, isprint, isspace, etc.) when called with out-of-range (e.g. negative) values.
      
      This problem only affects MSVC debug builds, but if you run them (like I do), these things are like little time bombs that can drive you crazy (knocking your board out of service).
      
      The new macros names are bit more descriptive as well.
      8a7b7308
  13. 05 Nov, 2020 1 commit
  14. 30 Aug, 2020 2 commits
    • Rob Swindell's avatar
      Fix compile issue in previous commit. Add more semicolons. · ec5cbb84
      Rob Swindell authored
      One can't have too many semicolons.
      ec5cbb84
    • Rob Swindell's avatar
      External program "use shell" option can be used to use a new JS context · 1decdc69
      Rob Swindell authored
      Rather than introduce yet-another-external-program/config flag to enable
      the "new JS run-time/context" per invocation of any particular JS command,
      I'm using the XTRN/EX_SH ("Use Shell") option as it had no function for
      JavaScript command-lines and the concept is similar.
      
      So if you want to invoke a JS external program/timed-event in its own
      "sandbox", enable the "Use Shell / New Context" option for that
      program/command in SCFG. There may be performance penalties when running
      JS mods in this way, but you get the benefit of isolating one JS module
      from all others, if/when necessary.
      1decdc69
  15. 16 Aug, 2020 1 commit
  16. 02 Aug, 2020 1 commit
  17. 01 Aug, 2020 1 commit
    • rswindell's avatar
      An experimental external() mode flag that runs JS modules in their own... · b898eb73
      rswindell authored
      An experimental external() mode flag that runs JS modules in their own separate runtime and context - currently does not work (appears to corrupt the shared JS context). Not actually used currently.
      The reason I wanted to run a JS module (actually JS doorgame) in its own context was to get useful error messages (filenames and line numbers) when the module throws an exception. Currently, the error is just reported as occuring in xtrn_sec.js, which isn't helpful or correct.
      b898eb73
  18. 19 May, 2020 1 commit
  19. 15 Apr, 2020 1 commit
    • rswindell's avatar
      Added 2 new environment variables dynamically-defined when launching DOS · a3cdd3b8
      rswindell authored
      programs: PCBDRIVE (the drive letter of the current node directory) and PCBDIR
      (the path to the current node directory, without the drive letter).
      
      These emulate the same variables crated by PCBoard.
      
      The reason these are being added is that Sunrise Door Software's 16-bit doors
      contain special support for these environment vars when used in their .CFG files
      (e.g. %PCBDIR%DOOR.SYS) and this allows easy multi-node configuration with a
      single .CFG file. The SBBSNODE environment varialbe would have worked perfectly
      fine for this purpose, but apparently Sunrise Doors (or the DoorFrame
      development kit they utilized) has hard-coded these PCBoard (and Wildcat!)
      environment variable names, so SBBSNODE wont' work for this purpose.
      
      For Synchronet-Win32, you will need the DOSXTRN.EXE revision 25 or later
      or you may experience NTVDM crashes when running external DOS programs.
      a3cdd3b8
  20. 28 Mar, 2020 1 commit
  21. 25 Mar, 2020 1 commit
  22. 26 Aug, 2019 1 commit
    • rswindell's avatar
      In *nix builds, change the second almost identical log "Executing external" · 38e30cd4
      rswindell authored
      log message to:
      - only log the message if the "full command line" is different than the
        command-line argument to the external() function. I'm pretty sure that was
        the reason for the addition of this log message, for debugging Linux-DOSEMU
        issues where the fullcmdline != cmdline.
      - change from INFO to DEBUG log level
      - change the message from "executing external: " to "Executing cmd-line: "
      38e30cd4
  23. 25 Aug, 2019 2 commits
  24. 24 Aug, 2019 1 commit
  25. 23 Aug, 2019 1 commit
  26. 21 Aug, 2019 2 commits
    • rswindell's avatar
      When the passthru_thead is running, the protocol (%p) command-line specifier · fa361fad
      rswindell authored
      will now expand to "raw" rather than "telnet/rlogin/ssh". This disables IAC
      handling in sexpots, for example, which isn't needed or desired when using
      the passthru socket.
      
      Also, put some conditional checks for passthru_thread_running in external()
      and if it's not (e.g. for testing purposes), then lock the input_thread_mutex
      instead of changing passthru_socket_active. This is currently just a way to
      easily test the differences between direct and passthru socket I/O
      (dependant on whether or not the passthru_thread is running which is controlled
      in main.cpp.
      fa361fad
    • rswindell's avatar
      Always use a passthru (proxy) socket when executing external programs that · 53884cce
      rswindell authored
      use socket I/O (e.g. sexyz, door32.sys doors, sync-xsdk doors) - not just when
      the client is connected via SSH. This solves a number of problems:
      - programs that change socket options
      - programs that don't support non-CP437 charsets (e.g. PETSCII, UTF-8)
      - programs that don't support Telnet-IAC escaping
      
      This greatly simplifies (reduces the need for) input_thread locking.
      
      The passthru_thread now handles chunks of up to 4000 bytes per transfer
      between socket and ringbuf, instead of a char at a time, greatly improving the
      performance.
      53884cce
  27. 07 Jul, 2019 1 commit
  28. 06 Jul, 2019 1 commit
  29. 05 May, 2019 1 commit
  30. 09 Apr, 2019 1 commit
    • rswindell's avatar
      Fix the missing carriage-returns in the shell (bash) prompts by always... · 0610c003
      rswindell authored
      Fix the missing carriage-returns in the shell (bash) prompts by always building with the stderr logging
      support (in *nix builds) - but run-time disable as desired via EX_NOLOG option. I've been wanting to get
      rid of that "XTERN_*" macro for a long time anyway (it's "XTRN" damn-it!). :-)
      0610c003