about summary refs log tree commit
diff options
context:
space:
mode:
authorMario Preksavec <mario@slackware.hr>2014-11-20 19:00:38 +0100
committerSteve Hay <steve.m.hay@googlemail.com>2014-11-20 21:12:49 +0000
commitef9ffa0d50250dd5f5e0c9eb6d905280cfaea7c6 (patch)
tree8fee584759c09d7f0d56043d9daa9e05eb058c91
parent0e8f351d35f95ccfa31947a9d1fa71dd6c0f6490 (diff)
downloadperl-libnet-ef9ffa0d50250dd5f5e0c9eb6d905280cfaea7c6.tar.gz
Convert array received from PASV into a format PORT command can use
(cherry picked from commit eee80d41db773c269b80f993b87fc5c1484f9303)
-rw-r--r--lib/Net/FTP.pm2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Net/FTP.pm b/lib/Net/FTP.pm
index 4a3f309..2d3149e 100644
--- a/lib/Net/FTP.pm
+++ b/lib/Net/FTP.pm
@@ -900,6 +900,8 @@ sub _eprt {
       my $p = $listen->sockport;
       $port = join(',',split(m{\.},$listen->sockhost),$p >> 8,$p & 0xff);
     }
+  } elsif (ref($port) eq 'ARRAY') {
+    $port = join(',',split(m{\.},@$port[0]),@$port[1] >> 8,@$port[1] & 0xff);
   }
   my $ok = $cmd eq 'EPRT' ? $ftp->_EPRT($port) : $ftp->_PORT($port);
   ${*$ftp}{net_ftp_port} = $port if $ok;