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