Skip to content
Snippets Groups Projects
  1. Mar 06, 2018
  2. Mar 05, 2018
  3. Mar 03, 2018
    • deuce's avatar
      Store the certificate context in scfg_t. This allows static services to be · 81de76be
      deuce authored
      TLS servers without all of them needing to separately load the ssl certificate.
      
      It's destroyed in free_scfg(), and the config *must* be prepped both to
      destroy the certificate and to load it.  This is because the "no cert"
      value is -1, not 0, so the prepped flag is all we really have to indicate
      if it's zero because it's a valid certificate or zero because no certificate
      has been loaded.
      81de76be
  4. Feb 23, 2018
    • 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
      LetSyncrypt.
      01904b00
    • 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.
      bfcdc66a
  5. Feb 20, 2018
  6. Feb 18, 2018
    • rswindell's avatar
      JS login() method: · 62868f03
      rswindell authored
      Convert up to 128 characters of the passed user name to a string we can use
      and log in case of failure (helps to debug the full actual user name passed to
      the sevice, e.g. by an IMAP client).
      62868f03
  7. Jan 15, 2018
  8. Nov 24, 2017
  9. Jun 04, 2017
  10. Nov 28, 2016
  11. Nov 27, 2016
    • rswindell's avatar
      Added new sub-scan mode: SCAN_POLLS (used to scan sub-boards for posted polls) · b14e9904
      rswindell authored
      Introduced a better progress indicator (similar to poll results), using the
      backfill() method. 2 new attr.cfg fields allow the progress indicator colors to
      be configured separately from poll results (though they default to the same
      white on magenta). This new progress indicator is used when loading msg ptrs
      and scanning for votes. I will be using it while performing other searches
      (e.g. file libraries/dirs) as well.
      b14e9904
  12. Nov 21, 2016
  13. Nov 19, 2016
    • sbbs's avatar
      pthread thread names are limited to 15 chars (not including nul terminator) · f3da24f7
      sbbs authored
      so use shorter thread names.
      f3da24f7
    • rswindell's avatar
      Fix the root-cause of the high-CPU utlization on server recycle problem: · cdef2d33
      rswindell authored
      How did startup->sem_chk_freq get set (back) to 0 in the first place?
      The reason: the startup struct sanitization only occured when the various
      server threads were first started. When recycled, the server would call back to
      the original caller (e.g. sbbscon) which may (and did) re-read the sbbs.ini
      file, which could have SemCheckFrequency set to 0 (or missing) and the
      sanitization did not happen again (so a 0 value was used in select() calls,
      resuilting in high CPU utilization for several threads).
      
      So now, all startup struct sanitization occurs inside the init/recycle loop
      and sem_chk_freq should never revert to 0 again. This was the main bug.
      cdef2d33
    • sbbs's avatar
      Fixed high-CPU utilization after server recycling issue: if the sem_chk_freq · 324c41ba
      sbbs authored
      value is missing or set to 0 in the sbbs.ini file, the sanity checking this
      value (setting it to 2 seconds) will not occur after a server recycle and the
      sbbs.ini is re-parsed. So if for any reason, the sem_chk_freq value becomes
      0, these server threads won't hog the CPU because they all YIELD at the
      top of thier main loops.
      
      Also, changed all the thread names (e.g. adding "sbbs/" prefix), so they're
      more sensible in the Linux 'top' output.
      
      Also, started adding 'vi' modelines to auto-set tabstops when using vi/vim.
      324c41ba
  14. Oct 17, 2016
  15. May 27, 2016
    • rswindell's avatar
      Update the temp ban (loginBanned): · e0e5279f
      rswindell authored
      - Never ban the server's own address
      - Log the login attempt and last name attempted
      - Use a compressed version of the HH:MM:SS "time remaining" portion of the log
        message
      e0e5279f
  16. May 18, 2016
    • rswindell's avatar
      Implement IP temporary ban: · 7da4af1b
      rswindell authored
      By default, after 20 consecutive (unique) failed login attempts, *or*
      a failed login attempt wtih a name from the name.can filter file.
      The default temporary ban duration is 10 minutes.
      The temporary ban thershold is configurable via LoginAttemptTempBanThreshold
      in sbbs.ini and the ban duration is configurable via LoginAttemptTempBanDuration
      (in seconds).
      7da4af1b
  17. Jan 21, 2016
  18. Dec 04, 2015
  19. Nov 30, 2015
    • rswindell's avatar
      Introduce new node status (NODE_LOGOUT), which is used for the status of a node · 1d847ed3
      rswindell authored
      after a user (has been) disconnected and before the node transitions to waiting
      for connection (WFC) status. Usually the duration of this status is very short,
      but it can be longer (e.g. for running log-out module and event) and for (new)
      msg-scan pointer fix-ups.
      Updated logout() to remove some cruft and add some more log/debug output.
      Automatic new-scan pointer fix-ups when performing new-message scans (if the
      current pointer is greater than the last message number, set it to the last
      message number) and when saving message pointers.
      Passing user_t* to get/putmsgptrs() instead of message number now (to better
      detect Guest account).
      1d847ed3
  20. Aug 25, 2015
  21. Aug 23, 2015
  22. Aug 22, 2015
  23. Aug 21, 2015
  24. Aug 20, 2015
    • deuce's avatar
    • deuce's avatar
      Update to 3.17a · dbbfabf1
      deuce authored
      New Features:
      - Multiple bindings for each service
        Use comma-separated interfaces on Interface= lines in the ini file.
        Default is now "0.0.0.0,::"
      - IPv6 support
      - TLS support for the webserver and (non-static) services
        New TLS option in services.ini (ie: Options=TLS)
      - Decrease LEN_SCAN_CMD to 35 chars, increase the CID field to 45 chars,
        and rename the MAIL_CMD string to IPADDR.  I think this frees up the
        note field for SysOp use.
      dbbfabf1
  25. Apr 25, 2015
    • 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)
      f3256d81
  26. Nov 18, 2014
  27. Mar 14, 2014
    • rswindell's avatar
      Fix crash (at least on Win32) when services thread terminates during · d537312a
      rswindell authored
      initialization due to no service sockets being successfully bound. The crash
      was in cleanup(), while checking the 'theads_pending_start' protected-int,
      which had not been created/initialized yet. The fix is to create/init the
      threads_pending_start protected-int before any possible call to cleanup().
      d537312a
  28. Jan 08, 2014
  29. Jan 07, 2014
  30. Feb 11, 2013
Loading