FTP: EPRT fails + EPRT/EPSV issues
----------------------------------
Key: NET-313
URL: https://issues.apache.org/jira/browse/NET-313
Project: Commons Net
Issue Type: Bug
Affects Versions: 2.1
Environment: FTP server = vsftpd/Centos 5.4
FTPClient = commons-net (FTPClient) ;)
Network = IPv4
Reporter: Felix Bolte
Attachments: ftp_nat.patch
as implemented in NET-288, the client can work now via IPv6 ... EPSV is not
only useful on IPv6 but also when NAT is enabled (see [RFC
2428|http://tools.ietf.org/html/rfc2428])
what my patch does:
* (re)enable EPSV command on IPv4 too (i dont know why [[email protected]]
removed it from the supplied patch in NET-288 (see comments in patch)
* sending EPRT only if we are over IPv6, cause there is no advantage over PORT
on IPv4, it could even have disadvantages (see comments in patch)
* EPRT was sending the result of getActivePort() to the server, but when there
was no activePortRange set, it did send 0 as default which leads to an error on
server site:
{quote}
Tue Mar 23 17:17:20 2010 [pid 10581] [ftpuser] FTP command: Client
"192.168.11.130", "EPRT |1|192.168.11.130|0|"
Tue Mar 23 17:17:20 2010 [pid 10581] [ftpuser] FTP response: Client
"192.168.11.130", "500 Illegal EPRT command."
{quote}
* and even calling getActivePort() has no sense here, cause that port is used
to be random, but we should send same port where the ServerSocket is listening
on -> server.getLocalPort()
* getActivePort() checks if __activeMaxPort > __activeMinPort, but when i want
to set a range of only one single port (min==max) it would return 0 ... now it
will check if equal and return __activeMaxPort
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.