Lines Matching refs:ftp

78  my $ftp = $pkg->SUPER::new(PeerAddr => $peer, 
79 PeerPort => $arg{Port} || 'ftp(21)',
87 ${*$ftp}{'net_ftp_host'} = $host; # Remote hostname
88 ${*$ftp}{'net_ftp_type'} = 'A'; # ASCII/binary/etc mode
89 ${*$ftp}{'net_ftp_blksize'} = abs($arg{'BlockSize'} || 10240);
91 ${*$ftp}{'net_ftp_localaddr'} = $arg{'LocalAddr'};
93 ${*$ftp}{'net_ftp_firewall'} = $fire
95 ${*$ftp}{'net_ftp_firewall_type'} = $fire_type
98 ${*$ftp}{'net_ftp_passive'} = int
107 $ftp->hash(exists $arg{Hash} ? $arg{Hash} : 0, 1024);
109 $ftp->autoflush(1);
111 $ftp->debug(exists $arg{Debug} ? $arg{Debug} : undef);
113 unless ($ftp->response() == CMD_OK)
115 $ftp->close();
116 $@ = $ftp->message;
117 undef $ftp;
120 $ftp;
128 my $ftp = shift; # self
132 delete ${*$ftp}{'net_ftp_hash'};
138 ${*$ftp}{'net_ftp_hash'} = [$h, $b];
143 my $ftp = shift;
145 $ftp->_QUIT;
146 $ftp->close;
170 my $ftp = shift;
173 $ftp->command( uc $cmd, @_);
174 $ftp->response();
179 my $ftp = shift;
181 $ftp->command("SITE", @_);
182 $ftp->response();
187 my $ftp = shift;
198 $ftp->_MDTM($file) && $ftp->message =~ /((\d\d)(\d\d\d?))(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/
204 my $ftp = shift;
207 if($ftp->supported("SIZE")) {
208 return $ftp->_SIZE($file)
209 ? ($ftp->message =~ /(\d+)\s*$/)[0]
212 elsif($ftp->supported("STAT")) {
215 unless $ftp->_STAT($file) && (@msg = $ftp->message) == 3;
223 my @files = $ftp->dir($file);
233 my($ftp,$user,$pass,$acct) = @_;
239 my $rc = Net::Netrc->lookup(${*$ftp}{'net_ftp_host'});
248 $fwtype = ${*$ftp}{'net_ftp_firewall_type'}
252 if ($fwtype && defined ${*$ftp}{'net_ftp_firewall'}) {
254 $user .= '@' . ${*$ftp}{'net_ftp_host'};
259 my $rc = Net::Netrc->lookup(${*$ftp}{'net_ftp_firewall'});
264 $user = join('@',$user,$fwuser,${*$ftp}{'net_ftp_host'});
269 $user .= '@' . ${*$ftp}{'net_ftp_host'};
272 $fwuser .= '@' . ${*$ftp}{'net_ftp_host'};
275 $ok = $ftp->_USER($fwuser);
279 $ok = $ftp->_PASS($fwpass || "");
283 $ok = $ftp->_ACCT($fwacct)
287 $ok = $ftp->command("SITE",${*$ftp}{'net_ftp_host'})->response;
290 $ok = $ftp->command("OPEN",${*$ftp}{'net_ftp_host'})->response;
298 $ok = $ftp->_USER($user);
301 $ok = $ftp->response()
302 if ($ok == CMD_OK && $ftp->code == 220 && $user =~ /\@/);
308 my $rc = Net::Netrc->lookup(${*$ftp}{'net_ftp_host'}, $ruser);
317 $ok = $ftp->_PASS($pass || "");
320 $ok = $ftp->_ACCT($acct)
323 if ($fwtype == 7 && $ok == CMD_OK && defined ${*$ftp}{'net_ftp_firewall'}) {
324 my($f,$auth,$resp) = _auth_id($ftp);
325 $ftp->authorize($auth,$resp) if defined($resp);
333 @_ == 2 or croak 'usage: $ftp->account( ACCT )';
334 my $ftp = shift;
336 $ftp->_ACCT($acct) == CMD_OK;
340 my($ftp,$auth,$resp) = @_;
348 my $rc = Net::Netrc->lookup(${*$ftp}{'net_ftp_firewall'}, $auth)
349 || Net::Netrc->lookup(${*$ftp}{'net_ftp_firewall'});
354 ($ftp,$auth,$resp);
359 @_ >= 1 || @_ <= 3 or croak 'usage: $ftp->authorize( [AUTH [, RESP]])';
361 my($ftp,$auth,$resp) = &_auth_id;
363 my $ok = $ftp->_AUTH($auth || "");
365 $ok = $ftp->_RESP($resp || "")
373 @_ == 3 or croak 'usage: $ftp->rename(FROM, TO)';
375 my($ftp,$from,$to) = @_;
377 $ftp->_RNFR($from)
378 && $ftp->_RNTO($to);
383 my $ftp = shift;
385 my $oldval = ${*$ftp}{'net_ftp_type'};
391 unless ($ftp->_TYPE($type,@_));
393 ${*$ftp}{'net_ftp_type'} = join(" ",$type,@_);
400 my $ftp = shift;
402 my $oldval = ${*$ftp}{'net_ftp_allo'};
408 unless ($ftp->_ALLO($size,@_));
410 ${*$ftp}{'net_ftp_allo'} = join(" ",$size,@_);
417 my $ftp = shift;
419 send($ftp,pack("CCC", $TELNET_IAC, $TELNET_IP, $TELNET_IAC),MSG_OOB);
421 $ftp->command(pack("C",$TELNET_DM) . "ABOR");
423 ${*$ftp}{'net_ftp_dataconn'}->close()
424 if defined ${*$ftp}{'net_ftp_dataconn'};
426 $ftp->response();
428 $ftp->status == CMD_OK;
433 my($ftp,$remote,$local,$where) = @_;
446 ${*$ftp}{'net_ftp_rest'} = $where
449 delete ${*$ftp}{'net_ftp_port'};
450 delete ${*$ftp}{'net_ftp_pasv'};
452 $data = $ftp->retr($remote) or
471 if($ftp->type eq 'I' && !binmode($loc))
483 if($ref = ${*$ftp}{'net_ftp_hash'});
485 my $blksize = ${*$ftp}{'net_ftp_blksize'};
492 if (trEBCDIC && $ftp->type ne 'I')
494 $buf = $ftp->toebcdic($buf);
524 unless ($data->close()) # implied $ftp->response
535 @_ == 1 || @_ == 2 or croak 'usage: $ftp->cwd( [ DIR ] )';
537 my($ftp,$dir) = @_;
542 ? $ftp->_CDUP()
543 : $ftp->_CWD($dir);
548 @_ == 1 or croak 'usage: $ftp->cdup()';
554 @_ == 1 || croak 'usage: $ftp->pwd()';
555 my $ftp = shift;
557 $ftp->_PWD();
558 $ftp->_extract_path;
561 # rmdir( $ftp, $dir, [ $recurse ] )
564 # $ftp is handle for remote host
573 @_ == 2 || @_ == 3 or croak('usage: $ftp->rmdir( DIR [, RECURSE ] )');
576 my ($ftp, $dir, $recurse) = @_ ;
580 if $ok = $ftp->_RMD( $dir ) or !$recurse;
584 my $filelist = $ftp->ls($dir);
594 if $ftp->delete($file);
600 unless $ok = $ftp->rmdir($file, 1) ;
608 return $ftp->_RMD($dir) ;
613 @_ == 2 || croak 'usage: $ftp->restart( BYTE_OFFSET )';
615 my($ftp,$where) = @_;
617 ${*$ftp}{'net_ftp_rest'} = $where;
625 @_ == 2 || @_ == 3 or croak 'usage: $ftp->mkdir( DIR [, RECURSE ] )';
627 my($ftp,$dir,$recurse) = @_;
629 $ftp->_MKD($dir) || $recurse or
634 unless($ftp->ok)
644 $ftp->_MKD($path);
646 $path = $ftp->_extract_path($path);
652 unless($ftp->ok)
654 my($status,$message) = ($ftp->status,$ftp->message);
655 my $pwd = $ftp->pwd;
657 if($pwd && $ftp->cwd($dir))
660 $ftp->cwd($pwd);
666 $ftp->set_status($status,$message);
675 @_ == 2 || croak 'usage: $ftp->delete( FILENAME )';
693 my($ftp,$cmd,$local,$remote) = @_;
707 if( defined ${*$ftp}{'net_ftp_allo'} )
709 delete ${*$ftp}{'net_ftp_allo'};
717 $ftp->_ALLO($size) if $size;
737 if($ftp->type eq 'I' && !binmode($loc))
743 delete ${*$ftp}{'net_ftp_port'};
744 delete ${*$ftp}{'net_ftp_pasv'};
746 $sock = $ftp->_data_cmd($cmd, $remote) or
749 $remote = ($ftp->message =~ /FILE:\s*(.*)/)[0]
752 my $blksize = ${*$ftp}{'net_ftp_blksize'};
757 if($ref = ${*$ftp}{'net_ftp_hash'});
763 if (trEBCDIC && $ftp->type ne 'I')
765 $buf = $ftp->toascii($buf);
794 if ('STOU' eq uc $cmd and $ftp->message =~ m/unique\s+file\s*name\s*:\s*(.*)\)|"(.*)"/)
805 @_ == 1 || @_ == 2 or croak 'usage: $ftp->port([PORT])';
807 my($ftp,$port) = @_;
810 delete ${*$ftp}{'net_ftp_intern_port'};
816 ${*$ftp}{'net_ftp_listen'} ||= IO::Socket::INET->new(Listen => 5,
818 Timeout => $ftp->timeout,
819 LocalAddr => $ftp->sockhost,
822 my $listen = ${*$ftp}{'net_ftp_listen'};
828 ${*$ftp}{'net_ftp_intern_port'} = 1;
831 $ok = $ftp->_PORT($port);
833 ${*$ftp}{'net_ftp_port'} = $port;
843 @_ == 1 or croak 'usage: $ftp->pasv()';
845 my $ftp = shift;
847 delete ${*$ftp}{'net_ftp_intern_port'};
849 $ftp->_PASV && $ftp->message =~ /(\d+(,\d+)+)/
850 ? ${*$ftp}{'net_ftp_pasv'} = $1
856 my $ftp = shift;
857 ${*$ftp}{'net_ftp_unique'} || undef;
861 @_ == 2 or croak 'usage: $ftp->supported( CMD )';
862 my $ftp = shift;
864 my $hash = ${*$ftp}{'net_ftp_supported'} ||= {};
870 unless $ftp->_HELP($cmd);
872 my $text = $ftp->message;
911 my($ftp, $path) = @_;
917 $ftp->ok &&
918 $ftp->message =~ /(?:^|\s)\"(.*)\"(?:$|\s)/ &&
930 my $ftp = shift;
932 my $pkg = "Net::FTP::" . $ftp->type;
938 delete ${*$ftp}{'net_ftp_dataconn'};
940 if(defined ${*$ftp}{'net_ftp_pasv'})
942 my @port = split(/,/,${*$ftp}{'net_ftp_pasv'});
946 LocalAddr => ${*$ftp}{'net_ftp_localaddr'},
950 elsif(defined ${*$ftp}{'net_ftp_listen'})
952 $data = ${*$ftp}{'net_ftp_listen'}->accept($pkg);
953 close(delete ${*$ftp}{'net_ftp_listen'});
959 $data->timeout($ftp->timeout);
960 ${*$ftp}{'net_ftp_dataconn'} = $data;
961 ${*$data}{'net_ftp_cmd'} = $ftp;
962 ${*$data}{'net_ftp_blksize'} = ${*$ftp}{'net_ftp_blksize'};
970 my $ftp = shift;
973 delete ${*$ftp}{'net_ftp_port'};
974 delete ${*$ftp}{'net_ftp_pasv'};
976 my $data = $ftp->_data_cmd($cmd,@_);
986 my $blksize = ${*$ftp}{'net_ftp_blksize'};
998 for (@$list) { $_ = $ftp->toebcdic($_) }
1007 my $ftp = shift;
1010 my $where = delete ${*$ftp}{'net_ftp_rest'} || 0;
1018 if(${*$ftp}{'net_ftp_passive'} &&
1019 !defined ${*$ftp}{'net_ftp_pasv'} &&
1020 !defined ${*$ftp}{'net_ftp_port'})
1024 $ok = defined $ftp->pasv;
1025 $ok = $ftp->_REST($where)
1030 $ftp->command($cmd,@_);
1031 $data = $ftp->_dataconn();
1032 $ok = CMD_INFO == $ftp->response();
1045 $ok = $ftp->port
1046 unless (defined ${*$ftp}{'net_ftp_port'} ||
1047 defined ${*$ftp}{'net_ftp_pasv'});
1049 $ok = $ftp->_REST($where)
1055 $ftp->command($cmd,@_);
1058 if(defined ${*$ftp}{'net_ftp_pasv'});
1060 $ok = CMD_INFO == $ftp->response();
1063 unless exists ${*$ftp}{'net_ftp_intern_port'};
1066 my $data = $ftp->_dataconn();
1075 close(delete ${*$ftp}{'net_ftp_listen'});
1088 my $ftp = shift;
1090 delete ${*$ftp}{'net_ftp_port'};
1091 $ftp->SUPER::command(@_);
1096 my $ftp = shift;
1097 my $code = $ftp->SUPER::response();
1099 delete ${*$ftp}{'net_ftp_pasv'}
1110 my $ftp = shift;
1114 unless ${*$ftp}{'net_cmd_code'} + 0;
1116 (${*$ftp}{'net_cmd_code'},1);
1150 @_ == 2 or croak 'usage: $ftp->pasv_wait(NON_PASV_FTP)';
1152 my($ftp, $non_pasv) = @_;
1155 vec($rin='',fileno($ftp),1) = 1;
1158 $ftp->response();
1162 unless $ftp->ok() && $non_pasv->ok();
1165 if $ftp->message =~ /unique file name:\s*(\S*)\s*\)/;
1230 $ftp = Net::FTP->new("some.host.name", Debug => 0)
1233 $ftp->login("anonymous",'-anonymous@')
1234 or die "Cannot login ", $ftp->message;
1236 $ftp->cwd("/pub")
1237 or die "Cannot change working directory ", $ftp->message;
1239 $ftp->get("that.file")
1240 or die "get failed ", $ftp->message;
1242 $ftp->quit;
1296 as an ftp proxy.
1355 This is a protocol used by some firewall ftp proxies. It is used
1423 The alloc command allows you to give the ftp server a hint about the size
1424 of the file about to be transfered using the ALLO ftp command. Some storage
1580 sent to another ftp server using the C<port> method.
1591 This method will do a file transfer between two remote ftp servers. If
1737 ftp(1), ftpd(8), RFC 959