1. 28 Feb, 2022 1 commit
    • Deucе's avatar
      Enable ctypes in jsdoor · c7cbdd4c
      Deucе authored
      SpiderMokey is now built with ctypes, but the object is only
      being created in jsdoor for now.
  2. 04 Apr, 2021 1 commit
    • 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...
  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. 18 Nov, 2020 1 commit
    • Stephen Hurd's avatar
      Allow more than 256 pre-defined properties in a built-in JS object. · c779ea21
      Stephen Hurd authored
      Previously, properties were only supported via the TinyID mechanism
      in the JS API.  This limited the properties to have a unique signed
      8-bit integer ID, which prevented more than 256 properties from
      existing in a built-in object.
      The id value can be a name however, a TinyID is not required.  For
      property descriptions with an ID outside the range of 8 bits, define
      them using just the name.  When this is done, the getter and setter
      functions will need to convert the names to an ID themself.
      This isn't ideal... ideally, each would have a unique getter and
      setter, but doing it this way puts of requiring an internal JS API
      refactor and allows the CryptCert class to have all the defined
      As implied... CryptCert now supports all properties, and JS Docs
      will be created for them.  This section is yuge!
  5. 16 Aug, 2020 1 commit
  6. 20 Aug, 2019 1 commit
  7. 04 Aug, 2019 1 commit
  8. 23 Feb, 2018 2 commits
    • deuce's avatar
      Add certificate handling via the CryptCert class. · 01904b00
      deuce authored
      Also add add_public_key() and get_public_key() methods to CryptKeyset.
      Not tested yet, but this should be everything we need to finish up
    • deuce's avatar
      Add CryptKeyset class. · bfcdc66a
      deuce authored
      This class allows saving and loading private keys.  It doesn't currently
      allow saving or loading *public* keys, since they require certificate support
      which we don't yet have in our JavaScript Object Model.
      I'll fix the JSDocs build in a minute.
  9. 21 Jan, 2016 1 commit
  10. 10 Nov, 2015 1 commit
  11. 28 Oct, 2015 2 commits
  12. 07 Oct, 2015 1 commit
  13. 28 Sep, 2015 2 commits
  14. 22 Aug, 2015 1 commit
  15. 25 Apr, 2015 1 commit
    • 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 js.global which is the instance global
      scope), and having exit() define exit_code in js.scope instead of js.global.
      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.global != js.scope (bbs.exec()ed,
      and mailsrvr)
  16. 11 Feb, 2013 1 commit
  17. 10 Feb, 2013 1 commit
  18. 24 Dec, 2012 1 commit
  19. 26 Oct, 2012 1 commit
  20. 23 Oct, 2012 1 commit
    • deuce's avatar
      Make the debugger actually useful. · 329a03a3
      deuce authored
      Added backtrace (bt) and up/down commands.
      Allow specifying breakpoints in file:line format for future load()s.
      Breakpoints are a small memory leak right now as there's no way to clear them.
  21. 22 Oct, 2012 3 commits
    • deuce's avatar
      Put js_script back inside js_exec(). · d27bd1ce
      deuce authored
    • deuce's avatar
      Add initial stab at scoping the debugger issue... · ece5cbdf
      deuce authored
      Running jsexec with the -D argument will enter the debugger.  Inside the
      debugger, there are the following commands:
      "r"                runs the script
      "clear"            clears any pending exceptions (mostly useless)
      "break ###"        set a break at the specified line number
      "e <statement>"    eval()uates <statement> in the current frame
      "eval <statement>" also eval()s
      This is a proof of concept right now since it's only in jsexec and the command
      parser is a joke.  Eventually, this will also work for ;EXEC scripts in the
      BBS and be even more awesome.  This should be enough to get mcmlxxix off my
      back though.
    • deuce's avatar
      Alphabetize parsed options. · 06e77c3d
      deuce authored
  22. 12 Nov, 2011 1 commit
  23. 03 Nov, 2011 1 commit
  24. 29 Oct, 2011 1 commit
  25. 28 Oct, 2011 3 commits
  26. 26 Oct, 2011 1 commit
  27. 19 Oct, 2011 1 commit
  28. 18 Oct, 2011 1 commit
  29. 17 Oct, 2011 1 commit
  30. 16 Oct, 2011 2 commits
  31. 14 Oct, 2011 1 commit
  32. 11 Oct, 2011 1 commit