summaryrefslogtreecommitdiff
path: root/ftp/ftpmirror/files/patch-FTP.pm
diff options
context:
space:
mode:
Diffstat (limited to 'ftp/ftpmirror/files/patch-FTP.pm')
-rw-r--r--ftp/ftpmirror/files/patch-FTP.pm108
1 files changed, 0 insertions, 108 deletions
diff --git a/ftp/ftpmirror/files/patch-FTP.pm b/ftp/ftpmirror/files/patch-FTP.pm
deleted file mode 100644
index fb8e8448105f..000000000000
--- a/ftp/ftpmirror/files/patch-FTP.pm
+++ /dev/null
@@ -1,108 +0,0 @@
-Index: Fan/FTP/FTP.pm
-===================================================================
-RCS file: /usr/home/ume/ncvs/src/ftpmirror/Fan/FTP/FTP.pm,v
-retrieving revision 1.1.1.2
-retrieving revision 1.6
-diff -u -r1.1.1.2 -r1.6
---- Fan/FTP/FTP.pm 2000/03/03 07:35:58 1.1.1.2
-+++ Fan/FTP/FTP.pm 2000/03/09 13:32:04 1.6
-@@ -60,6 +60,9 @@
-
- use Carp;
- use Socket;
-+
-+use Socket6;
-+
- use Fan::TCP;
- use AutoLoader 'AUTOLOAD';
-
-@@ -390,7 +393,7 @@
- $self->clearerror || return undef;
- $self->cleardataconn; # always success
-
-- my($port, $addr) = $self->sockname;
-+ my ($port, $addr, $family) = $self->sockname;
-
- my $acpt = Fan::TCP->new();
- unless (defined($acpt)) {
-@@ -398,20 +401,28 @@
- return undef;
- }
-
-- unless ($acpt->do_server(tcp_bindaddr => $addr)) {
-+ unless ($acpt->do_server(tcp_family => $family,
-+ tcp_bindaddr => $addr)) {
- warn("Fan::TCP->do_server failed");
- return undef;
- }
-
-- ($port, $addr) = $acpt->sockname;
-- unless ($addr =~ tr/./,/ == 3) {
-- warn("ADDRESS=$addr must have just 3 dots");
-- return undef;
-+ ($port, $addr, $family) = $acpt->sockname;
-+ my $command;
-+ if ($family == AF_INET) {
-+ unless ($addr =~ tr/./,/ == 3) {
-+ warn("ADDRESS=$addr must have just 3 dots");
-+ return undef;
-+ }
-+ $addr .= sprintf(",%d,%d", ($port >> 8) & 0xff, $port & 0xff);
-+ $command = 'PORT';
-+ } else {
-+ $addr = "|2|$addr|$port|";
-+ $command = 'EPRT';
- }
-- $addr .= sprintf(",%d,%d", ($port >> 8) & 0xff, $port & 0xff);
-
-- unless ($self->putreq("PORT $addr") =~ /^2/) {
-- warn("PORT command failed\n") if $LOG > 5;
-+ unless ($self->putreq("$command $addr") =~ /^2/) {
-+ warn("$command command failed\n") if $LOG > 5;
- $self->error($self->{lastmesg});
- return undef;
- }
-@@ -437,12 +448,20 @@
- ;#
- sub pasv ($) {
- my $self = shift;
-- my $a_regexp = '\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)';
-
- $self->clearerror &&
- $self->cleardataconn || return undef;
-
-- if ($self->putreq("PASV") !~ /^2/) {
-+ my $family = ($self->sockname)[2];
-+ my ($a_regexp, $command);
-+ if ($family == AF_INET) {
-+ $a_regexp = '\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)';
-+ $command = 'PASV';
-+ } else {
-+ $a_regexp = '\([^\d\s]{3}(\d+)[^\d\s]\)';
-+ $command = 'EPSV';
-+ }
-+ if ($self->putreq($command) !~ /^2/) {
- $self->error($self->{lastmesg});
- return undef;
- }
-@@ -452,11 +471,18 @@
- }
-
- my $bindaddr = $self->{ftp_bindaddr};
-- my $port = $5 * 256 + $6;
-- my $addr = join('.', $1, $2, $3, $4);
-+ my ($port, $addr);
-+ if ($family == AF_INET) {
-+ $port = $5 * 256 + $6;
-+ $addr = join('.', $1, $2, $3, $4);
-+ } else {
-+ $port = $1;
-+ $addr = ($self->peername)[1];
-+ }
- my $data = Fan::TCP->new();
-
- $data && $data->do_client(
-+ tcp_family => $family,
- tcp_bindaddr => $bindaddr,
- tcp_host => $addr,
- tcp_port => $port