diff options
author | alecpl <alec@alec.pl> | 2010-10-26 08:30:50 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2010-10-26 08:30:50 +0000 |
commit | 3353fdcbb4b1e82269d532fb230d7a1d807b092e (patch) | |
tree | d3ff9b0ae51ae5ec131af3c86e633ec46991e8cc | |
parent | 537b575ad17152d6b9940c31f4af17fdf59ce04f (diff) |
- Fix auth capabilty checks ignore welcome banner CAPABILITY string (#1487081)
-rw-r--r-- | program/include/rcube_imap_generic.php | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php index d51b8cfbe..82018c9fb 100644 --- a/program/include/rcube_imap_generic.php +++ b/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; |