Junsheng Chen created NET-462: --------------------------------- Summary: FTPClient in PASSIVE_LOCAL_DATA_CONNECTION_MODE cannot work when host have several different IP Key: NET-462 URL: https://issues.apache.org/jira/browse/NET-462 Project: Commons Net Issue Type: Improvement Components: FTP Affects Versions: 3.1 Environment: All OS,for example linux or windows and so on Reporter: Junsheng Chen Priority: Minor Fix For: 3.2
When host have several different IP and client setting to PASSIVE_LOCAL_DATA_CONNECTION_MODE,_openDataConnection_ creating socket may use the unexpected ip。 For example, The host have two Ips, one for intra and the another for extern, only the extern one can be connect with the outside。But when in PASSIVE_LOCAL_DATA_CONNECTION_MODE, FTPClient may be select the intra Ip, So it didn't work。 So I change code like this, it can work normally by the specific ip. Code: In FTPClient._openDataConnection_(String command, String arg),line 761 change as bellow: socket = _socketFactory_.createSocket(); // add begin // local as client, transfer data must use the appointed local host socket.bind(new InetSocketAddress(getHostAddress(), 0)); // add end After log in success,User can set the ip which he want to use by call the method in FTPClient: setActiveExternalIPAddress(String ip); -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira