aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2013-09-15 00:34:58 +0100
committerSteve Holme <steve_holme@hotmail.com>2013-09-15 09:00:13 +0100
commite9cca79dd1d38f94fdecf7af4b1a8a5512207913 (patch)
tree91ef2835eff4d6cc54db94e6b7563af8e2228baf
parent4ba3b6c05a33b8b4fb7a74b8286022d24be7aa25 (diff)
ftpserver.pl: Added mailbox check to IMAP SELECT handler
-rwxr-xr-xtests/ftpserver.pl33
1 files changed, 19 insertions, 14 deletions
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index 3fffcd7a6..c1df82408 100755
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -844,22 +844,27 @@ sub LOGIN_imap {
}
sub SELECT_imap {
- my ($testno) = @_;
- fix_imap_params($testno);
-
- logmsg "SELECT_imap got test $testno\n";
+ my ($mailbox) = @_;
+ fix_imap_params($mailbox);
- # Example from RFC 3501, 6.3.1. SELECT Command
- sendcontrol "* 172 EXISTS\r\n";
- sendcontrol "* 1 RECENT\r\n";
- sendcontrol "* OK [UNSEEN 12] Message 12 is first unseen\r\n";
- sendcontrol "* OK [UIDVALIDITY 3857529045] UIDs valid\r\n";
- sendcontrol "* OK [UIDNEXT 4392] Predicted next UID\r\n";
- sendcontrol "* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n";
- sendcontrol "* OK [PERMANENTFLAGS (\\Deleted \\Seen \\*)] Limited\r\n";
- sendcontrol "$cmdid OK [READ-WRITE] SELECT completed\r\n";
+ logmsg "SELECT_imap got test $mailbox\n";
- $selected = $testno;
+ if($mailbox eq "") {
+ sendcontrol "$cmdid BAD Command Argument\r\n";
+ }
+ else {
+ # Example from RFC 3501, 6.3.1. SELECT Command
+ sendcontrol "* 172 EXISTS\r\n";
+ sendcontrol "* 1 RECENT\r\n";
+ sendcontrol "* OK [UNSEEN 12] Message 12 is first unseen\r\n";
+ sendcontrol "* OK [UIDVALIDITY 3857529045] UIDs valid\r\n";
+ sendcontrol "* OK [UIDNEXT 4392] Predicted next UID\r\n";
+ sendcontrol "* FLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)\r\n";
+ sendcontrol "* OK [PERMANENTFLAGS (\\Deleted \\Seen \\*)] Limited\r\n";
+ sendcontrol "$cmdid OK [READ-WRITE] SELECT completed\r\n";
+
+ $selected = $mailbox;
+ }
return 0;
}