alecpl
2010-12-08 4064452816e7e94b7a6dbc7b02cfc56d725408b2
- Fix handling of untagged responses for AUTHENTICATE command (#1487450) 


2 files modified
12 ■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/include/rcube_imap_generic.php 11 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -18,6 +18,7 @@
- Improve performance of folder rename and delete actions
- Better support for READ-ONLY and NOPERM responses handling (#1487083)
- Add confirmation message on purge/expunge command response
- Fix handling of untagged responses for AUTHENTICATE command (#1487450)
RELEASE 0.5-BETA
----------------
program/include/rcube_imap_generic.php
@@ -282,7 +282,6 @@
        return $data;
    }
    // don't use it in loops, until you exactly know what you're doing
    function readReply(&$untagged=null)
    {
        do {
@@ -421,7 +420,7 @@
            }
            $this->putLine($this->nextTag() . " AUTHENTICATE $type");
            $line = trim($this->readLine(1024));
            $line = trim($this->readReply());
            if ($line[0] == '+') {
                $challenge = substr($line, 2);
@@ -471,7 +470,7 @@
                // send result
                $this->putLine($reply);
                $line = $this->readLine(1024);
                $line = trim($this->readReply());
                if ($line[0] == '+') {
                    $challenge = substr($line, 2);
@@ -491,7 +490,7 @@
                $this->putLine('');
            }
            $line = $this->readLine(1024);
            $line = $this->readReply();
            $result = $this->parseResult($line);
        }
        else { // PLAIN
@@ -513,7 +512,7 @@
            }
            else {
                $this->putLine($this->nextTag() . " AUTHENTICATE PLAIN");
                $line = trim($this->readLine(1024));
                $line = trim($this->readReply());
                if ($line[0] != '+') {
                    return $this->parseResult($line);
@@ -521,7 +520,7 @@
                // send result, get reply and process it
                $this->putLine($reply);
                $line = $this->readLine(1024);
                $line = $this->readReply();
                $result = $this->parseResult($line);
            }
        }