diff --git a/lib/net/ftp.rb b/lib/net/ftp.rb index b3ebaf68af..2e55222fbf 100644 --- a/lib/net/ftp.rb +++ b/lib/net/ftp.rb @@ -1362,7 +1362,7 @@ module Net raise FTPReplyError, resp end if m = /\((?[!-~])\k\k(?\d+)\k\)/.match(resp) - return @sock.remote_address.ip_address, m["port"].to_i + return @bare_sock.remote_address.ip_address, m["port"].to_i else raise FTPProtoError, resp end diff --git a/test/net/ftp/test_ftp.rb b/test/net/ftp/test_ftp.rb index 6acaf87216..708def13bb 100644 --- a/test/net/ftp/test_ftp.rb +++ b/test/net/ftp/test_ftp.rb @@ -114,7 +114,7 @@ class FTPTest < Test::Unit::TestCase sock = OpenStruct.new sock.remote_address = OpenStruct.new sock.remote_address.ip_address = "1080:0000:0000:0000:0008:0800:200c:417a" - ftp.instance_variable_set(:@sock, sock) + ftp.instance_variable_set(:@bare_sock, sock) host, port = ftp.send(:parse229, "229 Entering Passive Mode (|||3106|)") assert_equal("1080:0000:0000:0000:0008:0800:200c:417a", host) assert_equal(3106, port)