mb
1.5.34.0 (31. October 2009) - Final
- Fix: Transfer limit
- New transfer limit implementation
- Added PowerShell samples
- Added listing decoder for GXS Information Exchange FTP Gateway
- Added listing decoder for GXS Enterprise
- Added support for GXS Enterprise path handling
- Added manifest to openssl (libeay32.dll) for SxS.
- Code cleanup (COM functions won't throw memory exceptions, memory leak protection in case of exceptions).
- libeay32.dll got a version resource
- Fix: Regression: FTP: Transfer limit was broken since 1.5.25.0
- FTP: Added ftpProxyTypeProxyUserAtUserAtHost FTP proxy type. e.g. for McAfee Web Gateway (formerly Webwasher)
- Fix: Pre-Windows Vista: MUI resources were not loaded
- Removed MFC dependency
- Merged proxy into dll
- Dynamically linked to openssl (libeay32.dll). If you use a custom libeay32.dll make sure it exports the FIPS-140 functions.
- Fix: Windows 7: Unknown was displayed for the algo name if the TLS session was using AES128-256
- Dropped support for Windows 2000. Removed all legacy code.
- New setup (Windows 7 compatible)
- Fix: FIPS with AES CTR
- Fully MUI aware. Don't forget to deploy the en-US\sfFTPLib.dll.mui file
- Fix: RSAKey/DSAKey: Key generation failed.
- Fix: SSHConnection: Public key authentication with DSA key file failed.
- SSHConnection: Added support for x509 client and host certificates.
- SSHConnection: Added support for GSSAPI Microsoft Kerberos. Use the GSSAPIMethod property to select the GSSAPI method.
- SSHConnection: Added support for gssapi-mic (Kerberos v5) authentication
- Fix: FTPConnection: StreamFilter (e.g. File Encryption) was broken if compression was enabled
- FTPParser: Tweak for UNIX listing decoder
- SSHConnection: Added support for arcfour128, arcfour256
- SSHConnection: Changed order of default ciphers
- Updated documentation
- SSHConnection: Added support for certificates (e.g. Smart Card) from Windows certificate store. See ICryptoAPIKey
- FIPS 180-2 compliant. Set IGlobal::FIPS property to true to enable FIPS mode.
- Updated openssl.
- Change: SFTPConnection: Changed all SAFEARRAY(VARIANT) function arguments to VARIANT* to support VB6.
- Fix: SFTPConnection: ReadDirectory() failed for protocol version 6 if the server did not include the end-of-list flag in the packet
- Fix: SFTPConnection: SetStat was not setting correct last modified time for protocol version <=3
- SFTPConnection: Added ServerHostKeyAlgorithms to specify supported host key algos (rsa, dss)
- ISFTPItems: Added support for IEnumSFTPItem
- IFTPItems: Added support for IEnumFTPItem
- FTPConnection: Data transfers protected by SSL/TLS reuse the control connection SSL session
- SFTPConnection: Fix for SetStat if SFTP version >= 4.
- SFTPConnection: Language support (Languages property)
- SFTPConnection: Added support for RSA Key Exchange (rsa1024-sha1).
- Dropped support for Windows 98 and Windows Me
- KeyManager: Fixed bug when importing putty AES encrypted private keys.
- FTP: Fixed C++ and VB.NET samples
- FTPItems, FTPItem: Implemented IPersistStreamInit and IPersistStream interface.
- SFTP: Workaround for GXS SSHD.
- SFTP: Fix for SSH servers sending additional lines before the remote id.
- FTP Samples: Fixed C++ and C# sample.
- IFTPParser: Improved parser performance.
- IFTPConnection: Moved LookupFeature method to IFTPServerState interface.
- IFTPConnection: Removed deprecated methods: IsServerFeature, IsServerSoftWindows. (They are available in the IFTPServerState interface).
- _IFTPConnectionEvents: Removed most of the events.
- IFTPItems: Rewrote class. Added thread safety.
- IFTPConnection: Added detection for z/OS. ftpFTPServerSoftzOS (enumFTPServerSoft)
- IFTPItems: Added Load/Save method to serialize items to XML. Added FTP/Scripts/SerializeXML.wsf sample
- IFTPConnection: Renamed SetFileTime to SetModifyTime and GetFileTime to GetModifyTime.
- IFTPConnection: Added SetCreateTime.
- IFTPConnection: GetFileHash failed to return the value if the server did not include leading 0s
- Internal refactoring.
- IFTPConnection: Added SendHOST property to control the behavior of the HOST command.
- New regexp engine.
- SFTPConnection: Resolve host name did not return if host name could not be resolved.
- FTPConnection: Fixed bug with CSID reply parser.
- FTPItem: Changed property Date to ModifyTimeAsDate.
- FTPItem: Changed property UnixTime to ModifyTimeAsUnixTime.
- FTPItem: Changed property FileTime to ModifyTimeAsFileTime.
- FTPItem: Added CreateTimeAsUnixTime, CreateTimeAsFileTime properties.
- SFTPConnection: Added support for "check-file" extension. Use the GetFileHash method
- FTPConnection: Changed signature of GetFileHash method
- FTPConnectionEvents: Removed OnGetFileHash event
- SFTPConnection: ACSII conversation is skipped if the server's EOL equals the local EOL (\r\n).
- SFTPConnection: Added ServerState (ISFTPServerState) property
- FTPConnection: Moved SYSTReply, FEATReply, WelcomeMessage, ServerType, ServerSoft properties to FTPServerState
- FTPConnection: Removed RemoteCertContext property
- FTPConnection: Added RemoteCert property to FTPServerState. The function returns the encoded cert in a variant which contains a safearray of bytes (VT_I1).
- SFTPConnection: Changed the way the RTT is calculated
- SFTPConnection: Corrected server change password request behavior
- SFTPConnection/FTPConnection: Fixed bug with timeout
- SFTPConnection: Bug fixes for protocol version 5 and 6
- SFTPConnection: Added new MAC umac-64@openssh.com
- FTPConnection: Added support for CKSM command
- Auto Tuning of Socket Buffers
- SFTPConnection: Fix for key re-exchange
- SFTPConnection: Added support to switch to None encryption after authentication
- SFTPConnection: Massively improved download performance over high BDP connections
- SFTP: Parsing owner/group from long filename if SFTP Protocol is <= 3.
- SFTP: Added support for SFTP protocol version 1 and 2.
- SFTP: Added support for delayed compression (zlib@openssh.com) as described in http://tools.ietf.org/id/draft-miller-secs....txt
- SFTP: Added VB6 sample.
- SFTP: Added client side Ascii conversation.
- Fix: On the fly file encryption.
- FTP: Added on the fly encryption to the Win32 sample.
- FTP: Added workaround for SecureTransport AUTH bug.
- SFTP: Fixed bug with resume and protocol version 5.
- FTP: Workaround for Novell Netware's PWD bug.
- SFTP: Updated C# sample.
- FTP: Better detection of hash values from XCRC, XMD5 and XSHA replies.
- SFTP: Added VB.NET sample.
- IKeyManager: Fixed loading of PEM encoded encryted private keys.
- IGlobal: Added LogFile property. If set exceptions are logged to the specified file.
- Added IStreamFilter
- Added IAES128CTRWriteStream and IAES128CTRReadStream
- Added CryptoHash class to generate hash values (CRC32, MD4, MD5, SHA1, SHA256) from a file, blob or IStream
- IFTPItem: Added Fact property to read the MLST facts
- IFTPConnection: Automatically requests Win32.ea, Win32.dl and Win32.dt facts if server supports them
- FTPConnectionEvents: OnTransferListStart / OnTransferListEnd events are no longer used/fired.
- FTPConnectionEvents: OnTransferStart is now fired as soon as the data connection is connected/accepted. OnTransferEnd when the data connection is closed. If the function (DownloadFile/UploadFile/ReadDirectory) does not open a data connection the events are not fired. It's important to note that it is not necessary a sign that the data transfer was unsuccessful since some servers do not open a data connection to transfer an empty file.
- SFTPConnection: Added SendBufferSize and ReceiverBufferSize properties.
- SFTPConnection: Improved transfer performance.
- FTPConnection: Added HOST support (The command is only sent for Serv-U right now)
- FTPConnection: Added Download method which can be used for new THMB command
- General: Files that have been opened (MSDN: CreateFile) with other applications with the FILE_SHARE_WRITE flag can now be uploaded.
- FTPConnection: Added LastBytesWritten property to get the number of bytes that have been written to a file after the Download() call.
- Added IConnectionPool
- ISFTPItem: Type is automatically set if the Permissions attribute is available (Protocol Version 3)
- IFTPConnection: Changed detection for WS_FTP Server because it had too many false positives
- IFTPConnection: Added Stat method which sends a STAT command to the server to retrieve the file listing.
- SSH: Added aes128-ctr, aes256-ctr and aes192-ctr ciphers as defined in RFC 4344
- Workaround for WS_FTP Server 6.0's wrong REST reply
- zlib uses assembler. 80% decompression speed improvement with 64-bit version.
- Added SFTP (over SSH2) support
- See the samples in the <Install Folder>\Samples\SFTP folder.
- Fixed: Disconnect didn't wait for the QUIT server reply.
- Updated documentation.
- The destructor of the operation is now called before the waiting threads are released. This fixes possible race conditions.
- Added support for SITE UTIME (NcFTPd/PureFTPd variant).
- DLL uses fixed base address. Enabled DEP. Enabled ASLR.
- Fixed: Crashs caused due to new behavior of Visual Studio 2008's ATL code.
- Fixed: IFTPConnection->NewFile.
- Rewrote FTPFXP class.
- Fixed Connect/Disconnect/Reconnect issued.
- Rewrote thread wrapper class.
- Renamed interface IFTPDirectory to IFTPItems.
- IFTPConnection: Renamed property Directory (get_Directory) to Items (get_Items).
- IFTPConnection: LastTransferTime now returns time in ms instead of s.
- IFTPConnection: Added DataTransferKeepAlive property. If enabled every 30 seconds a NOOP command is sent during data transfers
- Added "native" support for file names > MAX_PATH characters. A prefix (?) is now automatically added to local file names for the DownloadFile and UploadFile methods.
- Renamed interface IFTPConnectionEvents to _IFTPConnectionEvents. Rename interface IFTPFXPEvents to _IFTPFXPEvents.
- Restructured help file
- Renamed IFTPGlobalSpeedLimit to IGlobalSpeedLimit
- Added IFTPServerState class. You can access it through the ServerState property of the IFTPConnection interface. No documentation yet.
- Fixed: FTPConnection: Directory property returned object from previous ReadDirectory() call if no bytes have been transferred.
- Changed ordinal of ftpItemLink from 3 to 4.
- FTPConnection: Added IStream support to DownloadFileEx and UploadFileEx methods.
- Improved support for Connect:Enterprise server.
- Added Delphi 5 sample.
- Directory parser now uses unix parser if servertype=netware and the netware parser fails.
- FTPItem: Fixed BSTR memory leaks in Clone function.
- FTP Parser: Fixed parsing of HP Unix listings with März in the date.
- Fixed memory leaks with events.
- Added workaround to decoder for UNIX listings returned by Allnet ALL6250.
- Added auto-detection for AS/400 with LISTFMT set to 1 (Unix)
- Important: UPnP needs to intialized and uninitalized explicitly.
- Added IUPnPNATManager interface/class.
- IGlobal: Added UninitUPnPNAT() method. Call it before you unload the dll.
- IFTPConnection: Added UploadFileEx and DownloadFileEx methods.
- IFTPConnectionEvents: Added OnUploadFileEx and OnDownloadFileEx methods.
- IFTPConnection: Fixed problem with SSL/TLS downloads with transfer speed limits.
- IFTPItem: Added UnixTime property.
- IFTPConnection: Workaround for host names containing '_'.
- IFTPConnection: Ignoring LIST arguments for "Connect:Enterprise" server.
- IFTPConnection: Better detection for "Connect:Enterprise" server.
- IFTPConnection: Added support for Estonian month names in the directory listings returned by FTP servers running on SunOS.
- IFTPConnection: Added support for directory listings returned by FTP servers running on SunOS with the local language set to Korean.
- IFTPConnection: Added support for FTP servers returning "Windows_CE" in the SYST reply. e.g. Intermec FTP server
- IFTPConnection: Added NewFile method.
- IFTPConnectionEvents: Added OnNewFile event/method.
- IFTPConnection: When Abort() is called while an upload is in progress the UploadFile() method returns immediately.
- IFTPConnection: Added TransferProgressEventInterval property. Default: 1000 (ms)
- IFTPConnection: Workaround for encrypted data transfers (SSL/TLS) and FileZilla server.
- IFTPParser: Small fix in the parser to accept more file attributes in UNIX listings.
- Fixed: IFTPConnection: OnListStart event was no longer fired
- IFTPConnection: Improved detection for VxWorks.
- Added Perl sample.
- IFTPParser: Added support for "drwxrwxrwx 2 root root 4096 2004-01-09 20:34 pix"
- IFTPConnection: Fixed Transfer Speed Limits
- IFTPItem: Added FileTimeExact property.
- IFTPConnection: Added ftpServerSoftMicrosoftFTP.
- FTPConnectionMTA: Events are now sent from a MTA thread.
- IFTPConnection: Fixed MODE Z fallback
- IFTPConnection: Workaround for strange problem with encrypted data connections on Windows 98.
- IFTPConnection: Workaround for non RFC compliant FEAT reply. e.g. proftpd <= 1.3.0rc2.
- IFTPConnection: Removed ftpServerSoftVxWorks. Added ftpServerTypeVxWorks.
- Added additional VxWorks directory listing parser type.
- Improved detection for VxWorks.
- IFTPConnection: The CodePage property was previously set to the code page of the server after the Connect() function succeeded. Now this property keeps unchanged.
- IFTPConnectionEvents: Fix for OnTransferProgress(lo, hi). The lo/hi was mixed up.
- IFTPConnection: The FTPProxyAuthentication property was ignored when the following FTP Proxy types were used: USER user@host, SITE, OPEN.
- IFTPConnection: Added support for z/VM (ftpServerTypeVM).
- IFTPItem: Added SizeUnit property and enum (ftpItemSizeUnitUnknown, ftpItemSizeUnitByte, ftpItemSizeUnitBlock).
- IFTPConnection: Experimental support for Connect:Enterprise (ftpServerSoftConnectEnterprise).
- IFTPConnection: Added ReadDirectoryFromCommand and ReadDirectoryRawFromCommand methods.
- IFTPConnection: Fixed a problem where windows messages would get lost during the destruction of the FTPConnectionMTA object.
- FTPConnectionSTA: UseMessageLoop property is set to VARIANT_TRUE by default.
- Samples: Added ScriptsEvents.wfs to demonstrate events with VBScript.
- IFTPConnection: GetFileSize method sets the data transfer type prior to the SIZE command.
- IFTPConnection: Calling Abort() while a data transfer is in progress now closes the data socket in addition to the ABOR command.
- Fixed a bug in the FTP proxy (USER ...) implementation when connecting to a host on a non default port (port <> 21).
- Native Windows x64 (64 bit) support.
- The sfFTPLIb.dll file is now signed.
- IFTPConnection: Disabled the internal message loop for the FTPConnectionMTA class. It caused the WM_QUIT to be handled inside the FTPConnectionMTA class.
- IFTPConnection: Add UseMessageLoop property.
- Most likely not compatible with Windows NT 4 anymore.
- IFTPConnection: Added workaround for AIX directory listing problem.
- IFTPConnection: Added detection for TNT Embedded ToolSuite.
- IFTPConnection: Added LookupFeature method.
- IFTPConnection: Added 2 more ftpStatusEventTypeLocalHelp ids.
- IFTPConnection: Added GetFileHash method. Added LastFileHash property.
- IFTPConnectionEvents: Added OnGetFileHash.
- IFTPConnection: GetFileCRC, GetFileMD5 methods deprecated. LastFileMD5AsString, LastFileCRC32AsString properties deprecated.
- IFTPConnectionEvents: OnGetFileMD5, OnGetFileCRC methods deprecated.
- IFTPConnection: ;- IPRepeater property now expects an URL instead of the hostname. e.g. "http://repeater.smartftp.com/" instead of "repeater.smartftp.com" ;- The data connection is now activated after the 150 reply from the STOR command has been received.
- Global: ;- Fixed LoadLicenseKeyData and LoadLicenseKeyFile on Windows 9x.
- IFTPConnection: ;- Transfer speed improvements for uploads. Try to set the FileBufferSize and SendBufferSize to 32768 or 65536 if you experience slow speeds over fast connections (100mbit+). ;- Data connection (non-ssl) are now ungracefully closed. close() instead of shutdown(send).
- IFTPConnection: ;- Added LastCommand property ;- Added UPnP property to control automatic UPnP port mappings ;- Added ReceiverBufferSize and SendBufferSize properties. This will affect the buffers sizes for the recv() and send() winsock functions. SendBufferSize should be lower or equal than the FileBufferSize. ;- Added FileBufferSize property. This is size of the buffer when reading from a local file (e.g. uploads). FileBufferSize should be larger or equal than the SendBufferSize.
- Updated documentation for changes starting from 1.0.1.21+
- Important: Major changes ;Split up FTPConnection class into FTPConnectionSTA and FTPConnectionMTA classes. ;Use sfFTPLib.FTPConnectionMTA to receive the events directly from the worker threads. ;Use sfFTPLib.FTPConnectionSTA to receive the events from the same thread which called Advise (VB6). ;Recommendation: Use FTPConnectionSTA for VB6, FTPConnectionMTA for all other environments/languages.
- IFTPConnection Interface:;- Remove all 32 methods (DownloadFile32, UploadFile32, FXPUploadFile32, FXPDownloadFile32, GetFileCRC32). ;e.g. DownloadFile32(). Use the new DownloadFile(BSTR bstrLocal, bstrRemote, long nRestartLo nRestartHi) method with the Lo/Hi arguments. ;- Removed all 32 properties (LastFileSize32, LastTransferBytes32). e.g. LastFileSize32. Use LastFileSizeLo and LastFileSizeHi. ;- Added LastTransferStartPosition, LastTransferStartPositionLo, LastTransferStartPositionHi properties ;- Added ChangeDirectoryUp method. ;- Added Account property ;- Renamed ClearControlConnection to ClearCommandChannel ;- Removed LoadLicenseKeyFile, LoadLicenseKeyData methods ;- Removed Version property ;- Renamed DataTransferLimit property to DataTransferSpeedLimit ;- Renamed SYST property to SYSTReply ;- Added FEATReply property
- Renamed DataTransferLimit property to DataTransferSpeedLimit
- IFTPConnectionEvents Interface: ;Removed all On...32 events (OnTransferProgress32, OnDownloadFile32, OnUploadFile32, OnGetFileCRC32). Use the non 32 methods with the Lo/Hi arguments. e.g. OnDownloadFile32(BSTR bstrLocal, BSTR bstrRemote, long nRestart) -> OnDownloadFile(BSTR bstrLocal, bstrRemote, long nRestartLo, long nRestartHi). ;- Added onchangeDirectoryUp method
- IFTPItem Interface: ;Removed Size32 property. Use SizeLo, SizeHi instead. ;Added implementation for IPersistPropertyBag, IPersistStreamInit and IPersistStorage. The items can easily be serialized now.
- Added IFTPDataTransferSpeedLimit interface. The class is implemented as a singleton to contol the global transfer speed limits.
- IGlobal interface: ;- Added LoadLicenseKeyData, LoadLicenseKeyFile, LoadLanguageFile methods ;- Added Version property ;;Bugs fixed ;- FTPParser: Group/Owner bug for Unix listings.
- IFTPConnection: Added PROTFallback property. If enabled and the server replies with a 534 to the PROT P command, the library will send a PROT C. Otherwise the transfer operation fails. Default: true
- IFTPConnection: Fixed problem with transfers on Windows 9x.
- IFTPConnectionEvents: Change OnTransferProgress(VT_I8) event to OnTransferProgress() event. Get the transferred bytes from the IFTPConnection::LastTransferBytes(32) property.
- Fixed problems with uploads through HTTP proxy.
- IFTPConnection: LastTransferBytes and LastTransferTime are continuously updated during a transfer.
- Fix for VB6 STA problem with events fired from second threads
- Fixed problem with open file handles introduced in .24.
- IFTPConnection: Added ConnectionInfo property (read-only).
- Added IFTPConnectionInfo interface/class
- IFTPConnection: Added PeerName property. This returns the peer address in a numeric form. e.g. "12.15.13.11"
- Fixed SSL problems with connections to the localhost
- Fixed multi thread issues. Calls to methods in the IFTPConnection returned ftpErrorBusy (2) even when no operation was pending.
- Log header (SmartFTP FTP Library v1.2.3.4 will only be written to the logfile if set
- IFTPConnection: Abort is not waiting for the operation to terminate anymore in synchronous mode (Async=false).
- Fixed IFTPConnection::Abort problem.
- Removed IFTPConnection::Close method.
- Renamed IFTPConnection::ClearControlConnection to IFTPConnection::ClearCommandChannel
- Added IFTPDirectory::Find and IFTPDirectory::FindNoCase methods
- Added IFTPConnection::FEAT property to enable/disable FEAT command
- Socket is now always closed when the FTPConnection object is destroyed
- FTPConnect -> Disconnect does not rely on the server to close the connection. It will automatically close it after the server reply has been received.
- LoadLicenseKeyData and LoadLicenseKeyFile always returned true during the trial period
- Added "LoadLicenseKeyData.vbs" to the SamplesScript
- Added LogFormat property. Set format with (ftpLogFormatAnsi, ftpLogFormatUnicode)
- Added HidePassword property. (true, false)
- Fixed problem with multiple fxp transfers.
- Fixed PRET.
- Windows NT 4: Fixed critical bug with component registration.
- Added UploadFile32 and DownloadFile32 methods again. VB 6.0 doesn't support ULONGLONG (64bit). As a surprise VBScript does (not on NT4).
- Small fixes.
- Documentation for FTPFXP class.
- Documentation for OnFXPDownloadFile and OnFXPUploadFile events.
- FTPConnection LastFileCRCAsString property
- Samples Added full MFC Demo Suite
- PRET support
- FTPConnection Methods ;FXPUploadFile method FXPDownloadFile method Continue method Properties PassiveAddress property ProtocolFamily property Events ;OnFXPDownloadFile event OnFXPUploadFile event
- FXP support FTPFXP class FXPFile.wsf script in SamplesScripts
- Initial Release