1. 01 Jun, 2022 4 commits
    • Rob Swindell's avatar
      Don't clobber an open user.dat file descriptor in js_CreateUserObject() · e731ac18
      Rob Swindell authored
      Likely fix for the user.dat open file descriptor leak:
      If js_CreateUserObject(cx,parent,cfg,"name",...) is called multiple times
      (e.g. before login and after login), the successive calls will reuse the
      previously allocated JS object and allocated private data memory. However, the
      private data memory (which includes the descriptor of an open user.dat file,
      if it has been opened), was always zeroed, even if it was being reused. This
      would leak open file descriptor.
      
      So any (pre)login scripts or web scripts that use the "user" object (which
      is all zeroed-out before login) and then allows a user to subsequently login,
      would leak a file descriptor.
      e731ac18
    • Rob Swindell's avatar
      Store connecting-client information (e.g. IP address) in file · 27e3468a
      Rob Swindell authored
      by default, client.ini in the current working directory.
      Configurable filename via ClientFile key in the root section of svdm.ini.
      27e3468a
    • Rob Swindell's avatar
      Merge branch 'slyedit_badchars_fix' into 'master' · 25402c37
      Rob Swindell authored
      Fixed weird character issue from last commit
      
      See merge request !175
      25402c37
    • Eric Oulashin's avatar
      Fixed weird character issue from last commit · d4276cf9
      Eric Oulashin authored
      Fixed a weird character issue from the last commit, that may have been due
      to using a different text editor that changed some characters, possibly due to
      character encoding
      d4276cf9
  2. 31 May, 2022 3 commits
  3. 30 May, 2022 3 commits
    • Rob Swindell's avatar
      Store the UART register/settings in a struct for easy re-init · 3ba5aa8d
      Rob Swindell authored
      Re-init the UART struct in the init routine to avoid confusion when making .ini file changes with older NTVDMs (including NTVDMx64) which don't re-load the VDDs for every invocation.
      3ba5aa8d
    • Rob Swindell's avatar
      Enable experimental sbbsexec modes (e.g. redir DOS I/O) · d375556d
      Rob Swindell authored
      Added undocumented experimental options -I and -O to enable DOS input and output interception modes in sbbsexec (e.g. to be used possibly with '-h'). Also -M to specify sbbsexec mode value by number (e.g. 3 to enable DOS Input/Output redir).
      
      Added '-n' option to specify node number (probably no real value/need).
      
      Safe string formatting.
      d375556d
    • Rob Swindell's avatar
      Resolve the socket protocol/address family issues with IPv4 vs. IPv6 · a6d7c580
      Rob Swindell authored
      When listening, the address family cannot be PF_UNSPEC, so default to PF_INET (IPv4), when not specified.
      Not sure why we're setting ai_flags to PF_UNSPEC (copied from syncterm) - that's just 0, but otherwise the PF_ and AI_ flags are not compatible.
      Don't set the ai_flags to anything here since they don't seem to change the behavior.
      a6d7c580
  4. 28 May, 2022 2 commits
    • Rob Swindell's avatar
      Send a "banner" when accepting incoming connections. · d7b1f25e
      Rob Swindell authored
      Fix a corner case where an invalid command-mode escape sequence (e.g. "+.+.+") could've been interpreted as valid.
      d7b1f25e
    • Rob Swindell's avatar
      Fix port parsing in dial string · 198ef67f
      Rob Swindell authored
      More case-insensitivity in parsing special "number" values (e.g. 'L' for last number).
      
      Default to Telnet mode (not Raw TCP).
      Default to unspecific address family (not IPv4).
      Case-insensitive "-telnet" and "-raw" option recognition.
      198ef67f
  5. 27 May, 2022 2 commits
  6. 25 May, 2022 1 commit
  7. 24 May, 2022 9 commits
  8. 19 May, 2022 1 commit
    • Rob Swindell's avatar
      Fix loop limit (system.stats.total_users != system.lastuser) · ddd4d10b
      Rob Swindell authored
      When looping to highest user number, use system.lastuser, not
      system.stats.total_users.
      
      This explains why not all userbases would be affected by the just-fixed
      issue in js_user.c. If the total_users happens to equal lastuser, then
      you would have hit the issue in js_user.c. If you had at least one
      deleted or inactive user account, then system.stats.total_users would
      be less than system.lastuser and your system would *not* have triggered
      that bug.
      ddd4d10b
  9. 18 May, 2022 1 commit
    • Rob Swindell's avatar
      Fix User.number increment beyond lastuser issue · 65e93897
      Rob Swindell authored
      When the 'number' property of an instance of User was incremented beyond the last user, the call to fgetuserdat() on subsequent property 'get' operation would fail and zero-out the user structure (including the user number). This resulted in an infinite loop in load/birthdays.js where the user number would go from lastuser to 1 in one operation (u.number++).
      
      Reported by DesotoFireflite (VALHALLA)
      65e93897
  10. 17 May, 2022 7 commits
  11. 16 May, 2022 4 commits
  12. 11 May, 2022 2 commits
  13. 10 May, 2022 1 commit