(FTPS) 530 No client certificate presented.

If this FTP server response is seen in the LastErrorText, it means that the SSL/TLS connection requires a client-side certificate with private key.   Prior to connecting, the client-side certificate should be specified by calling the SetSslClientCert, or SetSslClientCertPfx.  Make sure to check the return value of these methods for success/failure.  If the SetSslClientCert* method fails, then no client-side certificate has […]

FTP Directory Synchronization and Removing Files

Chilkat FTP2 provides methods for synchronizing a local directory tree with a remote directory tree — in both directions.  The SyncLocalTree method downloads files from the remote tree to the local tree, and SyncRemoteTree uploads files from the local tree to the remote tree.  Both have a number of different “modes” that determine which files are transferred, depending on existence, […]

SOLVED: 425 Unable to build data connection: Operation not permitted

This error message is specific to the ProFTPd server.  A Chilkat customer found this error within the LastErrorText after trying to upload or download a file, or retrieve a directory listing: 425 Unable to build data connection: Operation not permitted The latest ProFTPd server has a configuration setting that by default requires SSL/TLS sessions to be re-used, and this breaks […]

Handling Accented Characters in Filenames w/ IIS 7.5 FTP

To handle accented characters in filenames correctly, the FTP client must know what character encoding is used to represent these characters (such as utf-8, iso-8859-1, etc.). The Ftp2.DirListingCharset property indicates the character encoding to be used when interpreting the bytes of a filename (in a directory listing). By default, it is set to “ANSI”, which is another name for the […]

FTP2 ActiveX Events

The Chilkat FTP2 ActiveX provides the following event callbacks: ‘ IMPORTANT: For all callbacks, arguments named “skip” or “abort” are output-only arguments. ‘ These arguments may be set to 1 within the callback to either skip a ‘ particular file upload/download, or abort the entire operation. Dim WithEvents ftp As ChilkatFtp2 ‘ Called just before a file is to be […]

VB6 FTP File Upload Progress Monitoring

Question: I’ve been trying to get the progress bar in VB6 to work, based on the code on your website, but I’m having no luck.  The event isn’t even being triggered. Answer: Here are some things to try: Test progress monitoring with a large enough file  such that the progress does not go from 0 to 100% instantly. Use the […]

SOCKS4 proxy server sometimes rejects FTP data connection?

The FTP Extended Passive Mode (EPSV) continues to be both a solution to problems AND the cause of problems. The Chilkat FTP2 component will automatically use EPSV (as opposed to PASV) if it detects the FTP server supports EPSV. This is generally a good thing to do, and often solves problems. However, occasionally it can be the cause of problems. […]

FTP Progress Monitoring

This post points to the various examples and blog posts scattered among the chilkatsoft.com, example-code.com, and cknotes.com involving progress monitoring of  FTP uploads and downloads using the Chilkat FTP2 ActiveX, .NET component, and C++ libs. Important for Monitoring Upload Progress: The SendBufferSize property is set to a large value (512K) to maximize performance.  Unfortunately, this usually ruins the frequency of […]

426 Connection closed; transfer aborted.

Problem: An FTP transfer fails with the following message found in LastErrorText: 426 Connection closed; transfer aborted Solution: A local firewall may be blocking the connection. Try switching between Active and Passive mode and try again. See these examples: ASP: Active and Passive Modes in FTP SQL Server: Active and Passive Modes in FTP C#: Active and Passive Modes in […]

FTP Auth TLS / SSL problem caused by Firewall Restrictions

The following Chilkat FTP2 error was found by a Chilkat customer to be caused by firewall restrictions. I do not know the specifics of the firewall restrictions that caused the error, but the LastErrorText (with all customer information removed) is reproduced here to help identify this problem in the future. The important point is to see that the SSL/TLS handshake […]