Description
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)
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.