diff options
-rwxr-xr-x | tests/ftpserver.pl | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl index 6f099b105..075e02e77 100755 --- a/tests/ftpserver.pl +++ b/tests/ftpserver.pl @@ -1556,16 +1556,21 @@ sub UIDL_pop3 { "3 4\r\n", # Note that UID 3 is a simulated "deleted" message ); - logmsg "retrieve a message UID list\n"; + if (!grep /^UIDL$/, @capabilities) { + sendcontrol "-ERR Unrecognized command\r\n"; + } + else { + logmsg "retrieve a message UID list\n"; - sendcontrol "+OK Listing starts\r\n"; + sendcontrol "+OK Listing starts\r\n"; - for my $d (@data) { - sendcontrol $d; - } + for my $d (@data) { + sendcontrol $d; + } - # End with the magic 3-byte end of listing marker - sendcontrol ".\r\n"; + # End with the magic 3-byte end of listing marker + sendcontrol ".\r\n"; + } return 0; } @@ -1576,7 +1581,10 @@ sub TOP_pop3 { logmsg "TOP_pop3 got $args\n"; - if (($msg eq "") || ($lines eq "")) { + if (!grep /^TOP$/, @capabilities) { + sendcontrol "-ERR Unrecognized command\r\n"; + } + elsif ((!$msg) || (!$lines)) { sendcontrol "-ERR Protocol error\r\n"; } else { |