Catalyst File Transfer Release Notes
Version 6.0 Build 6020
- Corrected a problem where the status of a server's credentials was not being updated correctly when a secure connection was established. This could cause the control to report that the certificate should not be trusted, even though it was valid.
- Modified the CertificateStore property so that a file name can be specified which contains the certificate that is to be used, if the server requires a client certificate for authentication. Note that the certificate file must be in PKCS12 (PFX) format and it must contain the private key that is associated with the certificate.
- Corrected a problem that would cause the value of the FileType parameter to be changed if a URL was specified when connecting to a server or transferring a file. This property will only change if the URL actually specifies the file type, otherwise the value set by the program will be used.
- Modified the control to recognize when a non-routable IP address has been provided by the server in response to the PASV command. When this happens, the control will ignore that address and instead use the same address for the data channel that was used to establish the control channel connection. This addresses an issue with some FTP servers that would specify their local network IP address, rather than their external IP address.
- Changed the conditions under which the control will automatically attempt to reconnect to the server if an error is encountered while trying to close the data channel. Previously, any error condition would cause the control to attempt to automatically resynchronize with the server. This has been changed so that if the server returns an error indicating that the file transfer could not complete, the control will return the error back to the caller and will not attempt to resynchronize with the server. This change was made to accommodate some servers that would not return an error if the file was locked by another process until after the actual transfer process started.
- Changed the library that performs the debug logging to perform a more stringent version compatibility check. If developers are using the Trace, TraceFile and TraceFlags properties in their applications, they should always make sure that the matching version of the debugging library be included alongside their application executable. This corrects a problem where mismatched versions of the library could cause the application to crash. If the versions do not match, the control will silently refuse to load the library and the debug logging features will be disabled.
Version 6.0 Build 6010
- Corrected a problem with the control where a directory listing would not return the first valid filename when using SFTP. This issue did not affect standard FTP and FTPS connections.
- Improved the control to support a wider variety of SFTP servers that used non-standard directory listing formats. This change particularly improves reliability on non-UNIX based SFTP servers.
- Corrected a problem that could prevent clients from establishing a connection to SSH and SFTP servers when certain authentication options were not supported by the server.
- Corrected a problem with the control where a local file handle would not be released if a file transfer could not be completed due to an error on the server. This would lock the local file until the application terminated and would result in a handle leak.
- Improved the error codes returned by the control to be more specific about the cause of failure when transferring files using SFTP, rather than returning a generic error about the file being not found.
Version 6.0 Build 6000
- Supports the SFTP (FTP+SSH) protocol integrated into the ActiveX control. In most cases, the developer needs only to specify the SSH port number when establishing the connection. This makes it very easy to integrate SFTP into existing applications that use the control.
- Updated for full compatibility with the Windows Server 2008 and Windows Vista SP1 platforms, supporting the new security model and TCP/IP stack. It is recommended that applications which target these platforms upgrade to the current version.
- Improved support for FTP servers that do not strictly conform to the protocol standard and increased overall compatibility with more servers, including many popular open-source FTP servers.
- Added automatic file type detection for FTP transfers. The ActiveX control will automatically set the correct file transfer mode based on the type of file being uploaded or downloaded. The developer can also register their own custom file types.
- Added automatic file verification for FTP transfers. The ActiveX control can automatically verify that the file on the local system is identical to the file on the server using an MD5 hash or CRC-32 checksum. The file verification process can also be performed directly by the application.
- Added support for virtual hosting on FTP servers. This enables the ActiveX control to be used on servers that are configured to support multiple domains using the same external IP address.
- Added support for returning file quota information from an FTP server, if the server supports individual users quotas. This is used to determine the number of files the user may create, and the total amount of data that they may upload to the server.
- Improved support for firewalls and proxy servers, and improved the auto-detection code used to automatically configure proxy settings.
- Improved overall performance of file uploads and downloads using FTP and HTTP, increasing the overall throughput for applications that must transfer large files.
- Core networking code updated to use Windows Sockets 2.2 API and removed all previous dependencies on the Windows Sockets 1.1 and deprecated TCP/IP stack in unsupported versions of Windows. SocketTools is only supported on Windows 2000 and later platforms.
- Redesigned the memory management code used to allocate buffers and private data structures for client sessions, improving performance and reducing overhead when multiple sessions are created in a multithreaded application.
- The control is now more tolerant of certain non-standard responses returned by the server, rather than requiring result codes that exactly match the values specified in the protocol standard.
- Added support for AES (Advanced Encryption Standard) encryption for secure SSL/TLS connections on Windows Server 2008 and Windows Vista.
- Updated the Developers Guide and Technical Reference and made improvements and corrections to the overall documentation.