ftpserver.pl: Added support for LSUB command

This commit is contained in:
Steve Holme
2013-09-11 20:19:09 +01:00
parent f3c9749a40
commit f2403140f9

View File

@@ -593,6 +593,7 @@ sub protocolsetup {
'EXPUNGE' => \&EXPUNGE_imap,
'FETCH' => \&FETCH_imap,
'LIST' => \&LIST_imap,
'LSUB' => \&LSUB_imap,
'LOGOUT' => \&LOGOUT_imap,
'RENAME' => \&RENAME_imap,
'SEARCH' => \&SEARCH_imap,
@@ -1041,6 +1042,40 @@ sub LIST_imap {
return 0;
}
sub LSUB_imap {
my ($args) = @_;
my ($reference, $mailbox) = split(/ /, $args, 2);
fix_imap_params($reference, $mailbox);
logmsg "LSUB_imap got $args\n";
if ($reference eq "") {
sendcontrol "$cmdid BAD Command Argument\r\n";
}
else {
my $testno = $reference;
$testno =~ s/^([^0-9]*)//;
my $testpart = "";
if ($testno > 10000) {
$testpart = $testno % 10000;
$testno = int($testno / 10000);
}
loadtest("$srcdir/data/test$testno");
my @data = getpart("reply", "data$testpart");
for my $d (@data) {
sendcontrol $d;
}
sendcontrol "$cmdid OK LSUB Completed\r\n";
}
return 0;
}
sub EXAMINE_imap {
my ($testno) = @_;
fix_imap_params($testno);