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.

Reply via email to