Description
Deep inside the lengthy method org.apache.commons.net.ftp.FTPClient.openDataConnection(int, String) we find this line
socket = socketFactory.createSocket(__passiveHost, __passivePort);
Which I believe does not set the connect timeout when opening the connection. If the line were changed to the following, it would use the connectTimeout property.
socket = connect(__passiveHost, __passivePort)