You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Sebb (JIRA)" <ji...@apache.org> on 2012/07/11 02:18:34 UTC
[jira] [Resolved] (NET-462) FTPClient in
PASSIVE_LOCAL_DATA_CONNECTION_MODE cannot work when host have several
different IP
[ https://issues.apache.org/jira/browse/NET-462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sebb resolved NET-462.
----------------------
Resolution: Fixed
Thanks, patch applied with minor changes; also added method
setPassiveLocalIPAddress(InetAddress inetAddress)
for completeness
> 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
> Labels: ActiveIp, FTPClient, PASSIVE_LOCAL_DATA_CONNECTION_MODE
> Fix For: 3.2
>
> Attachments: ftp-bindlocal.diff
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> 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