]> granicus.if.org Git - curl/commitdiff
ftpserver.pl: Added EXAMINE_imap() for IMAP EXAMINE commands
authorSteve Holme <steve_holme@hotmail.com>
Thu, 14 Mar 2013 22:49:57 +0000 (22:49 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Thu, 14 Mar 2013 22:49:57 +0000 (22:49 +0000)
Used hard coded data from RFC-3501 section 6.3.2.

tests/ftpserver.pl

index 7900dcdbaa0d4292b35323861d79762d3d57ead0..23af6f85feff7f4157d805eee29a0a98e4e6bc6b 100755 (executable)
@@ -581,6 +581,7 @@ sub protocolsetup {
         %commandfunc = (
             'APPEND' => \&APPEND_imap,
             'CAPABILITY' => \&CAPABILITY_imap,
+            'EXAMINE' => \&EXAMINE_imap,
             'FETCH'  => \&FETCH_imap,
             'LIST'   => \&LIST_imap,
             'SELECT' => \&SELECT_imap,
@@ -989,6 +990,25 @@ sub LIST_imap {
     return 0;
 }
 
+sub EXAMINE_imap {
+    my ($testno) = @_;
+    fix_imap_params($testno);
+
+    logmsg "EXAMINE_imap got test $testno\n";
+
+    # Example from RFC 3501, 6.3.2. EXAMINE Command
+    sendcontrol "* 17 EXISTS\r\n";
+    sendcontrol "* 2 RECENT\r\n";
+    sendcontrol "* OK [UNSEEN 8] Message 8 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 ()] No permanent flags permitted\r\n";
+    sendcontrol "$cmdid OK [READ-ONLY] EXAMINE completed\r\n";
+
+    return 0;
+}
+
 ################
 ################ POP3 commands
 ################