summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-10-26 08:30:50 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-10-26 08:30:50 +0000
commita4455939ad3358a0fccfd5af97630638bbdec76f (patch)
tree48f55cf28c5d00166b9aee21d10bef33b662a3d2
parentdc24a842bf911558df9a22aea7b59f1bbd49becf (diff)
- Fix auth capabilty checks ignore welcome banner CAPABILITY string (#1487081)
git-svn-id: https://svn.roundcube.net/trunk@4136 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/program/include/rcube_imap_generic.php7
1 files changed, 6 insertions, 1 deletions
diff --git a/roundcubemail/program/include/rcube_imap_generic.php b/roundcubemail/program/include/rcube_imap_generic.php
index d51b8cfbe..82018c9fb 100644
--- a/roundcubemail/program/include/rcube_imap_generic.php
+++ b/roundcubemail/program/include/rcube_imap_generic.php
@@ -747,6 +747,7 @@ class rcube_imap_generic
// RFC3501 [7.1] optional CAPABILITY response
if (preg_match('/\[CAPABILITY ([^]]+)\]/i', $line, $matches)) {
$this->parseCapability($matches[1]);
+ $this->capability_readed = true;
}
$this->message .= $line;
@@ -765,7 +766,7 @@ class rcube_imap_generic
return false;
}
- // Now we're authenticated, capabilities need to be reread
+ // Now we're secure, capabilities need to be reread
$this->clearCapability();
}
}
@@ -817,7 +818,11 @@ class rcube_imap_generic
// Connected and authenticated
if (is_resource($result)) {
if ($this->prefs['force_caps']) {
+ // forget current capabilities
$this->clearCapability();
+ } else {
+ // pre-login capabilities can be not complete
+ $this->capability_readed = false;
}
$this->getRootDir();
$this->logged = true;