From b708a522a10d0eb943d25702e67f725200327431 Mon Sep 17 00:00:00 2001
From: Steve Holme <steve_holme@hotmail.com>
Date: Fri, 4 Jan 2013 13:15:10 +0000
Subject: [PATCH] imap test server: Added support for the CAPABILITY command

Added support for the CAPABILITY command in preparation of upcoming
changes.
---
 tests/ftpserver.pl | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index 45b343635d..46f4774b99 100755
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -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;
-- 
GitLab