commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (NET-462) FTPClient in PASSIVE_LOCAL_DATA_CONNECTION_MODE cannot work when host have several different IP
Date Wed, 11 Jul 2012 00:18:34 GMT

     [ 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

       

Mime
View raw message