]> granicus.if.org Git - curl/commitdiff
imap test server: Added support for the CAPABILITY command
authorSteve Holme <steve_holme@hotmail.com>
Fri, 4 Jan 2013 13:15:10 +0000 (13:15 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Fri, 4 Jan 2013 13:15:10 +0000 (13:15 +0000)
Added support for the CAPABILITY command in preparation of upcoming
changes.

tests/ftpserver.pl

index 45b343635df6750bba231e7ed22515a0fbab1044..46f4774b997e2d5cc26293690c1dd539e9d6de5b 100755 (executable)
@@ -579,6 +579,7 @@ sub protocolsetup {
     }
     elsif($proto eq 'imap') {
         %commandfunc = (
+            'CAPABILITY' => \&CAPABILITY_imap,
             'FETCH'  => \&FETCH_imap,
             'SELECT' => \&SELECT_imap,
         );
@@ -759,7 +760,28 @@ my $cmdid;
 # what was picked by SELECT
 my $selected;
 
-sub SELECT_imap {
+sub CAPABILITY_imap {
+    my ($testno) = @_;
+    my $data;
+
+    if(!$support_capa) {
+        sendcontrol "$cmdid BAD Command\r\n";
+    }
+    else {
+        $data = "* CAPABILITY IMAP4";
+        if($support_auth) {
+            $data .= " AUTH=UNKNOWN";
+        }
+        $data .= " pingpong test server\r\n";
+
+        sendcontrol $data;
+        sendcontrol "$cmdid OK CAPABILITY completed\r\n";
+    }
+
+    return 0;
+}
+
+sub SELECT_IMAP {
     my ($testno) = @_;
     my @data;
     my $size;
@@ -771,7 +793,6 @@ sub SELECT_imap {
     return 0;
 }
 
-
 sub FETCH_imap {
      my ($testno) = @_;
      my @data;