Commit f2403140 authored by Steve Holme's avatar Steve Holme
Browse files

ftpserver.pl: Added support for LSUB command

parent f3c9749a
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
@@ -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);