Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, for more info) to build successfully.

  1. 04 Apr, 2021 2 commits
    • Deucе's avatar
      Fix errors with callback-based connect() · 57981cf2
      Deucе authored
      Non-poll used the wrong value for calculating the high socket (which
      is ignored on Win32, the only non-poll() user), and the socket was
      being set in the wrong union member.
    • Rob Swindell's avatar
      A poll() failure with EINTR does not mean a socket is closed. · fcf58640
      Rob Swindell authored
      This won't impact Synchronet as it has a separate signal handling
      thread, but we still need to behave properly for processes that
      don't.  I'm also saying that ENOMEM does not indicate a disconnection,
      though it may be better to pretend it was disconnected...
  2. 03 Apr, 2021 1 commit
  3. 02 Apr, 2021 1 commit
    • Deucе's avatar
      Initial work on setTimeout() · ad635a64
      Deucе authored
      This appears to work and the event handler *should* work on other
      event types already.
      Note, this is *nix-only due to the use of poll().  select() will
      need to be used for Windows to keep XP compatability.
  4. 06 Mar, 2021 1 commit
  5. 28 Feb, 2021 1 commit
  6. 15 Feb, 2021 2 commits
    • Rob Swindell's avatar
      Address more Coverity issues · 5e7baf93
      Rob Swindell authored
      Reverted the SAFECOPY() NULL source-pointer magic "(null)" string thing as that caused a different Coverity issue. Explicitly check for NULL at the call-sites instead.
    • Rob Swindell's avatar
      Address more Coverity issues · 9344a7d8
      Rob Swindell authored
      Reverted the SAFECOPY() NULL source-pointer magic "(null)" string thing as that caused a different Coverity issue. Explicitly check for NULL at the call-sites instead.
  7. 17 Jan, 2021 1 commit
  8. 16 Jan, 2021 1 commit
    • Rob Swindell's avatar
      Fix js.exec() returned nul" unless exit() was called explicitly · da7c67c9
      Rob Swindell authored
      Don't use the "exit_code" property value as the return value of js.exec() unless it's a number. As reported by mlong (thanks).
      Also, "exit_code" was being set to null (instead of void/undefined) in js_PrepareToExecute(). I think this was just an oversight or typo by Deuce from his commit of 5 years ago (f3256d81). Since we're comparing exit_code with JSVAL_VOID in other places to determine if it was actually set, this appears to be a long standing bug.
  9. 23 Nov, 2020 1 commit
    • Deucе's avatar
      Add generic on_exit support. · f09622cd
      Deucе authored
      Store all on_exit() strings in the global scope, execute them
      one scope at a time with scopes ordered in reverse order of
      first call to js.on_exit().  Within a scope, they are ordered
      last string first.
  10. 18 Nov, 2020 3 commits
  11. 26 Sep, 2020 1 commit
  12. 16 Aug, 2020 1 commit
  13. 29 Mar, 2020 4 commits
  14. 29 Aug, 2019 1 commit
  15. 28 Aug, 2019 1 commit
  16. 27 Aug, 2019 2 commits
  17. 26 Aug, 2019 1 commit
  18. 25 Aug, 2019 2 commits
    • rswindell's avatar
      Fix typo in previous commit. Thanks, NotBert. · d114d05b
      rswindell authored
    • 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
      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.
  19. 28 Dec, 2018 1 commit
  20. 20 Feb, 2018 2 commits
  21. 26 Sep, 2015 1 commit
  22. 25 Apr, 2015 2 commits
    • deuce's avatar
      Add jsdocs for js.scope. · 18e8e576
      deuce authored
    • deuce's avatar
      Fix exit() behaviour by introducing the new js.scope value which is the · f3256d81
      deuce authored
      scripts global scope (as opposed to which is the instance global
      scope), and having exit() define exit_code in js.scope instead of
      This also sets exit_code in js.scope to null when preparing to execute a new
      script.  If a new script starts in the same scope as an old one, the old
      exit_code value will be destroyed.
      This should only impact scripts where != js.scope (bbs.exec()ed,
      and mailsrvr)
  23. 08 Oct, 2013 1 commit
  24. 03 Oct, 2013 1 commit
  25. 13 Sep, 2013 1 commit
  26. 16 Mar, 2013 1 commit
  27. 08 Feb, 2013 1 commit
  28. 15 Mar, 2012 2 commits