Issue #13382 has been updated by shugo (Shugo Maeda).


shugo (Shugo Maeda) wrote:
> FTPClient of Apache Commons seems to have setActivePortRange() and setActiveExternalIPAddress().
> 
> https://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/ftp/FTPClient.html#setActiveExternalIPAddress(java.lang.String)
> 
> However, setActiveExternalIPAddress() seems to be for specifying the address to bind.

I found setReportActiveExternalIPAddress().

https://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/ftp/FTPClient.html#setReportActiveExternalIPAddress(java.lang.String)


----------------------------------------
Feature #13382: [PATCH] Options for FTP PORT command
https://bugs.ruby-lang.org/issues/13382#change-64000

* Author: osa (Shunsuke OSA)
* Status: Open
* Priority: Normal
* Assignee: shugo (Shugo Maeda)
* Target version: 
----------------------------------------
# Abstract

Add options to Net::FTP to set data listening host and port.

# Background

Net::FTP sends local address and default port to remote FTP server.
In FTP active mode, remote server will connect to client to establish data connection, but it will fail if there is NAT in network.
(NAT doesn't rewrite address and port in PORT command because they are not in packet header but payload)
So, it's necessary to set host and port for FTP PORT command explicitly.

# Real use cases

Active FTP is not working in AWS EC2.

- https://forums.aws.amazon.com/thread.jspa?messageID=75667 (Login required)
- http://osa.hatenablog.com/entry/2015/02/24/134826 (Japanese)

# Pull request

- https://github.com/ruby/ruby/pull/1561



-- 
https://bugs.ruby-lang.org/