- Fix handling of untagged responses in LIST/LSUB response parser

release-0.6
alecpl 14 years ago
parent 44143c5847
commit 0891b1d2ec

@ -2180,7 +2180,7 @@ class rcube_imap_generic
while ($this->tokenizeResponse($response, 1) == '*') {
$cmd = strtoupper($this->tokenizeResponse($response, 1));
// * LIST (<options>) <delimiter> <mailbox>
if (!$lstatus || $cmd == 'LIST' || $cmd == 'LSUB') {
if ($cmd == 'LIST' || $cmd == 'LSUB') {
list($opts, $delim, $mailbox) = $this->tokenizeResponse($response, 3);
// Add to result array
@ -2209,6 +2209,14 @@ class rcube_imap_generic
$folders[$mailbox][$name] = $value;
}
}
// other untagged response line, skip it
else {
$response = ltrim($response);
if (($position = strpos($response, "\n")) !== false)
$response = substr($response, $position+1);
else
$response = '';
}
}
return $folders;

Loading…
Cancel
Save