HOWTO: Getting Started with BulletProof FTP Server

Thank you for your interest in BulletProof FTP Server.

Below is a list of HOWTO articles that have been written over the years to help customers in getting up and running with BulletProof FTP Server.
Note: Some of the screen-shots show older versions of the software. The UI hasn’t changed much between different versions, but you might find some of the buttons labeled differently than what appears.

  • Download, Install and Adding First User
  • Opening Your Firewall
  • Licensing
  • Upgrading
  • Windows System Service
  •  

    Download, Install and Adding First User

    HOWTO: Downloading BPFTP Server 2010
    http://blog.builtbp.com/2010/09/howto-downloading-bpftp-server-2010/

    HOWTO: Installing BPFTP Server 2010
    http://blog.builtbp.com/2010/09/howto-installing-bpftp-server-2010/

    HOWTO: Adding a User
    http://blog.builtbp.com/2010/09/howto-adding-a-user/

     

    Opening Your Firewall

    It’s VERY common that people think only one-port is needed for ftp (default: tcp/ip 21). However, this is not true.

    FTP requires at least two ports, one for the control-port (used to login and issue commands, default tcp/ip 21) and a data-port (default tcp/ip 30000 to 30100). One data-port is needed for every concurrent data-connection, for this reason we suggest using a range of 100 ports which will handle most needs.

    HOWTO: Windows Firewall and BPFTP Server 2011
    http://blog.builtbp.com/2011/06/windows-firewall-and-bulletproof-ftp-server/

    HOWTO: Windows Firewall
    http://blog.builtbp.com/2010/09/howto-windows-firewall/

    HOWTO: Setting up NAT/Passive/Firewall Support
    http://blog.builtbp.com/2010/09/howto-setting-up-natpassivefirewall-support/

     

    Licensing

    HOWTO: Enter Your Subscription-Code
    http://blog.builtbp.com/2013/05/howto-enter-your-subscription-code/

    HOWTO: Purchase an Upgrade to your License
    http://blog.builtbp.com/2014/02/howto-purchase-an-upgrade-to-your-license/

    HOWTO: Remove Your License-Code
    http://blog.builtbp.com/2013/05/howto-remove-your-license-code/

     

    Upgrading

    FAQ: Can I Upgrade and retain all my Users, Groups and Settings?
    http://blog.builtbp.com/2011/12/faq-can-i-upgrade-and-retail-all-my-users-groups-and-settings/

    FAQ: Where does BPFTP Server store the Users, Groups and Settings?
    http://blog.builtbp.com/2011/12/faq-where-does-bpftp-server-store-the-users-groups-and-settings/

    HOWTO: Overridding the Storage-Path for Settings, Users and Groups
    http://blog.builtbp.com/2011/10/howto-override-storage-path-for-settings-users-and-groups/

     

    Windows System Service

    HOWTO: Windows System-Service
    http://blog.builtbp.com/2011/09/howto-windows-system-service/

     

    FEATURE: Event Manager and Email Variables

    BPS-Events Manager-Variables

    Listing of %VARS to be used in the Events Manager of BulletProof FTP Server for SMTP and HTTP Form-Post (NVP) event actions.

    REVISION HISTORY:
  • %FILETIME* and %FILEDATE* variables added in v2014.1.3.21 (Feb 2015)
  • %FILE was changed to %FILEFULLNAME in v2013.1.0.11 (Oct 2013)
    VariableDescriptionScopeContextUnits/Example
    %BDOWNData Transferred by FTP-AccountCurrent SessionDownloadBytes
    %BDOWNALLData Transferred by FTP-AccountAll SessionsDownloadBytes
    %BTOTData Transferred by FTP-AccountAll SessionsUp/DownBytes
    %BUPData Transferred by FTP-AccountCurrent SessionUploadBytes
    %BUPALLData Transferred by FTP-AccountAll SessionsUploadBytes
    %C24HNumber of Connections by FTP-AccountCurrent Session24 Hoursinteger-value
    %CALLNumber of Connections by FTP-AccountCurrent SessionForeverinteger-value
    %CLIENTGROUPGroup AccountCurrent SessionUser Manager -> Login -> Group Nameagroupname
    %CLIENTIPIP AddressCurrent SessionObtained from Network192.168.0.1
    %CLIENTIP_000IP Address (Zero Padded)Current SessionObtained from Network192.168.000.001
    %CLIENTLOGINUsername used to LoginCurrent SessionUser Manager -> Login -> Group Nameausername
    %CLIENTNAMEAccount-NameCurrent SessionUser Manager -> Login -> Group Nameaaccountname
    %CLIENTPASSWORDPassword used to LoginCurrent SessionUser Manager -> Login -> Group Nameapassword
    %CNOWNumber of Connections by FTP-AccountCurrent SessionCurrentinteger-value
    %DATECurrent DateSystemObtained from OSLocale-Specific
    %DATE_EXCurrent DateSystemObtained from OSmmddyyyy
    %DATE_EX_DMYCurrent DateSystemObtained from OSdd-mm-yyyy
    %DATE_EX_MDYCurrent DateSystemObtained from OSmm-dd-yyyy
    %DATE_EX_YMDCurrent DateSystemObtained from OSyyyy-mm-dd
    %DFREEDiskspace FreeCurrent SessionCurrent Working DirectoryBytes
    %DFREEGBDiskspace FreeCurrent SessionCurrent Working DirectoryGiBytes
    %DFREEKBDiskspace FreeCurrent SessionCurrent Working DirectoryKiBytes
    %DFREEMBDiskspace FreeCurrent SessionCurrent Working DirectoryMiBytes
    %DIR_8.3Directory Name of Target FTP CommandCurrent SessionsN/Astring (FAT32 shortened)
    %DIRCREATEDCreated Directory NameCurrent SessionsN/Astring
    %DIRDELETEDDeleted Directory NameCurrent SessionsN/Astring
    %DIRFULLNAMEDirectory Name of Target FTP CommandCurrent SessionsN/Astring
    %DIRTARGETDirectory Name of Target FTP CommandCurrent SessionsN/Astring
    %DIRTARGET_8.3Directory Name of Target FTP CommandCurrent SessionsN/Astring (FAT32 shortened)
    %DISKDrive LetterCurrent SessionCurrent Working DirectoryC (Single-Char, ex: C:\ drive)
    %FDOWNNumber of Files TransferredCurrent SessionDownloadedinteger
    %FDOWNALLNumber of Files TransferredAll SessionsDownloadedinteger
    %FILEDATEFile Creation DateCurrent SessionsUp/DownLocale Specific
    %FILEDATE_EXFile Creation DateCurrent SessionsUp/Downmmddyyyy
    %FILEDATE_EX_DMYFile Creation DateCurrent SessionsUp/Downdd-mm-yyyy
    %FILEDATE_EX_MDYFile Creation DateCurrent SessionsUp/Downmm-dd-yyyy
    %FILEDATE_EX_YMDFile Creation DateCurrent SessionsUp/Downyyyy-mm-dd
    %FILEDIRDirectory OnlyCurrent SessionUp/Down/Commandsstring (No Trailing Backslash)
    %FILEEXTExtension OnlyCurrent SessionUp/Down/Commandsstring
    %FILEFULLNAMEFully Qualified FilenameCurrent SessionUp/Down/Commandsstring (includes leading ".")
    %FILENAMEFilename OnlyCurrent SessionUp/Down/Commandsstring
    %FILENAME_8.3Filename Only (FAT32)Current SessionUp/Down/Commandsstring
    %FILENOEXTFilename without ExtensionCurrent SessionUp/Down/Commandsstring
    %FILEPATHDirectory OnlyCurrent SessionUp/Down/Commandsstring (Incl Trailing Slash)
    %FILEPATH_8.3Directory Only (FAT32)Current SessionUp/Down/Commandsstring
    %FILESIZESize of FileCurrent SessionUp/Down/CommandsBytes
    %FILETIMEFile Creation TimeCurrent SessionsUp/DownLocale Specific
    %FILETIME_24HFile Creation TimeCurrent SessionsUp/Downhh:mm:ss
    %FILETIME_EXFile Creation TimeCurrent SessionsUp/Downhhmmss
    %FTOTNumber of Files TransferredAll SessionsUp/Downinteger
    %FTOTALLNumber of Files TransferredAll SessionsUp/Downinteger
    %FUPNumber of Files TransferredCurrent SessionUploadedinteger
    %FUPALLNumber of Files TransferredAll SessionsUploadedinteger
    %GBDOWNData Transferred by FTP-AccountCurrent SessionDownloadGiBytes
    %GBDOWNALLData Transferred by FTP-AccountAll SessionsDownloadGiBytes
    %GBTOTData Transferred by FTP-AccountAll SessionsUp/DownGiBytes
    %GBUPData Transferred by FTP-AccountCurrent SessionUploadGiBytes
    %GBUPALLData Transferred by FTP-AccountAll SessionsUploadGiBytes
    %KBDOWNData Transferred by FTP-AccountCurrent SessionDownloadKiBytes
    %KBDOWNALLData Transferred by FTP-AccountAll SessionsDownloadKiBytes
    %KBTOTData Transferred by FTP-AccountAll SessionsUp/DownKiBytes
    %KBUPData Transferred by FTP-AccountCurrent SessionUploadKiBytes
    %KBUPALLData Transferred by FTP-AccountAll SessionsUploadKiBytes
    %LOCALIPIP AddressSystemObtained from Networkstring
    %LOGFILECurrent Log-FileSoftware SettingsManagement -> Logging -> Log Settingsstring
    %LOGFILEOLDPrevious Log-FileSoftware SettingsObtained from Softwarestring
    %MAXUSERSMax Number of FTP-ClientsSoftware SettingsManagement -> Settings -> Generalinteger
    %MBDOWNData Transferred by FTP-AccountCurrent SessionDownloadMiBytes
    %MBDOWNALLData Transferred by FTP-AccountAll SessionsUp/DownMiBytes
    %MBTOTData Transferred by FTP-AccountAll SessionsUp/DownMiBytes
    %MBUPData Transferred by FTP-AccountCurrent SessionUploadMiBytes
    %MBUPALLData Transferred by FTP-AccountAll SessionsUploadMiBytes
    %PCOSVEROS VersionSystemObtained from OSstring
    %PCPROCCPUSystemObtained from OSstring
    %PCRAMRAMSystemObtained from OSstring
    %S_IPServer IP delimited by commasSystemObtained from OSstring
    %SERVERDATECurrent DateSystemObtained from OSLocale Specific
    %SERVERDAYSUptime DaysSoftware StateObtained from Softwareinteger
    %SERVERGBALLData TransferredSoftware Install DateUp/DownGiBytes
    %SERVERGBDOWNData TransferredSoftware Install DateDownloadedGiBytes
    %SERVERGBUPData TransferredSoftware Install DateUploadedGiBytes
    %SERVERHOURSUptime HoursSoftware StateObtained from Softwareinteger
    %SERVERIPIP AddressSystemObtained from OSstring
    %SERVERKBALLData TransferredSoftware Install DateUp/DownKiBytes
    %SERVERKBDOWNData TransferredSoftware Install DateDownloadedKiBytes
    %SERVERKBUPData TransferredSoftware Install DateUploadedKiBytes
    %SERVERLOCALHOSTServer Local-HostnameSystemObtained from Networkstring
    %SERVERMBALLData TransferredSoftware Install DateUp/DownMiBytes
    %SERVERMBDOWNData TransferredSoftware Install DateDownloadedMiBytes
    %SERVERMBUPData TransferredSoftware Install DateUploadedMiBytes
    %SERVERMINSUptime MinutesSoftware StateObtained from Softwareinteger
    %SERVERSECSUptime SecondsSoftware StateObtained from Softwareinteger
    %SERVERSPEEDData TransferredSoftware Install DateUp/DownBytes/Sec
    %SERVERSPEEDKBData TransferredSoftware Install DateUp/DownKiBytes/Sec
    %SERVERSPEEDMBData TransferredSoftware Install DateUp/DownMiBytes/Sec
    %SERVERTIMECurrent TimeSystemObtained from OSHH:MM:SS
    %SERVERTIMEUPUptime Since RestartSoftware StateObtained from Software99days 23:59:59
    %SERVERTOTUPTIMETotal Uptime in SecondsSoftware StateObtained from Softwareinteger
    %SERVERVERSIONVersion of FTP-ServerSoftware StateAboutstring
    %SESSIONAVGAverage number of filesSoftware Restart DateUp/Downinteger
    %SESSIONFILESALLFiles TransferredSoftware Restart DateUp/Downinteger
    %SESSIONFILESDOWNFiles TransferredSoftware Restart DateDownloadedinteger
    %SESSIONFILESUPFiles TransferredSoftware Restart DateUploadedinteger
    %SESSIONGBALLData TransferredSoftware Restart DateUp/DownGiBytes
    %SESSIONGBDOWNData TransferredSoftware Restart DateDownloadedGiBytes
    %SESSIONGBTOTALData TransferredSoftware Restart DateAll Data + Protocol BytesGiBytes
    %SESSIONGBUPData TransferredSoftware Restart DateUploadedGiBytes
    %SESSIONKBALLData TransferredSoftware Restart DateUp/DownKiBytes
    %SESSIONKBDOWNData TransferredSoftware Restart DateDownloadedKiBytes
    %SESSIONKBTOTALData TransferredSoftware Restart DateAll Data + Protocol BytesKiBytes
    %SESSIONKBUPData TransferredSoftware Restart DateUploadedKiBytes
    %SESSIONMBALLData TransferredSoftware Restart DateUp/DownMiBytes
    %SESSIONMBDOWNData TransferredSoftware Restart DateDownloadedMiBytes
    %SESSIONMBTOTALData TransferredSoftware Restart DateAll Data + Protocol BytesMiBytes
    %SESSIONMBUPData TransferredSoftware Restart DateUploadedMiBytes
    %SITEWHOListing of other online clientsSoftware StateObtained from Softwarestring
    %TIMECurrent TimeSystemObtained from OSHH:MM:SS
    %TIME_24HCurrent TimeSystemObtained from OSHH:MM:SS
    %TIME_EXCurrent TimeSystemObtained from OSHHMMSS
    %TMINMinutes since connectedCurrent SessionObtained from Softwareinteger
    %TOPALLMost Frequently Accessed FilesAll TimeManagement -> Settings -> Stat Generatorinteger
    %TOPDAYMost Frequently Accessed FilesDayManagement -> Settings -> Stat Generatorinteger
    %TOPMONTHMost Frequently Accessed FilesMonthManagement -> Settings -> Stat Generatorinteger
    %TOPWEEKMost Frequently Accessed FilesWeekManagement -> Settings -> Stat Generatorinteger
    %TSECSeconds since connectedCurrent SessionObtained from Softwareinteger
    %UCURRENTDIRCurrent Working DirectoryCurrent SessionCurrent Working Directorystring
    %UFILESPEEDLast Transfer SpeedCurrent SessionObtained from SoftwareBytes
    %UFILESPEEDKBLast Transfer SpeedCurrent SessionObtained from SoftwareKiBytes
    %UFILESPEEDMBLast Transfer SpeedCurrent SessionObtained from SoftwareMiBytes
    %UHOMEUser Home DirectoryCurrent SessionObtained from Softwarestring
    %UHOSTNAMEHostname of IP AddressCurrent SessionObtained from Networkahost.adomain.com
    %UIADDRESSUser Account: AddressUser SettingsUser Manager -> Additional -> Contact Infostring
    %UICITYUser Account: CityUser SettingsUser Manager -> Additional -> Contact Infostring
    %UIDUser Account: IDUser SettingsUser Manager -> Additional -> Contact Infostring
    %UIEMAILUser Account: EmailUser SettingsUser Manager -> Additional -> Contact Infostring
    %UIFAXUser Account: FaxUser SettingsUser Manager -> Additional -> Contact Infostring
    %UINAMEUser Account: NameUser SettingsUser Manager -> Additional -> Contact Infostring
    %UINOTESUser Account: NotesUser SettingsUser Manager -> Additional -> Contact Infostring
    %UIPIP Address (same as %CLIENTIP)Current SessionObtained from Network192.168.0.1
    %UIPHONEHOMEUser Account: Phone (Home)User SettingsUser Manager -> Additional -> Contact Infostring
    %UIPHONEWORKUser Account: Phone (Work)User SettingsUser Manager -> Additional -> Contact Infostring
    %UNAMEAccount-Name (same as %CLIENTNAME)Current SessionUser Manager -> Login -> Group Nameaaccountname
    %UQUOTAQuota: Current UsageCurrent SessionUser Manager -> Private P2PBytes
    %UQUOTACURRENTGBQuota: Current UsageCurrent SessionUser Manager -> Private P2PGiBytes
    %UQUOTACURRENTKBQuota: Current UsageCurrent SessionUser Manager -> Private P2PKiBytes
    %UQUOTACURRENTMBQuota: Current UsageCurrent SessionUser Manager -> Private P2PMiBytes
    %UQUOTAMAXQuota: Max AvailCurrent SessionUser Manager -> Private P2PBytes
    %UQUOTAMAXGBQuota: Max AvailCurrent SessionUser Manager -> Private P2PGiBytes
    %UQUOTAMAXKBQuota: Max AvailCurrent SessionUser Manager -> Private P2PKiBytes
    %UQUOTAMAXMBQuota: Max AvailCurrent SessionUser Manager -> Private P2PMiBytes
    %URATIOPrivate P2P: Current RatioCurrent SessionUp/Downfloat
    %URATIOCREDITPrivate P2P: Current CreditCurrent SessionDownloadBytes
    %URATIOCREDITGBPrivate P2P: Current CreditCurrent SessionDownloadGiBytes
    %URATIOCREDITKBPrivate P2P: Current CreditCurrent SessionDownloadKiBytes
    %URATIOCREDITMBPrivate P2P: Current CreditCurrent SessionDownloadMiBytes
    %URATIODOWNPrivate P2P: Current RatioCurrent SessionDownloadfloat
    %URATIOUPPrivate P2P: Current RatioCurrent SessionUploadfloat
    %USPEEDLIMITMax Allowed BandwidthUser AccountUp/Downinteger
    %UTIMEOUTCurrent Timeout for User-AccountUser AccountN/Ainteger
  • FEATURE: “reload” command-line parameter

    This HOWTO video shows the process of executing the “reload” command at the command line to reload changes made to the USERS file.

    1) BPS currently running as a SERVICE
    2) Logging into BPS using “ftp.exe”
    3) While the ftp-client is still connected
    4) Change the “bpftpserver-users.ini” and edit the password
    5) Issue the “bpftpserver -reload” command
    6) BPS launches another instance to instruct the current instance to reload the configuration
    7) The original ftp-client is still connected
    8) Disconnect original ftp-client and try to login as old password (doesn’t work, since it was changed)
    9) Try to login as the new password, it works.

    NEW RELEASE: BulletProof FTP Server 2014.1.0.20

    New Release: BulletProof FTP Server 2013.1.0.20

    Today, we are proud to announce a new release of our BulletProof FTP Server for Windows.

    Demo Version (Free 15-Day Trial)
    http://bpftpserver.com/products/bpftpserver/windows/download

    Product Information
    http://bpftpserver.com

    Purchasing Information
    http://bpftpserver.com/products/bpftpserver/windows/buynow

    What’s New aka Changelog
    http://bpftpserver.com/products/bpftpserver/windows/whatsnew

    Join us on Facebook
    https://www.facebook.com/pages/Bpftp/17713238532

    Follow us on Twitter
    https://twitter.com/bpftp

    Version 2014.1.0.20 - 2014-AUG-26
    ---------------------------------

    A summary of this release comprises of:
    - Fix for ftp-client unable to open data-connection on heavily used environments

    VERSION DETAILS
    ===============
    x Fixed, + Added, * Improved/Changed, i Information, ! Wish-List from Customers

    Version 2014.1.0.20 - 2014-AUG-26
    ---------------------------------
    * Improved: Management -> Settings -> NAT/Firewall -> Passive Data-Port Range: Symptom, sometimes a ftp-client unable to retrieve a directory or file-transfer as the result of a bad port sent with "227 Entering Passive Mode (1,2,3,4,0,21)" (where ip=1.2.3.4 and port=21 (0*256+21)). Resolved a problem in which it was possible for an incorrect data-port (tcp/ip 21) to be returned to the ftp-client on heavily used ftp-servers (or ones configured with minimal data-ports). This was due to the method in which a data-port was selected from the pool, after 5 attempts of randomly picking a port and finding it busy; the software returned 21, which is bad and not in the data-port range. Rewrote this portion of the program to pick ports and try them for a period of 30 seconds, before returning an exception in the software. Example of bad return "227 Entering Passive Mode (1,2,3,4,0,21)". In sampling, the error occurred 58 times out of 38608 with a pool of 100 ports during a 20 hour run-time on Aug 25th.

    NEW RELEASE: BulletProof FTP Server 2014.1.0.19

    New Release: BulletProof FTP Server 2013.1.0.19

    Today, we are proud to announce a new release of our BulletProof FTP Server for Windows.

    Demo Version (Free 15-Day Trial)
    http://bpftpserver.com/products/bpftpserver/windows/download

    Product Information
    http://bpftpserver.com

    Purchasing Information
    http://bpftpserver.com/products/bpftpserver/windows/buynow

    What’s New aka Changelog
    http://bpftpserver.com/products/bpftpserver/windows/whatsnew

    Join us on Facebook
    https://www.facebook.com/pages/Bpftp/17713238532

    Follow us on Twitter
    https://twitter.com/bpftp

    *** NOTE: Version 2014.1.0.19 is a quick fix of v2014.1.0.18 that resolves a problem with importing the Settings, Users/Groups from previous major versions (v2.x, v2010 v2011, v2013). The notes for this quick-fix are below, in addition to the notes for v2014.1.0.18 which constitute a significant release.

    Version 2014.1.0.19 - 2014-AUG-22
    ---------------------------------
    * Fixed: Management -> Auto|Manal-Import: Resolved a problem in Auto/Manual Import of previous version Settings, Users/Groups. (internal structure used to store these files was not being destroyed prior to new files being put into place, as a result the new files (aka imported) were being overwritten immediately by cached files stored in memory-structure)
    * Fixed: STARTUP: On new installation and first-start, fixed a problem that crept up in 2014.1.0.18, in which the "Auto Import Migrate Settings, Users/Groups" wasn't being triggered if there were no current files found

    Version 2014.1.0.18 - 2014-AUG-21
    ---------------------------------

    A summary of this release comprises of:
    - Fix for freezing during "Configuring..."
    - Several speed enhancements for heavy use
    - Improvements to help defend brute-force-attacks
    - Support for importing information from older versions (Events, IP/ACL, Scheduler)
    - Internal code changes to prepare for SFTP/FTPS (soon)
    - Serveral cosmetic changes to the UI

    * Improved: Console -> Error Messages: refactored and moved into private frame-container

    x Fixed: FREEZE ON STARTUP: Condition found in which the program appears to "freeze" during "Configuring..." and will not respond; added a timeout value of 10 seconds before it gives up. Condition was triggered when the computer was FIREWALLED and OUTBOUND connections on tcp/ip port 80 are BLOCKED. (http web-get on "http://bpftpserver.com")

    x Changed: INTERNAL-CODE: ARM added to bpftpserver-service.exe due to TBPSLicense inclusion in TBPSSettings

    * Changed: INTERNAL-CODE: DevEx (13.1.4 to 13.2.6)

    * Changed: INTERNAL-CODE: InnoSetup from 5.4.2a to 5.5.5a

    * Changed: INTERNAL-CODE: JCL 2.7.0.5175 (2.3.1.4197), JVCL 3.48 (3.45) ... it appears that JvFormStorage was generating a "divide by zero" exception on FormClose

    * Changed: INTERNAL-CODE: Refactored to create a DataModule specifically for ImageLists (TBPSDM_ImageLists)

    * Changed: INTERNAL-CODE: Refactored to create a DataModule specifically for Settings/Files (TBPSDM_SettingsAndFiles)

    * Changed: INTERNAL-CODE: Removed JvAppInstances from TFBPSAbout, as it wasn't used

    * Changed: INTERNAL-CODE: Rz migrated from 6.1.7 to 6.1.9 (stFilesCanBeFolders=FALSE, hides *.ZIP files from dialogs which ask for a folder)

    * Changed: INTERNAL-CODE: madExcept updated to 4.0.10 from 4.0.9

    x Fixed: Management -> Events Manager: Added support of loading configuration data migrated from older versions of the software produced before SEP 2013 (v2.x, v2010, v2011, before v2013.1.0.9)

    x Fixed: Management -> Events Manager: If an invalid file was specified for the EXE, an exception-error was incorrectly displayed as a result of a bug that displayed the filename for the file-not-found condition.

    * Improved: Management -> Security Options -> Defend Attacks -> Anti-Hammering: Added the ability to BAN-IP of guilty ftp-client, as well as Block (or ignore) for X minutes

    x Fixed: Management -> Security Options -> Defend Attacks -> Brute Force & Anti-Hammering: Resolved a problem with a corrupt/null pointer (EXCEPTION: BPSSettings_BannedIPs.Assign())

    * Improved: Management -> Security Options -> IP Access Control-List: On added item, the new item will be selected and made visible in the list

    * Improved: Management -> Security Options -> IP Access Control-List: added sort of list whenever it is updated

    * Improved: Management -> Security Options -> IP Access Control-List -> Add IP/ACL: Applied constraints to the values entered in an effort to help make sure rules are
    entered correctly. Only the following characters are valid for IP/DNS values: 0..9, A..Z, a..z, "*-[]."

    + Added: Management -> Security Options -> IP Access Control-List: Added notes at the bottom of the list of ACL to indicate that a "!" rule is from Anti-Hammer's "cool down" period.

    x Fixed: Management -> Security Options -> IP Access Control-List: Rewrote the way the internal list of rules is mananaged in order to discover and correct null-pointer reference (EXCEPTION: BPSettings_BannedIPs.Assign())

    x Fixed: Management -> Settings -> Scheduler: Added support of loading configuration data migrated from older versions of the software produced before JUNE 2011 (v2.x, v2010, and v2011.0.1.63).

    * Improved: Management -> Settings -> Visual and Misc -> "TrayIcon: Send Minimized program to the System-Tray as Tray-Icon": If the program is minimized as a tray-icon *and* another copy is started, the original instance is brought to the foreground. If it was minimized as tray-icon, it will now come out of tray-icon as well.

    x Fixed: Management -> Settings -> Windows System Service: If the service was turned-off and the GUI was started when the SERVICE was originally running: made change *not* to start SERVICE after terminating GUI (as there's no point, it was deinstalled)

    x Fixed: Management -> Settings -> Windows System Service: Resolved an issue where the SERVICE would not be installed, if the Override Storage-Path was defined

    * Improved: Server Monitor -> Current-Activity: refactored and moved into private frame-container

    * Improved: Server Monitor -> Download|Upload Summary: reworked the code and optimized for sort a..z,z..a

    * Improved: Server Monitor -> Log-Watch -> Update Every X Seconds: Added a function to allow customization on how often the log-window updates (0.1 to 60 seconds)

    * Improved: Server Monitor -> Log-Watch -> Use Color (Slightly Slower): Added the ability to toggle on/off the use of color. This shows to have a slight speed
    improvement.

    * Improved: Server Monitor -> Log-Watch: *Significant* improvement in speed for updates on log-window messages; window-control was moved from a RichEdit to a standard ListBox

    * Improved: Server Monitor -> Log-Watch: Added horizontal scroll-bars to list of messages

    x Fixed: Server Monitor -> Log-Watch: Moved triggering of log-window messages from a Threaded Timer to a normal Timer

    * Improved: Server Monitor -> Log-Watch: refactored and moved into private frame-container

    x Fixed: Server Monitor -> LogWatch -> Copy-To-Clipboard: If "Use Color" is turned on, resolved a problem where the text copied to the clipboard contained the 5 digit code + '~' (delimiter) for the color used on the line.

    x Fixed: Server Monitor -> LogWatch: Fixed a problem which would send a blank-line to the log, if the "client" passed is NIL (TBPSLogging.LogIt.ReplaceLog() aborted if client==NIL)

    * Improved: UNINSTALL: Fixed a problem which would cause the uninstallation of the service over-and-over-and-over (bpftpserver-uacadmin.exe) if the service was *NOT* installed. Error-Code of 14 was returned, installer appears to retry on errorlevel!=0

    * Improved: User|Group Manager -> Edit -> Access -> Folders -> Right-Click "Add": Removed the display of "Virtual Folders" from the dialog (aka Control Panel items and Recycle Bin)

    * Improved: User|Group Manager -> Edit -> Access -> Folders -> Right-Click "Add": Will now automatically navigate to the location of the first access-right or the currently highlighted access-right (Access-Rights will also be defaulted in the same way). (thx Paul E.)

    * Changed: User|Group Manager -> Edit -> Virtual Folders -> Virtual Folders are only visible in User|Group-Account's "Home Folder": changed this to be the default, as I believe the option to have it display in every directory is confusing

    * Changed: User|Group Manager -> Edit -> Virtual Folders -> Virtual Folders are only visible in User|Group-Account's "Home Folder": Made top/first option

    NEW RELEASE: BulletProof FTP Server 2014.1.0.18

    New Release: BulletProof FTP Server 2013.1.0.18

    Today, we are proud to announce a new release of our BulletProof FTP Server for Windows.

    Demo Version (Free 15-Day Trial)
    http://bpftpserver.com/products/bpftpserver/windows/download

    Product Information
    http://bpftpserver.com

    Purchasing Information
    http://bpftpserver.com/products/bpftpserver/windows/buynow

    What’s New aka Changelog
    http://bpftpserver.com/products/bpftpserver/windows/whatsnew

    Join us on Facebook
    https://www.facebook.com/pages/Bpftp/17713238532

    Follow us on Twitter
    https://twitter.com/bpftp


    Version 2014.1.0.18 - 2014-AUG-21
    ---------------------------------

    A summary of this release comprises of:
    - Fix for freezing during "Configuring..."
    - Several speed enhancements for heavy use
    - Improvements to help defend brute-force-attacks
    - Support for importing information from older versions (Events, IP/ACL, Scheduler)
    - Internal code changes to prepare for SFTP/FTPS (soon)
    - Serveral cosmetic changes to the UI

    * Improved: Console -> Error Messages: refactored and moved into private frame-container

    x Fixed: FREEZE ON STARTUP: Condition found in which the program appears to "freeze" during "Configuring..." and will not respond; added a timeout value of 10 seconds before it gives up. Condition was triggered when the computer was FIREWALLED and OUTBOUND connections on tcp/ip port 80 are BLOCKED. (http web-get on "http://bpftpserver.com")

    x Changed: INTERNAL-CODE: ARM added to bpftpserver-service.exe due to TBPSLicense inclusion in TBPSSettings

    * Changed: INTERNAL-CODE: DevEx (13.1.4 to 13.2.6)

    * Changed: INTERNAL-CODE: InnoSetup from 5.4.2a to 5.5.5a

    * Changed: INTERNAL-CODE: JCL 2.7.0.5175 (2.3.1.4197), JVCL 3.48 (3.45) ... it appears that JvFormStorage was generating a "divide by zero" exception on FormClose

    * Changed: INTERNAL-CODE: Refactored to create a DataModule specifically for ImageLists (TBPSDM_ImageLists)

    * Changed: INTERNAL-CODE: Refactored to create a DataModule specifically for Settings/Files (TBPSDM_SettingsAndFiles)

    * Changed: INTERNAL-CODE: Removed JvAppInstances from TFBPSAbout, as it wasn't used

    * Changed: INTERNAL-CODE: Rz migrated from 6.1.7 to 6.1.9 (stFilesCanBeFolders=FALSE, hides *.ZIP files from dialogs which ask for a folder)

    * Changed: INTERNAL-CODE: madExcept updated to 4.0.10 from 4.0.9

    x Fixed: Management -> Events Manager: Added support of loading configuration data migrated from older versions of the software produced before SEP 2013 (v2.x, v2010, v2011, before v2013.1.0.9)

    x Fixed: Management -> Events Manager: If an invalid file was specified for the EXE, an exception-error was incorrectly displayed as a result of a bug that displayed the filename for the file-not-found condition.

    * Improved: Management -> Security Options -> Defend Attacks -> Anti-Hammering: Added the ability to BAN-IP of guilty ftp-client, as well as Block (or ignore) for X minutes

    x Fixed: Management -> Security Options -> Defend Attacks -> Brute Force & Anti-Hammering: Resolved a problem with a corrupt/null pointer (EXCEPTION: BPSSettings_BannedIPs.Assign())

    * Improved: Management -> Security Options -> IP Access Control-List: On added item, the new item will be selected and made visible in the list

    * Improved: Management -> Security Options -> IP Access Control-List: added sort of list whenever it is updated

    * Improved: Management -> Security Options -> IP Access Control-List -> Add IP/ACL: Applied constraints to the values entered in an effort to help make sure rules are
    entered correctly. Only the following characters are valid for IP/DNS values: 0..9, A..Z, a..z, "*-[]."

    + Added: Management -> Security Options -> IP Access Control-List: Added notes at the bottom of the list of ACL to indicate that a "!" rule is from Anti-Hammer's "cool down" period.

    x Fixed: Management -> Security Options -> IP Access Control-List: Rewrote the way the internal list of rules is mananaged in order to discover and correct null-pointer reference (EXCEPTION: BPSettings_BannedIPs.Assign())

    x Fixed: Management -> Settings -> Scheduler: Added support of loading configuration data migrated from older versions of the software produced before JUNE 2011 (v2.x, v2010, and v2011.0.1.63).

    * Improved: Management -> Settings -> Visual and Misc -> "TrayIcon: Send Minimized program to the System-Tray as Tray-Icon": If the program is minimized as a tray-icon *and* another copy is started, the original instance is brought to the foreground. If it was minimized as tray-icon, it will now come out of tray-icon as well.

    x Fixed: Management -> Settings -> Windows System Service: If the service was turned-off and the GUI was started when the SERVICE was originally running: made change *not* to start SERVICE after terminating GUI (as there's no point, it was deinstalled)

    x Fixed: Management -> Settings -> Windows System Service: Resolved an issue where the SERVICE would not be installed, if the Override Storage-Path was defined

    * Improved: Server Monitor -> Current-Activity: refactored and moved into private frame-container

    * Improved: Server Monitor -> Download|Upload Summary: reworked the code and optimized for sort a..z,z..a

    * Improved: Server Monitor -> Log-Watch -> Update Every X Seconds: Added a function to allow customization on how often the log-window updates (0.1 to 60 seconds)

    * Improved: Server Monitor -> Log-Watch -> Use Color (Slightly Slower): Added the ability to toggle on/off the use of color. This shows to have a slight speed
    improvement.

    * Improved: Server Monitor -> Log-Watch: *Significant* improvement in speed for updates on log-window messages; window-control was moved from a RichEdit to a standard ListBox

    * Improved: Server Monitor -> Log-Watch: Added horizontal scroll-bars to list of messages

    x Fixed: Server Monitor -> Log-Watch: Moved triggering of log-window messages from a Threaded Timer to a normal Timer

    * Improved: Server Monitor -> Log-Watch: refactored and moved into private frame-container

    x Fixed: Server Monitor -> LogWatch -> Copy-To-Clipboard: If "Use Color" is turned on, resolved a problem where the text copied to the clipboard contained the 5 digit code + '~' (delimiter) for the color used on the line.

    x Fixed: Server Monitor -> LogWatch: Fixed a problem which would send a blank-line to the log, if the "client" passed is NIL (TBPSLogging.LogIt.ReplaceLog() aborted if client==NIL)

    * Improved: UNINSTALL: Fixed a problem which would cause the uninstallation of the service over-and-over-and-over (bpftpserver-uacadmin.exe) if the service was *NOT* installed. Error-Code of 14 was returned, installer appears to retry on errorlevel!=0

    * Improved: User|Group Manager -> Edit -> Access -> Folders -> Right-Click "Add": Removed the display of "Virtual Folders" from the dialog (aka Control Panel items and Recycle Bin)

    * Improved: User|Group Manager -> Edit -> Access -> Folders -> Right-Click "Add": Will now automatically navigate to the location of the first access-right or the currently highlighted access-right (Access-Rights will also be defaulted in the same way). (thx Paul E.)

    * Changed: User|Group Manager -> Edit -> Virtual Folders -> Virtual Folders are only visible in User|Group-Account's "Home Folder": changed this to be the default, as I believe the option to have it display in every directory is confusing

    * Changed: User|Group Manager -> Edit -> Virtual Folders -> Virtual Folders are only visible in User|Group-Account's "Home Folder": Made top/first option

    HOWTO: Add Anonymous ftp-user to BPFTP Server

    1) Switch to "User Manager" 2) Click "Add User" 3) Enter the name for the account as "anonymous"

    1) Switch to “User Manager”
    2) Click “Add User”
    3) Enter the name for the account as “anonymous”

    1) Switch to "Login" 2) Turn OFF the requirement for a "Password" for the account...

    1) Switch to “Login”
    2) Turn OFF the requirement for a “Password” for the account…

    1) Switch to "Access" 2) Right-Click in the empty part of the window. 3) Click Add.

    1) Switch to “Access”
    2) Right-Click in the empty part of the window.
    3) Click Add.

    1) Choose the directory you want the anonymous user to access. Recommend: c:\ftp\anonymous

    1) Choose the directory you want the anonymous user to access.
    Recommend: c:\ftp\anonymous

    1) It's recommended that the anonymous user have the following rights to only allow the "uploading" of files to your ftp-server. TIP: This will keep people from using your ftp-server as a "dump-site" for trading of nefarious files. 2) Click "Save and Close"

    1) It’s recommended that the anonymous user have the following rights to only allow the “uploading” of files to your ftp-server.
    TIP: This will keep people from using your ftp-server as a “dump-site” for trading of nefarious files.
    2) Click “Save and Close”

    NEW RELEASE: BulletProof FTP Server 2014.1.0.17

    New Release: BulletProof FTP Server 2013.1.0.17

    Today, we are proud to announce a new release of our BulletProof FTP Server for Windows.

    Demo Version (Free 15-Day Trial)
    http://bpftpserver.com/products/bpftpserver/windows/download

    Product Information
    http://bpftpserver.com

    Purchasing Information
    http://bpftpserver.com/products/bpftpserver/windows/buynow

    What’s New aka Changelog
    http://bpftpserver.com/products/bpftpserver/windows/whatsnew

    Join us on Facebook
    https://www.facebook.com/pages/Bpftp/17713238532

    Follow us on Twitter
    https://twitter.com/bpftp


    Version 2014.1.0.17 - 2014-MAY-29
    --------------------------------- 

    x Fixed: External API: "--storagepath=c:\somedir" has been corrected to *not* ask for "manual import" if the directory specified contains files

    * Improved: User|Group Manager -> Edit -> Bandwidth -> "Uploading|Downloading Files to the Server”: The default has been changed to 15 KBytes/sec vs 512 bytes/sec, as the previous value is just too small to be reasonable. 15 KBytes/sec is, historically, a good low-value as most non-business internet will start bandwidth limitations at 30 KBytes/sec for upsteam. 

    x Fixed: Management -> Summaries/Stats: Fixed a "Crash Report" that was activated when the file-size was over threshold (similar to the bug corrected in 2014.1.0.16, however this is related to continuing the process of loading the file into memory after the file has been rotated. 

    * Improved: DEBUG-BUILD: removed the ZIPing of the debug-log if the program is compiled as DEBUG 

    * Improved: Management -> Backup/Import -> Manual Import: Different messaging used. Buttons now labeled "Import","Cancel"|"Use Defaults", title changed to "Import Previous Installation"