From 408fc8c90d4486e03f161a62237ffb19c8e961a3 Mon Sep 17 00:00:00 2001 From: alec Date: Mon, 27 Jun 2011 16:27:11 +0000 Subject: - Fix handling of untagged responses in LIST/LSUB response parser git-svn-id: https://svn.roundcube.net/trunk@4885 208e9e7b-5314-0410-a742-e7e81cd9613c --- roundcubemail/program/include/rcube_imap_generic.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'roundcubemail/program/include') diff --git a/roundcubemail/program/include/rcube_imap_generic.php b/roundcubemail/program/include/rcube_imap_generic.php index 59e314c1a..02211aa79 100644 --- a/roundcubemail/program/include/rcube_imap_generic.php +++ b/roundcubemail/program/include/rcube_imap_generic.php @@ -2180,7 +2180,7 @@ class rcube_imap_generic while ($this->tokenizeResponse($response, 1) == '*') { $cmd = strtoupper($this->tokenizeResponse($response, 1)); // * LIST () - 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; -- cgit v1.2.3