Skip to content
Snippets Groups Projects
  1. Apr 04, 2021
    • Rob Swindell's avatar
      A poll() failure with EINTR does not mean a socket is closed. · 925e3b0a
      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...
      925e3b0a
  2. Apr 03, 2021
  3. Apr 02, 2021
  4. Apr 01, 2021
  5. Mar 31, 2021
  6. Mar 30, 2021
    • Deucе's avatar
      Initial poll() work · 0821142a
      Deucе authored
      Still needs updates in services_thread(), CGI stuff in websrvr.c,
      and sbbs_t::external()
      0821142a
  7. Mar 26, 2021
  8. Mar 23, 2021
  9. Mar 20, 2021
  10. Mar 19, 2021
  11. Mar 17, 2021
    • Deucе's avatar
      Close Socket on unhandled TLS errors · ba5759c2
      Deucе authored
      While errors on transmit seem to be handled well, errors on receive
      do not, especially through js_recv_line() which has been seen to
      trigger a large number (hundreds) of ECONNRESET errors.  To prevent
      this, simply close the socket when an otherwise unhandled error
      occurs.
      
      Almost certainly fixes that issue, but the underlying cause is still
      undetermined.  The calling script (imapservice.js) was checking
      Socket.is_connected after each recv_line() call, so if the socket
      was actually reset, it would be expected to only call it once.
      
      An alternative would be to explicitly handle the error that is
      seen (CRYPT_ERROR_PARAM1), but let's try a generic fix first and see
      of anything breaks because of it.  Most likely issue would be an
      inability to recv() data after calling shutdown(), but I don't think
      many people do that except to move the TIME_WAIT to where they want
      it.
      ba5759c2
    • Deucе's avatar
      Limit sends in terminal and web servers to 8k as well. · 757e3895
      Deucе authored
      It fixed an issue in js_socket.c, no reason to expect better
      behaviour with TLS.  This may fix SZ YModem-G transfers on
      cvs.synchro.net...
      757e3895
  12. Mar 16, 2021
  13. Mar 15, 2021
  14. Mar 13, 2021
  15. Mar 11, 2021
  16. Mar 10, 2021
  17. Mar 09, 2021
  18. Mar 08, 2021
  19. Mar 07, 2021
    • Deucе's avatar
      Enable JSOPTION_VAROBJFIX for JSDoor. · 96f3df2d
      Deucе authored
      This option fixes the fact that the following two lines sometimes
      place the variables in different scopes at the top-level of included
      scripts:
      var x = 1;
      y = 2;
      
      I plan to use this to experiment on if this is what's causing much
      of the remaining scope chain weirdness... it certain explains some
      things we've been seeing (and possibly even things like the METHODJIT
      issues DigitalMan saw yesterday).
      
      Enabling in sbbs/jsexec is a much bigger lift, but this change may
      end up being all upside... the docs have suggested this option always
      be set since it was originally introduced, and now that I understand
      scopes better, it's pretty clear why that is.
      96f3df2d
Loading