Support for Extended Passive Mode
----------------------------------
Key: NET-337
URL: https://issues.apache.org/jira/browse/NET-337
Project: Commons Net
Issue Type: New Feature
Components: FTP
Affects Versions: 2.1
Environment: all
Reporter: Carlos Silva A.
Extended Passive Mode (ESPV) is not supported yet in the current library.
Adding support for it will enable this library to use it to connect ot servers
behind routers that are incorrectly configured to use PASV.
I dont know if I should try to place a patch as I am on doubt on what the right
approach should be:
a) Create a new EXTENDED_PASSIVE_LOCAL_DATA_CONNECTION_MODE connection mode
This would probably fulfill the actual requirement, but would also require
multiple changes across to support the EPSV command and its result as well.
b) create a public property "ignorePassiveHost" that can be used in
FTPClient# __parsePassiveModeReply() as follows
if(__ignorePassiveHost){
__passiveHost = getRemoteAddress().getHostAddress();
}else{
__passiveHost = parts[0] + '.' + parts[1] + '.' + parts[2] + '.' +
parts[3];
}
c) externalize (as a protected method) the call to create socket in
FTPClient#_openDataConnection_ to a protected method "createSocket)
This would allow user code to override the default connection behavior
to accomplish a similar functionality.
d) make __parsePassiveModeReply a protected method and also add a protected
method for setting the value on __passiveHost
This would allow user code to override the default behavior to
accomplish a similar functionality.
Thanks for any comments / work on this.
I can submit a patch on any of these options if you need me to.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.