mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
Purge orphaned whitespace in test libraries.
This commit is contained in:
parent
02c211d47c
commit
a6de4721d1
@ -1,3 +1,8 @@
|
||||
2008-11-13 Steven Schubiger <stsc@members.fsf.org>
|
||||
|
||||
* FTPServer.pm, FTPTest.pm, HTTPServer.pm, HTTPTest.pm,
|
||||
WgetTest.pm.in: Clean up leftover whitespace.
|
||||
|
||||
2008-11-12 Steven Schubiger <stsc@members.fsf.org>
|
||||
|
||||
* Test-auth-basic.px, Test-auth-no-challenge.px,
|
||||
|
@ -19,36 +19,36 @@ my $GOT_SIGURG = 0;
|
||||
|
||||
# connection states
|
||||
my %_connection_states = (
|
||||
'NEWCONN' => 0x01,
|
||||
'WAIT4PWD' => 0x02,
|
||||
'NEWCONN' => 0x01,
|
||||
'WAIT4PWD' => 0x02,
|
||||
'LOGGEDIN' => 0x04,
|
||||
'TWOSOCKS' => 0x08,
|
||||
);
|
||||
|
||||
# subset of FTP commands supported by these server and the respective
|
||||
# connection states in which they are allowed
|
||||
my %_commands = (
|
||||
my %_commands = (
|
||||
# Standard commands from RFC 959.
|
||||
'CWD' => $_connection_states{LOGGEDIN} |
|
||||
$_connection_states{TWOSOCKS},
|
||||
$_connection_states{TWOSOCKS},
|
||||
# 'EPRT' => $_connection_states{LOGGEDIN},
|
||||
# 'EPSV' => $_connection_states{LOGGEDIN},
|
||||
'LIST' => $_connection_states{TWOSOCKS},
|
||||
# 'EPSV' => $_connection_states{LOGGEDIN},
|
||||
'LIST' => $_connection_states{TWOSOCKS},
|
||||
# 'LPRT' => $_connection_states{LOGGEDIN},
|
||||
# 'LPSV' => $_connection_states{LOGGEDIN},
|
||||
'PASS' => $_connection_states{WAIT4PWD},
|
||||
'PASV' => $_connection_states{LOGGEDIN},
|
||||
'PORT' => $_connection_states{LOGGEDIN},
|
||||
# 'LPSV' => $_connection_states{LOGGEDIN},
|
||||
'PASS' => $_connection_states{WAIT4PWD},
|
||||
'PASV' => $_connection_states{LOGGEDIN},
|
||||
'PORT' => $_connection_states{LOGGEDIN},
|
||||
'PWD' => $_connection_states{LOGGEDIN} |
|
||||
$_connection_states{TWOSOCKS},
|
||||
$_connection_states{TWOSOCKS},
|
||||
'QUIT' => $_connection_states{LOGGEDIN} |
|
||||
$_connection_states{TWOSOCKS},
|
||||
'REST' => $_connection_states{TWOSOCKS},
|
||||
'RETR' => $_connection_states{TWOSOCKS},
|
||||
$_connection_states{TWOSOCKS},
|
||||
'REST' => $_connection_states{TWOSOCKS},
|
||||
'RETR' => $_connection_states{TWOSOCKS},
|
||||
'SYST' => $_connection_states{LOGGEDIN},
|
||||
'TYPE' => $_connection_states{LOGGEDIN} |
|
||||
$_connection_states{TWOSOCKS},
|
||||
'USER' => $_connection_states{NEWCONN},
|
||||
'USER' => $_connection_states{NEWCONN},
|
||||
# From ftpexts Internet Draft.
|
||||
'SIZE' => $_connection_states{LOGGEDIN} |
|
||||
$_connection_states{TWOSOCKS},
|
||||
@ -75,7 +75,7 @@ sub _CWD_command
|
||||
my @elems = split /\//, $path;
|
||||
|
||||
foreach (@elems) {
|
||||
if ($_ eq "" || $_ eq ".") {
|
||||
if ($_ eq "" || $_ eq ".") {
|
||||
# Ignore these.
|
||||
next;
|
||||
} elsif ($_ eq "..") {
|
||||
@ -116,7 +116,7 @@ sub _LIST_command
|
||||
$dir = "/";
|
||||
$path =~ s,^/+,,;
|
||||
}
|
||||
|
||||
|
||||
# Parse the first elements of the path until we find the appropriate
|
||||
# working directory.
|
||||
my @elems = split /\//, $path;
|
||||
@ -141,10 +141,10 @@ sub _LIST_command
|
||||
}
|
||||
$dir .= $_;
|
||||
} else { # It's the last element: check if it's a file, directory or wildcard.
|
||||
if (-f $conn->{rootdir} . $dir . $_) {
|
||||
if (-f $conn->{rootdir} . $dir . $_) {
|
||||
# It's a file.
|
||||
$filename = $_;
|
||||
} elsif (-d $conn->{rootdir} . $dir . $_) {
|
||||
} elsif (-d $conn->{rootdir} . $dir . $_) {
|
||||
# It's a directory.
|
||||
$dir .= $_;
|
||||
} elsif (/\*/ || /\?/) {
|
||||
@ -157,9 +157,9 @@ sub _LIST_command
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
print STDERR "_LIST_command - dir is: $dir\n" if $log;
|
||||
|
||||
|
||||
print {$conn->{socket}} "150 Opening data connection for file listing.\r\n";
|
||||
|
||||
# Open a path back to the client.
|
||||
@ -173,7 +173,7 @@ sub _LIST_command
|
||||
# If the path contains a directory name, extract it so that
|
||||
# we can prefix it to every filename listed.
|
||||
my $prefix = (($filename || $wildcard) && $path =~ /(.*\/).*/) ? $1 : "";
|
||||
|
||||
|
||||
print STDERR "_LIST_command - prefix is: $prefix\n" if $log;
|
||||
|
||||
# OK, we're either listing a full directory, listing a single
|
||||
@ -190,7 +190,7 @@ sub _LIST_command
|
||||
__list_file ($sock, $prefix . $_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
unless ($sock->close) {
|
||||
print {$conn->{socket}} "550 Error closing data connection: $!\r\n";
|
||||
return;
|
||||
@ -207,7 +207,7 @@ sub _PASS_command
|
||||
|
||||
print STDERR "switching to LOGGEDIN state\n" if $log;
|
||||
$conn->{state} = $_connection_states{LOGGEDIN};
|
||||
|
||||
|
||||
if ($conn->{username} eq "anonymous") {
|
||||
print {$conn->{socket}} "202 Anonymous user access is always granted.\r\n";
|
||||
} else {
|
||||
@ -218,7 +218,7 @@ sub _PASS_command
|
||||
sub _PASV_command
|
||||
{
|
||||
my ($conn, $cmd, $rest) = @_;
|
||||
|
||||
|
||||
# Open a listening socket - but don't actually accept on it yet.
|
||||
"0" =~ /(0)/; # Perl 5.7 / IO::Socket::INET bug workaround.
|
||||
my $sock = IO::Socket::INET->new (LocalHost => '127.0.0.1',
|
||||
@ -245,7 +245,7 @@ sub _PASV_command
|
||||
my $p2 = $sockport % 256;
|
||||
|
||||
$conn->{state} = $_connection_states{TWOSOCKS};
|
||||
|
||||
|
||||
# We only accept connections from localhost.
|
||||
print {$conn->{socket}} "227 Entering Passive Mode (127,0,0,1,$p1,$p2)\r\n";
|
||||
}
|
||||
@ -293,7 +293,7 @@ sub _PORT_command
|
||||
sub _PWD_command
|
||||
{
|
||||
my ($conn, $cmd, $rest) = @_;
|
||||
|
||||
|
||||
# See RFC 959 Appendix II and draft-ietf-ftpext-mlst-11.txt section 6.2.1.
|
||||
my $pathname = $conn->{dir};
|
||||
$pathname =~ s,/+$,, unless $pathname eq "/";
|
||||
@ -305,7 +305,7 @@ sub _PWD_command
|
||||
sub _REST_command
|
||||
{
|
||||
my ($conn, $cmd, $restart_from) = @_;
|
||||
|
||||
|
||||
unless ($restart_from =~ /^([1-9][0-9]*|0)$/) {
|
||||
print {$conn->{socket}} "501 REST command needs a numeric argument.\r\n";
|
||||
return;
|
||||
@ -319,7 +319,7 @@ sub _REST_command
|
||||
sub _RETR_command
|
||||
{
|
||||
my ($conn, $cmd, $path) = @_;
|
||||
|
||||
|
||||
my $dir = $conn->{dir};
|
||||
|
||||
# Absolute path?
|
||||
@ -335,7 +335,7 @@ sub _RETR_command
|
||||
my $filename = pop @elems;
|
||||
|
||||
foreach (@elems) {
|
||||
if ($_ eq "" || $_ eq ".") {
|
||||
if ($_ eq "" || $_ eq ".") {
|
||||
next # Ignore these.
|
||||
} elsif ($_ eq "..") {
|
||||
# Go to parent directory.
|
||||
@ -353,14 +353,14 @@ sub _RETR_command
|
||||
|
||||
unless (defined $filename && length $filename) {
|
||||
print {$conn->{socket}} "550 File or directory not found.\r\n";
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
if ($filename eq "." || $filename eq "..") {
|
||||
print {$conn->{socket}} "550 RETR command is not supported on directories.\r\n";
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
my $fullname = $conn->{rootdir} . $dir . $filename;
|
||||
unless (-f $fullname) {
|
||||
print {$conn->{socket}} "550 RETR command is only supported on plain files.\r\n";
|
||||
@ -482,7 +482,7 @@ sub _RETR_command
|
||||
sub _SIZE_command
|
||||
{
|
||||
my ($conn, $cmd, $path) = @_;
|
||||
|
||||
|
||||
my $dir = $conn->{dir};
|
||||
|
||||
# Absolute path?
|
||||
@ -498,7 +498,7 @@ sub _SIZE_command
|
||||
my $filename = pop @elems;
|
||||
|
||||
foreach (@elems) {
|
||||
if ($_ eq "" || $_ eq ".") {
|
||||
if ($_ eq "" || $_ eq ".") {
|
||||
next # Ignore these.
|
||||
} elsif ($_ eq "..") {
|
||||
# Go to parent directory.
|
||||
@ -516,12 +516,12 @@ sub _SIZE_command
|
||||
|
||||
unless (defined $filename && length $filename) {
|
||||
print {$conn->{socket}} "550 File or directory not found.\r\n";
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
if ($filename eq "." || $filename eq "..") {
|
||||
print {$conn->{socket}} "550 SIZE command is not supported on directories.\r\n";
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
my $fullname = $conn->{rootdir} . $dir . $filename;
|
||||
@ -550,14 +550,14 @@ sub _SIZE_command
|
||||
sub _SYST_command
|
||||
{
|
||||
my ($conn, $cmd, $dummy) = @_;
|
||||
|
||||
|
||||
print {$conn->{socket}} "215 UNIX Type: L8\r\n";
|
||||
}
|
||||
|
||||
sub _TYPE_command
|
||||
{
|
||||
my ($conn, $cmd, $type) = @_;
|
||||
|
||||
|
||||
# See RFC 959 section 5.3.2.
|
||||
if ($type =~ /^([AI])$/i) {
|
||||
$conn->{type} = 'A';
|
||||
@ -582,7 +582,7 @@ sub _USER_command
|
||||
|
||||
print STDERR "switching to WAIT4PWD state\n" if $log;
|
||||
$conn->{state} = $_connection_states{WAIT4PWD};
|
||||
|
||||
|
||||
if ($conn->{username} eq "anonymous") {
|
||||
print {$conn->{socket}} "230 Anonymous user access granted.\r\n";
|
||||
} else {
|
||||
@ -708,11 +708,11 @@ sub __get_file_list
|
||||
|
||||
my @allfiles = readdir DIRHANDLE;
|
||||
my @filenames = ();
|
||||
|
||||
|
||||
if ($wildcard) {
|
||||
# Get rid of . and ..
|
||||
@allfiles = grep !/^\.{1,2}$/, @allfiles;
|
||||
|
||||
|
||||
# Convert wildcard to a regular expression.
|
||||
$wildcard = __wildcard_to_regex ($wildcard);
|
||||
|
||||
@ -751,7 +751,7 @@ sub __wildcard_to_regex
|
||||
_reuseAddr => 1,
|
||||
_rootDir => Cwd::getcwd(),
|
||||
);
|
||||
|
||||
|
||||
sub _default_for
|
||||
{
|
||||
my ($self, $attr) = @_;
|
||||
@ -794,7 +794,7 @@ sub new {
|
||||
}
|
||||
|
||||
|
||||
sub run
|
||||
sub run
|
||||
{
|
||||
my ($self, $synch_callback) = @_;
|
||||
my $initialized = 0;
|
||||
@ -822,11 +822,11 @@ sub run
|
||||
|
||||
# the accept loop
|
||||
while (my $client_addr = accept (my $socket, $server_sock))
|
||||
{
|
||||
{
|
||||
# turn buffering off on $socket
|
||||
select((select($socket), $|=1)[0]);
|
||||
|
||||
# find out who connected
|
||||
|
||||
# find out who connected
|
||||
my ($client_port, $client_ip) = sockaddr_in ($client_addr);
|
||||
my $client_ipnum = inet_ntoa ($client_ip);
|
||||
|
||||
@ -844,8 +844,8 @@ sub run
|
||||
if (1) { # Child process.
|
||||
|
||||
# install signals
|
||||
$SIG{URG} = sub {
|
||||
$GOT_SIGURG = 1;
|
||||
$SIG{URG} = sub {
|
||||
$GOT_SIGURG = 1;
|
||||
};
|
||||
|
||||
$SIG{PIPE} = sub {
|
||||
@ -857,7 +857,7 @@ sub run
|
||||
print STDERR "Connection idle timeout expired. Closing server.\n";
|
||||
exit;
|
||||
};
|
||||
|
||||
|
||||
#$SIG{CHLD} = 'IGNORE';
|
||||
|
||||
|
||||
@ -871,7 +871,7 @@ sub run
|
||||
'idle_timeout' => 60, # 1 minute timeout
|
||||
'rootdir' => $self->{_rootDir},
|
||||
};
|
||||
|
||||
|
||||
print {$conn->{socket}} "220 GNU Wget Testing FTP Server ready.\r\n";
|
||||
|
||||
# command handling loop
|
||||
@ -912,7 +912,7 @@ sub run
|
||||
print {$conn->{socket}} "530 Not logged in.\r\n";
|
||||
next;
|
||||
}
|
||||
|
||||
|
||||
# Handle the QUIT command specially.
|
||||
if ($cmd eq "QUIT") {
|
||||
print {$conn->{socket}} "221 Goodbye. Service closing connection.\r\n";
|
||||
@ -925,7 +925,7 @@ sub run
|
||||
} else { # Father
|
||||
close $socket;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$/ = $old_ils;
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ my $VERSION = 0.01;
|
||||
{
|
||||
my %_attr_data = ( # DEFAULT
|
||||
);
|
||||
|
||||
|
||||
sub _default_for
|
||||
{
|
||||
my ($self, $attr) = @_;
|
||||
@ -27,7 +27,7 @@ my $VERSION = 0.01;
|
||||
($self->SUPER::_standard_keys(), keys %_attr_data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
sub _setup_server {
|
||||
my $self = shift;
|
||||
|
@ -22,7 +22,7 @@ sub run {
|
||||
if (!$initialized) {
|
||||
$synch_callback->();
|
||||
$initialized = 1;
|
||||
}
|
||||
}
|
||||
my $con = $self->accept();
|
||||
print STDERR "Accepted a new connection\n" if $log;
|
||||
while (my $req = $con->get_request) {
|
||||
@ -44,14 +44,14 @@ sub run {
|
||||
if (exists($urls->{$url_path})) {
|
||||
print STDERR "Serving requested URL: ", $url_path, "\n" if $log;
|
||||
next unless ($req->method eq "HEAD" || $req->method eq "GET");
|
||||
|
||||
|
||||
my $url_rec = $urls->{$url_path};
|
||||
$self->send_response($req, $url_rec, $con);
|
||||
} else {
|
||||
print STDERR "Requested wrong URL: ", $url_path, "\n" if $log;
|
||||
$con->send_error($HTTP::Status::RC_FORBIDDEN);
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
print STDERR "Closing connection\n" if $log;
|
||||
$con->close;
|
||||
|
@ -13,7 +13,7 @@ my $VERSION = 0.01;
|
||||
{
|
||||
my %_attr_data = ( # DEFAULT
|
||||
);
|
||||
|
||||
|
||||
sub _default_for
|
||||
{
|
||||
my ($self, $attr) = @_;
|
||||
@ -21,13 +21,13 @@ my $VERSION = 0.01;
|
||||
return $self->SUPER::_default_for($attr);
|
||||
}
|
||||
|
||||
sub _standard_keys
|
||||
sub _standard_keys
|
||||
{
|
||||
my ($self) = @_;
|
||||
($self->SUPER::_standard_keys(), keys %_attr_data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
sub _setup_server {
|
||||
my $self = shift;
|
||||
|
@ -26,14 +26,14 @@ my @unexpected_downloads = ();
|
||||
_name => "",
|
||||
_output => {},
|
||||
);
|
||||
|
||||
|
||||
sub _default_for
|
||||
{
|
||||
my ($self, $attr) = @_;
|
||||
$_attr_data{$attr};
|
||||
}
|
||||
|
||||
sub _standard_keys
|
||||
sub _standard_keys
|
||||
{
|
||||
keys %_attr_data;
|
||||
}
|
||||
@ -70,29 +70,29 @@ sub new {
|
||||
sub run {
|
||||
my $self = shift;
|
||||
my $result_message = "Test successful.\n";
|
||||
|
||||
|
||||
printf "Running test $self->{_name}\n";
|
||||
|
||||
# Setup
|
||||
|
||||
# Setup
|
||||
$self->_setup();
|
||||
chdir ("$self->{_workdir}/$self->{_name}/input");
|
||||
|
||||
|
||||
# Launch server
|
||||
my $pid = $self->_fork_and_launch_server();
|
||||
|
||||
|
||||
# Call wget
|
||||
chdir ("$self->{_workdir}/$self->{_name}/output");
|
||||
my $cmdline = $self->{_cmdline};
|
||||
$cmdline = $self->_substitute_port($cmdline);
|
||||
print "Calling $cmdline\n";
|
||||
my $errcode =
|
||||
($cmdline =~ m{^/.*})
|
||||
my $errcode =
|
||||
($cmdline =~ m{^/.*})
|
||||
? system ($cmdline)
|
||||
: system ("$self->{_workdir}/../src/$cmdline");
|
||||
|
||||
# Shutdown server
|
||||
# if we didn't explicitely kill the server, we would have to call
|
||||
# waitpid ($pid, 0) here in order to wait for the child process to
|
||||
# if we didn't explicitely kill the server, we would have to call
|
||||
# waitpid ($pid, 0) here in order to wait for the child process to
|
||||
# terminate
|
||||
kill ('TERM', $pid);
|
||||
|
||||
@ -124,11 +124,11 @@ sub _setup {
|
||||
chdir ($self->{_name});
|
||||
mkdir ("input");
|
||||
mkdir ("output");
|
||||
|
||||
|
||||
# Setup existing files
|
||||
chdir ("output");
|
||||
foreach my $filename (keys %{$self->{_existing}}) {
|
||||
open (FILE, ">$filename")
|
||||
open (FILE, ">$filename")
|
||||
or return "Test failed: cannot open pre-existing file $filename\n";
|
||||
|
||||
my $file = $self->{_existing}->{$filename};
|
||||
@ -141,8 +141,8 @@ sub _setup {
|
||||
utime $file->{timestamp}, $file->{timestamp}, $filename
|
||||
or return "Test failed: cannot set timestamp on pre-existing file $filename\n";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
chdir ("../input");
|
||||
$self->_setup_server();
|
||||
|
||||
@ -162,15 +162,15 @@ sub _verify_download {
|
||||
my $self = shift;
|
||||
|
||||
chdir ("$self->{_workdir}/$self->{_name}/output");
|
||||
|
||||
|
||||
# use slurp mode to read file content
|
||||
my $old_input_record_separator = $/;
|
||||
undef $/;
|
||||
|
||||
|
||||
while (my ($filename, $filedata) = each %{$self->{_output}}) {
|
||||
open (FILE, $filename)
|
||||
open (FILE, $filename)
|
||||
or return "Test failed: file $filename not downloaded\n";
|
||||
|
||||
|
||||
my $content = <FILE>;
|
||||
my $expected_content = $filedata->{'content'};
|
||||
$expected_content = $self->_substitute_port($expected_content);
|
||||
@ -181,20 +181,20 @@ sub _verify_download {
|
||||
my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
|
||||
$atime, $mtime, $ctime, $blksize, $blocks) = stat FILE;
|
||||
|
||||
$mtime == $filedata->{'timestamp'}
|
||||
$mtime == $filedata->{'timestamp'}
|
||||
or return "Test failed: wrong timestamp for file $filename\n";
|
||||
}
|
||||
|
||||
|
||||
close (FILE);
|
||||
}
|
||||
|
||||
$/ = $old_input_record_separator;
|
||||
}
|
||||
|
||||
$/ = $old_input_record_separator;
|
||||
|
||||
# make sure no unexpected files were downloaded
|
||||
chdir ("$self->{_workdir}/$self->{_name}/output");
|
||||
|
||||
__dir_walk('.', sub { push @unexpected_downloads, $_[0] unless (exists $self->{_output}{$_[0]}) }, sub { shift; return @_ } );
|
||||
if (@unexpected_downloads) {
|
||||
if (@unexpected_downloads) {
|
||||
return "Test failed: unexpected downloaded files [" . join(', ', @unexpected_downloads) . "]\n";
|
||||
}
|
||||
|
||||
@ -228,7 +228,7 @@ sub __dir_walk {
|
||||
}
|
||||
|
||||
|
||||
sub _fork_and_launch_server
|
||||
sub _fork_and_launch_server
|
||||
{
|
||||
my $self = shift;
|
||||
|
||||
@ -239,7 +239,7 @@ sub _fork_and_launch_server
|
||||
if ($pid < 0) {
|
||||
die "Cannot fork";
|
||||
} elsif ($pid == 0) {
|
||||
# child
|
||||
# child
|
||||
close FROM_CHILD;
|
||||
$self->_launch_server(sub { print TO_PARENT "SYNC\n"; close TO_PARENT });
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user