From 5eea336d013f4c12e3c57b6a21eed3a207c12f24 Mon Sep 17 00:00:00 2001 From: Steve Holme Date: Sat, 31 Aug 2013 11:10:20 +0100 Subject: ftpserver.pl: Corrected flawed logic in commit 1ca6ed7b75cad0 --- tests/ftpserver.pl | 79 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 38 deletions(-) (limited to 'tests/ftpserver.pl') diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl index 7a52f962f..489c3f141 100755 --- a/tests/ftpserver.pl +++ b/tests/ftpserver.pl @@ -816,54 +816,57 @@ sub SELECT_imap { sub FETCH_imap { my ($args) = @_; my ($uid, $how) = split(/ /, $args, 2); - my @data; - my $size; fix_imap_params($uid, $how); logmsg "FETCH_imap got $args\n"; - if($selected eq "verifiedserver") { - # this is the secret command that verifies that this actually is - # the curl test server - my $response = "WE ROOLZ: $$\r\n"; - if($verbose) { - print STDERR "FTPD: We returned proof we are the test server\n"; - } - $data[0] = $response; - logmsg "return proof we are we\n"; - } - elsif ($selected eq "") { + if ($selected eq "") { sendcontrol "$cmdid BAD Command received in Invalid state\r\n"; } else { - logmsg "retrieve a mail\n"; - - my $testno = $selected; - $testno =~ s/^([^0-9]*)//; - my $testpart = ""; - if ($testno > 10000) { - $testpart = $testno % 10000; - $testno = int($testno / 10000); + my @data; + my $size; + + if($selected eq "verifiedserver") { + # this is the secret command that verifies that this actually is + # the curl test server + my $response = "WE ROOLZ: $$\r\n"; + if($verbose) { + print STDERR "FTPD: We returned proof we are the test server\n"; + } + $data[0] = $response; + logmsg "return proof we are we\n"; } + else { + logmsg "retrieve a mail\n"; + + my $testno = $selected; + $testno =~ s/^([^0-9]*)//; + my $testpart = ""; + if ($testno > 10000) { + $testpart = $testno % 10000; + $testno = int($testno / 10000); + } - # send mail content - loadtest("$srcdir/data/test$testno"); + # send mail content + loadtest("$srcdir/data/test$testno"); - @data = getpart("reply", "data$testpart"); - } + @data = getpart("reply", "data$testpart"); + } - for (@data) { - $size += length($_); - } + for (@data) { + $size += length($_); + } - sendcontrol "* $uid FETCH ($how {$size}\r\n"; + sendcontrol "* $uid FETCH ($how {$size}\r\n"; - for my $d (@data) { - sendcontrol $d; - } + for my $d (@data) { + sendcontrol $d; + } - sendcontrol ")\r\n"; - sendcontrol "$cmdid OK FETCH completed\r\n"; + sendcontrol ")\r\n"; + sendcontrol "$cmdid OK FETCH completed\r\n"; + } return 0; } @@ -973,7 +976,10 @@ sub LIST_imap { logmsg "LIST_imap got $args\n"; - if ($reference eq "verifiedserver") { + if ($reference eq "") { + sendcontrol "$cmdid BAD Command Argument\r\n"; + } + elsif ($reference eq "verifiedserver") { # this is the secret command that verifies that this actually is # the curl test server sendcontrol "* LIST () \"/\" \"WE ROOLZ: $$\"\r\n"; @@ -985,9 +991,6 @@ sub LIST_imap { logmsg "return proof we are we\n"; } - elsif ($reference eq "") { - sendcontrol "$cmdid BAD Command Argument\r\n"; - } else { my $testno = $reference; -- cgit v1.2.3