FTP Library 2.0 Change Log

News and announcements related to the SmartFTP FTP Library will be posted here. (Read Only)
Posts: 12031
Joined: Thu Oct 11, 2001 1:24 pm
Display name: Mat (SmartFTP)

FTP Library 2.0 Change Log

Post by mb » Sat Jul 16, 2011 12:20 am

FTP Library 3.0 Change Log

2.0.147 (25. October 2011) - Final
  • Fix: Regression: S/KEY with MD5/MD4
2.0.146 (6. October 2011)
  • Fix: Heap corruption in SOCKS5 implementation
2.0.140 (31. August 2011)
  • Fix: Windows 2003: SSH: The AES Crypto hotfix (KB948963) for Windows 2003 is no longer required.
  • FTP: Automatic fail-over to binary mode if MODE Z (compression) is advertised but not supported. (4. August 2011)
  • SSH: Support for Elliptic Curve (ECDSA) private key files (openssl PEM, PKCS8)
  • SSH: Rewrote private key file importer/exporter
  • Removed unnecessary MUI hook (12. July 2011)
  • Updated openssl to 1.1 (8. July 2011)
  • Added NCryptKey and BCryptKey classes for Windows CNG (Windows Vista+) support. Adds support for ECDSA (Elliptic Curve Digital Signature Algorithm) client authentication.
  • IKey: Removed FingerPrint methods. Use the SSHKeyBlobHelper class to get the public key blob (GetPublicKeyBlob) and hash the blob using the CryptoHash class (30. June 2011)
  • SSHConnection: Windows Vista+: Uses DH Key Exchange implementation from BCrypt instead of OpenSSL (29. June 2011)
  • SFTPConnection: Better reporting of invalid and unexpected messages.
  • SSH: If "none" was missing from the requested authentication methods, and the first authentication method failed, the same authentication method has been tried again. Now all authentication methods are only tried once.
  • SFTPConnection: Changed signature of DownloadFile, UploadFile methods
  • SFTPConnection: Added file buffering for Upload
  • FTPConnection: Changed signature of Download method
  • SSHConnection: Using AES, DES, 3DES, RC4 for Encryption from CryptoAPI (XP/2003) and BCrypt (Vista+) instead of openssl.
  • SSHConnection: Using SHA1, MD5 for HMAC from CryptoAPI (XP/2003), BCrypt (Vista+) instead of openssl
  • Using SHA1, SHA2, MD5, MD4 from CryptoAPI (XP/2003), BCrypt (Vista+) instead of openssl
  • SSHConnection: Windows Vista+: Added Elliptic Curve Key Exchange (ECDH) (RFC 5656)
  • SSHConnection: Windows Vista+: Added support for Elliptic Curve Host Keys (ECDSA) (RFC 5656)
  • Minimum system requirement: Windows XP SP3 / Windows 2003 SP2 (9. June 2011)
  • Fix: SFTPClient: There was a theoretical chance that ranged (with end position) downloads may have succeeded without actually reading all data. (18. May 2011)
  • IAsyncSSLSocketLayer: Removed ClientCertName property. Added ClientCertThumbprint property (pass a BSTR with the certificate thumbprint in binary).
  • ICryptoAPIKey: Initialize method takes now a certificate thumbprint (BSTR binary) instead of a certificate common name. (11. March 2011)
  • Compiled with Visual Studio 2010 SP1. Updated CRT dlls. (8. March 2011)
  • Fix: Windows 7 SP1: Fix for Microsoft's Schannel "hotfix". (4. March 2011)
  • Fix: Regression: IFTPConnection: File handles are now guaranteed to be closed before the DownloadFile/UploadFile methods return. (11. January 2011)
  • IFTPItem, ISFTPItem: Removed methods with AsUnixTime suffix. Use the IUtils::FileTimeToUnixTime method to convert the date/time. (24. December 2010)
  • SFTPConnection: Added fallback if sftp subsystem is not enabled
  • FTPConnection: Changed signature of DownloadFileEx and UploadFileEx method. Removed DownloadFileEx2 method.
  • SFTPConnection: Changed signature of DownloadFileEx method.
  • FTPConnection: Added support for RANG (http://tools.ietf.or...an-ftp-range-00) (8. December 2010)
  • Dynamically linked to CRT and Standard C++ library. Do not forget to deploy the msvcr100.dll and msvcp100.dll files if you are not already using the Microsoft_VC100_ATL_x86.msm merge module from Microsoft. (15. November 2010)
  • FTP: Disabled STAT for old versions of SurgeFTP
  • FTP: HASH support is now compliant with draft-bryan-ftp-hash-08
  • Updated Samples (11. November 2010)
  • Changed sfFTPLib version in manifest from to Update the dependency in your manifest if you are using SxS. (28. October 2010)
  • IAsynBaseSocketLayer: Added TotalBytesSent and TotalBytesReceived properties.
  • IGlobal: Added TotalBytesSent and TotalBytesReceived properties.
  • FTP: UNIX.Mode for MLST/MLSD is now requested by default. (22. October 2010)
  • Fix: Global->LogFile failed if called more than once. (21. October 2010)
  • FTP: PASV fail-over for EPSV as suggested here: http://www.ietf.org/...xtension-00.txt
  • FTP/SFTP: Hard coded sanitization of filenames (max len = 255), paths (max len = 64 * 1024) and other data fields coming from the server (max len = 512)
  • FTP: Better error reporting for TLS authentication with a client cert. (7. October 2010)
  • SSH: Added client side keep alive feature (KeepAliveInterval property). (3. October 2010)
  • Fix: If an IOException (unable to read/write file) is thrown during a transfer the Upload/Download functions now return an error. (17. September 2010)
  • Updated documentation.
  • Unspecified changes. (17. August 2010)
  • DownloadFile/UploadFile methods no longer call Seek on the provided IStream. (28. July 2010)
  • FTP: Workaround for Windows_CE's FTP server (3. June 2010)
  • Fix: Regression: Type library not correctly registered on Windows XP/2003 (29. May 2010)
  • SFTPClient: Compatibility fix for SSH-2.0-SSHD
  • SFTPClient: Compatibility fix for ReflectionForSecureIT (24. May 2010)
  • FTPItem: Changed enumItemType. ftpItemTypeFile -> ftpItemTypeRegular, ftpItemTypeFolder -> ftpItemTypeDirectory, ftpItemTypeLink -> ftpItemTypeSymLink
  • SFTPItem: Renamed enumSFTPItemType to enumItemType
  • SFTPItem: Supports IPropertyStore interface
  • FTPItem: Supports IPropertyStore interface
  • FTPItem: Renamed UnixAttributes property to UnixPermissions
  • FTPConnection: Renamed SetUnixAttributes method to SetUnixPermissions
  • FTPItem: Removed SizeUnit property. All sizes are in bytes now.
  • FTPConnection: Removed LastTransferStartPosition. (8. May 2010)
  • Various fixes. (30. April 2010)
  • FTP: Added (better) support for virtual hosts. Use the FEAT property to send the FEAT command before and after the login. (10. April 2010)
  • Internal Refactoring: Replaced CAutoPtr, CAutoVectorPtr with std::unique_ptr, boost::scoped_ptr, boost::scoped_array
  • Added file buffering to improve write performance to UNC share
  • TLS: Rewrote SSL/TLS layer
  • Various small changes (26. March 2010)
  • Added ISimpleConnection. For example for Telnet or Telnet over SSL
  • SSH: Added support for openssh keep alive requests
  • FTP: Added support for CleverComponents Inet Suite
  • FTP: Improved detection of FTP servers (16. March 2010)
  • FTP: Added support for SITE COPY extension for copying files on the same server.
  • FTP: Changed FEAT parser
  • Added IAsyncSSLSocketLayer interface
  • FTPConnection: Moved all SSL/TLS related properties to their own interface
  • FTPConnection: Added SSLSocketLayer property
  • FTPServerState: Moved RemoteCert property to SSL interface.
  • IConnectionInfo: Renamed to ISecurityConnectionInfo
  • Added IAsyncBaseSocketLayer interface
  • Added IAsyncLimitSocketLayer interface
  • Moved socket buffer sizes members into BaseSocketLayer
  • SSHConnection: Moved TransferLimitUpload/TransferLimitDownload to LimitSocketLayer
  • Added ILogFile interface
  • FTPConnection/SFTPConnetion/SSHConnection: Moved LogFile, LogFormat properties to new ILogFile interface (28. February 2010)
  • Added strings for TLS 1.1 and TLS 1.2 (14. February 2010) BETA
  • Unspecified fixes
  • Compiled with VS 2010 RC (26. January 2010) BETA
  • Unspecified fixes (13. January 2010) BETA
  • Unspecified fixes (11. December 2009) BETA
  • Using worker thread pool for better scalability. Meaning constant number of threads for n connections.
  • SFTPConnection: Split up SFTPConnection into SFTP and SSH part. Results in major API changes.
  • SFTPConnection: Added VendorId property
  • SFTPConnection: Added ConnectionInfo property
  • SFTPConnection: Added GetSpaceAvailable() extended method.
  • SFTPConnection: Added CopyFile() extended method.
  • Fix: SFTPConnection: GetFileHash().
  • FTPConnection: Added detection and parser for SecurePortal2000
  • FTPConnection: Reduced request/reply delay.
  • FTPConnection: No longer sends MFTM if not advertised
  • FTPConnection: No longer automatically adds -T to LIST if server=servu
  • SSHTerminal: Terminal over SSH.
FTP Library 1.x Change Log
Last edited by mb on Tue Jan 08, 2013 3:25 am, edited 1 time in total.