Skip to content
Snippets Groups Projects
  1. Feb 15, 2021
    • Rob Swindell's avatar
      Disable FTP Bounce (FXP) support by default · 883ea5b8
      Rob Swindell authored
      The Synchronet FTP server has (since 2001) disallowed PORT/EPRT/LPRT commands with a "reserved" port number (i.e. < 1024) as recommended by RFC2577 and when attempted, would log a "SUSPECTED FTP BOUNCE HACK ATTEMPT" in the data/hack.log file.
      
      However, as Karloch (HISPAMSX) pointed out recently, an FTP Bounce Attack to other TCP ports was still possible (and detected/reported by some security scans as a potential vulnerability).
      
      So, reject all PORT/EPRT/LPRT commands that specify an IP address other than that used for the control TCP connection unless the sysop specifically enables the new "ALLOW_BOUNCE" option flag (in the [ftp] section of sbbs.ini) and the user is an authenticated non-guest/anonymous user. And as before, log the attempt as a suspected hack attempt.
      
      This change also removes the "Directory File Access" checkbox from the Synchronet Control Panel for Windows as that feature is "going away" soon (or at least, it won't be an FTP-specific option/feature if it remains).
      883ea5b8
  2. Dec 30, 2020
    • Rob Swindell's avatar
      Implement max concurrent connections for FTP · 2bc0e24a
      Rob Swindell authored
      Support optional limit on concurrent connections from the same IP address to the FTP server by setting MaxConcurrentConnections in the [ftp] section of sbbs.ini. Unlike the mail server and the terminal server, this concurrent-connection count is not discounted by the number of authenticated logins. The default value is 0 (unlimited).
      
      This closes issue #156
      2bc0e24a
  3. Dec 22, 2020
    • Rob Swindell's avatar
      Remove dynamic HTML index support from FTP server · 22e8d2e3
      Rob Swindell authored
      The days of browsers rendering HTML served-up via FTP are over, so remove this feature. This also removes all JavaScript support from the FTP server and that is a bit odd as it was one of the first Synchronet components for which I added JS support.
      
      Removing this feature was pretty painless; much easier than adding it was. The main motivation was less cruft to port to the file base in the works. There should be no more references to 00index.html anywhere at this point. Bye bye cool feature, we'll miss you.
      22e8d2e3
  4. Aug 16, 2020
  5. Mar 22, 2019
    • rswindell's avatar
      Use default calling convention (__cdecl) for DLL funcs in Borland builds. · bf82a889
      rswindell authored
      Fix age-old bug with Borland/C++Builder built executables (Windows):
      to achieve compatibility with  the default __cdecl symbol naming rules of
      Visual C++, we were using __stdcall convention for DLL functions when
      building code with Borland/C++Builder tools and using the default (__cdecl)
      convention when building with Microsoft (Visual C++) tools. Although this
      allowed symbols to be located when linking, the calling convention mismatch
      caused a stack cleanup issue that very rarely manifested itself in a bug
      (e.g. exception of some kind in sbbsctrl.exe, usually). Mismatching
      the calling conventions was unintentional (I thought the default for MSVC
      DLL functions was __stdcall) - but since the calls to MSVC-Built DLL functions
      worked 99% of the time, I didn't realize there was an underlying issue. So I
      now work-around the DLL symbol naming mismatch using a command-line option (-a)
      passed to implib in src/sbbs3/ctrl/makelibs.bat
      
      I had previously worked-around exceptions when calling MSVC DLL functions in
      sbbsctrl.exe by calling the problematic DLL functions from a timer tick handler
      rather than a user control (e.g. button) event handler. Those work-arounds can
      now be removed.
      
      The erroneous "DLLCALL" definition design pattern was replicated (copy/pasted)
      to many other projects' header files in cvs.synchro.net. In the future, we may
      want to just remove all instances of *CALL since they now serve no purpose and
      appear as useless "Kruft" (but do allow us to more-easily globally change DLL
      function calling conventions if/when necessary in the future).
      bf82a889
  6. Nov 28, 2016
  7. 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
  8. Aug 22, 2015
  9. Aug 20, 2015
    • 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
  10. Aug 18, 2015
    • rswindell's avatar
      Implement minimum and maximum file sizes allowed for upload, configurable via · 2bbc8f50
      rswindell authored
      MinFileSize and MaxFileSize keys in the [ftp] section of the ctrl/sbbs.ini file
      these values default to 0 which effectively applies no min/max to uploaded
      files. Set MinFileSize to 11 to defeat the recent penetration testing seen
      uploading 10 byte files with random filenames (8 alpha cars ending in ".txt")
      with 8 alpha chars in the file, followed by a CRLF pair for a total size of 10
      bytes.
      Fixed bug whereby failed/aborted uploaded files would be left (not deleted).
      Log errors when any file deletion fails in the FTP server.
      2bbc8f50
  11. Nov 20, 2014
  12. Sep 01, 2011
  13. Oct 25, 2009
    • rswindell's avatar
      Added errormsg callback function pointer to all startup structures to allow · e5da08ed
      rswindell authored
      error counting/logging/messages to be handled by front-end (e.g. control panel)
      regardless of log_level setting.
      Mail server now filters blocked-subjects before applying DNSBL tag.
      Received message header TO and FROM fields are no longer checked against the
      email.can file for SMTP-authenticated clients.
      SMTP MAIL FROM and RCTP TO addresses are no longer checked against the
      email.can file for SMTP-authenticated clients.
      Statistics are displayed in a more legible manner when the mail server is
      terminated.
      The msgs_received stats counter now includes blocked and ignored messages too.
      e5da08ed
  14. Jun 04, 2008
  15. Feb 23, 2008
  16. Sep 15, 2006
    • rswindell's avatar
      Replace the "log mask" concept with a much simpler "log level" concept: · 76a64bca
      rswindell authored
      instead of a bit-mask representing all the log levels to actually "see", use a
      single numeric (or nmemonic) level value (ERROR, WARNING, NOTICE, etc.)
      and less severe log levels (levels with a higher numeric value) will be filtered
      (e.g. not "seen" or logged). It's the basic syslog() concept.
      76a64bca
  17. May 10, 2006
    • rswindell's avatar
      Added FTP server option: Lookup Passive IP · 2a6b87d9
      rswindell authored
      (enabled by adding LOOKUP_PASV_IP to the "Options" value in the [ftp] section
      of your ctrl/sbbs.ini.
      This option tells the FTP server to perform a hostname lookup (on the BBS's
      hostname) to determine the correct/current public IP address to use in
      PASV responses. This is one more kludge to work around stupid NAT devices
      (consumer firewalls/routers).
      2a6b87d9
  18. May 07, 2005
  19. Apr 21, 2005
  20. Nov 06, 2004
  21. Nov 03, 2004
  22. Oct 28, 2004
  23. Oct 27, 2004
  24. Oct 20, 2004
  25. Sep 26, 2004
  26. Oct 15, 2003
  27. Oct 11, 2003
  28. Oct 09, 2003
  29. Sep 26, 2003
  30. Sep 16, 2003
  31. Jun 07, 2003
  32. Apr 23, 2003
  33. Jul 31, 2002
  34. Jul 20, 2002
  35. Mar 25, 2002
  36. Mar 20, 2002
Loading