]> granicus.if.org Git - curl/commitdiff
ftpserver.pl: Added support for IMAP SEARCH command
authorSteve Holme <steve_holme@hotmail.com>
Tue, 27 Aug 2013 19:47:31 +0000 (20:47 +0100)
committerSteve Holme <steve_holme@hotmail.com>
Tue, 27 Aug 2013 19:47:31 +0000 (20:47 +0100)
tests/ftpserver.pl

index c32165b620b80c8733f32a8755bab5eebe5d4c31..0e4a7bce64f5db1c8168c0d3ea62dd2deb890389 100755 (executable)
@@ -582,6 +582,7 @@ sub protocolsetup {
             'FETCH'  => \&FETCH_imap,
             'LIST'   => \&LIST_imap,
             'LOGOUT'   => \&LOGOUT_imap,
+            'SEARCH'  => \&SEARCH_imap,
             'SELECT' => \&SELECT_imap,
             'STATUS'  => \&STATUS_imap,
             'STORE'  => \&STORE_imap
@@ -1031,6 +1032,32 @@ sub STATUS_imap {
     return 0;
 }
 
+sub SEARCH_imap {
+    my ($testno) = @_;
+    fix_imap_params($testno);
+
+    logmsg "SEARCH_imap got test $testno\n";
+
+    $testno =~ s/[^0-9]//g;
+    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 SEARCH completed\r\n";
+
+    return 0;
+}
+
 sub LOGOUT_imap {
     sendcontrol "* BYE cURL IMAP server signing off\r\n";
     sendcontrol "$cmdid OK LOGOUT completed\r\n";