1. 11 Mar, 2018 1 commit
  2. 10 Mar, 2018 9 commits
  3. 07 Mar, 2018 2 commits
  4. 06 Mar, 2018 1 commit
  5. 05 Mar, 2018 1 commit
    • deuce's avatar
      Add FTPS support. · 666f5e19
      deuce authored
      I wasn't expecting to do this, since SFTP is often viewed as "better", but
      SFTP doesn't have a specification, the implementations don't follow the
      specification drafts that are out there, and the whole sharing a port between
      file transfer and terminal server thing is irritating.
      
      This has only been tested with lftp, but it seems to work.
      666f5e19
  6. 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
      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
  7. 22 Feb, 2018 1 commit
  8. 20 Feb, 2018 1 commit
  9. 19 Feb, 2018 1 commit
  10. 05 Feb, 2018 1 commit
    • rswindell's avatar
      sbbs_t::outcom() now retries (1000 times with 80ms delays) if the transmit · 64f260dd
      rswindell authored
      buffer if full. So now everything that uses outcom (including JS
      console.write) now includes a retry. The lower-level non-retry outcom()
      was renamed _outcom() (and is used by outcom).
      Added new Ctrl-A code: Ctrl-AF - enables the blink attribute, but only
      if/when a blink font was activated in the terminal. Lower-case 'f' refers
      to the normal-intensity blink-font. Uppercase 'F' refers to the high
      intensity blink-font. This allows you to mix fonts in text/menu files
      and not have annoying blinking text in non-supporting terminals. This is
      the first Ctrl-A code to be case-sensitive.
      64f260dd
  11. 03 Feb, 2018 1 commit
  12. 29 Jan, 2018 2 commits
  13. 26 Jan, 2018 1 commit
  14. 20 Jan, 2018 1 commit
  15. 12 Jan, 2018 1 commit
    • rswindell's avatar
      New @-codes (for currently viewed file): · 464f80c5
      rswindell authored
      - FILE_AREA
      - FILE_AREA_DESC
      - FILE_LIB
      - FILE_LIB_DESC
      - FILE_LIB_NUM
      - FILE_DIR
      - FILE_DIR_DESC
      - FILE_DIR_CODE
      - FILE_DIR_NUM
      - FILE_NAME
      - FILE_DESC
      - FILE_UPLOADER
      - FILE_SIZE
      - FILE_CREDITS
      - FILE_TIME
      - FILE_TIME_ULED
      - FILE_TIME_DLED
      - FILE_DATE
      - FILE_DATE_ULED
      - FILE_DAT_DLED
      - FILE_TIMES_DLED
      Fixed MSG_ATTR @-code (missing SPAM attribute)
      New text.dat line: FileHdrDescSeparator, displayed between file detail display
      (name, date, uploader, etc.) and extended description, if there is one. This
      is used to execute showfileavatar.js.
      New JS 'bbs' object properties:
      - file_name
      - file_description
      - file_dir_number
      - file_attr
      - file_date
      - file_credits
      - file_uploader
      - file_update_date
      - file_download_date
      - file_download_count
      Inspiried by Lon Seidman's now infamous (but likely common) Synchronet sysop
      blunder (removing a file rather than downloading it while demonstrating his BBS
      on his youtube channel:
      - New text.dat line: RemoveFileQ <- using this rather than the vague:
        AreYouSureQ, when prompting to remove a file
      - The sysop command to remove files from the batch file flagging prompt has
        been changed from 'D' (delete) to 'R' (remove).
      - The 'D' command from the batch file flagging prompt may now be used for
        immediate Download of any flagged file(s).
      - When flagging files with '*', treat the same as '*.*'
      464f80c5
  16. 08 Jan, 2018 1 commit
    • rswindell's avatar
      Improvements in auto-screen pausing: · 0e7118fa
      rswindell authored
      - If the first lines sent after a key-press are blank lines, don't count them
        in the line-counter (lncntr) - maximize the viewable data before pause.
      - Assume tabs chars are expanded to 8-space tab-stops when detecting auto
        line-wrapped output (e.g. when ;LISTing text files with tabs)
      0e7118fa
  17. 28 Nov, 2017 1 commit
  18. 26 Nov, 2017 1 commit
  19. 24 Nov, 2017 2 commits
  20. 16 Nov, 2017 1 commit
  21. 15 Nov, 2017 2 commits
    • rswindell's avatar
      Daily maintenance log output now goes to the event log (or the terminal · b4f888d4
      rswindell authored
      server log) using the new magic sbbs_t::lputs().
      No more SSH errors if an SSH client's IP is blocked in ip.can (trying to send
      the block msg).
      New SSHConnectTimeout cfg value (in sbbs.ini [BBS]), defaults to 10 seconds.
      Previously, fails SSH connections could block the bbs_thread for 30 seconds
      (the Cryptlib default network connection timeout).
      Overhauled a lot of the SSH-related log output to make it less chatty and more
      meaningful.
      getmail() is now more flexibility with regards to filtering by attribute flags
      (not just SPAM).
      Allow SPAM header attribute to be toggled with sysop 'C' command.
      b4f888d4
    • rswindell's avatar
      Clear the ssh_session a little later to stop receive errors during SSH connect. · 3941612e
      rswindell authored
      Fixed warning: converting to non-pointer type ‘CRYPT_SESSION {aka int}’ from NULL.
      Fix the race-condition crash Deuce reported:
      <Deuce> #0  0x0000000802478d51 in pthread_mutex_destroy () from /lib/libthr.so.3
      <Deuce> #1  0x0000000800d4e4fa in RingBufFree ()
      <Deuce> #2  0x0000000800d27148 in passthru_input_thread ()
      The output RingBuf can't be destroyed while the passthru_input_thread is still
      running.
      3941612e
  22. 14 Nov, 2017 1 commit
    • rswindell's avatar
      Fix for SSH: · be823026
      rswindell authored
      Active connections (sessions) would be interrupted if another SSH
      connetion came in and failed (e.g. IP was blocked or failed negotiation).
      be823026
  23. 23 Oct, 2017 1 commit
    • rswindell's avatar
      * Implemented support for new LIB_DIRS option: · 11e529d4
      rswindell authored
        Automatically detect child sub-directories and make them available as virtual
        directories for users to download from - only useful via FTP currently.
      * Implemented Sorting options for Message Groups and File Libraries:
        Sub-boards within groups and directories within library can now be
        automatically sorted based on the sysop's chosen sort field (long name, short
        name, or internal code)
        - Required that sub-boards are now stored/saved in msgs.cnf based on groups
        - Required QWKnet hub sub-board reference dynamic renumbering
      * Implemented "Template" toggle option for sub-boards and file directories:
        A sub-board or directory marked as "template" will be used for newly created
        (or imported) subs/dirs for that group/lib. Clone Options via SCFG will now
        use the "template" item as the source of the cloned settings, if available.
      11e529d4
  24. 14 Aug, 2017 1 commit
    • rswindell's avatar
      Fix bug (regression) reported by Uatu13: · c929067b
      rswindell authored
      badip.msg wasn't be sent (display to) the IP-blocked user before disconnecting.
      This regression was introduced in rev 1.632 of this file when the temp IP-ban
      feature was implemented.
      c929067b
  25. 09 Jun, 2017 1 commit
  26. 04 Jun, 2017 1 commit
  27. 29 Nov, 2016 1 commit
    • rswindell's avatar
      2 changes to the MaxConcurrentConnections features: · 64bf44b6
      rswindell authored
      - There was a bug in the first implementation that would cause subsequent
        connections from a non-exempt IP address to be rejected: client_on() is
        called multiple times for a single connection - oops.
      - Successfully logged in clients are now *not* counted against the concurrent
        connection limit. This way if a node hangs, the user at that IP can still
        connect/login to another node. The client has to be fully logged-in to be
        excluded from the connection count.
      64bf44b6