diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-09-07 07:53:01 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-09-07 07:53:01 +0000 |
| commit | 5faf94e01714e4b4e724187b0b81fa5a239b4982 (patch) | |
| tree | 8ec10bf72a85116e1c10a95f653a223ca4eb5e6c | |
| parent | c5ff2013b3e84229d55323f2b13e9cdf404c9fa2 (diff) | |
- Fix roundcube hangs on empty inbox with bincimapd (#1486093)
git-svn-id: https://svn.roundcube.net/trunk@2929 208e9e7b-5314-0410-a742-e7e81cd9613c
| -rw-r--r-- | roundcubemail/CHANGELOG | 1 | ||||
| -rw-r--r-- | roundcubemail/program/include/rcube_imap.php | 6 | ||||
| -rw-r--r-- | roundcubemail/program/lib/imap.inc | 10 |
3 files changed, 10 insertions, 7 deletions
diff --git a/roundcubemail/CHANGELOG b/roundcubemail/CHANGELOG index af6306df6..aff6dadd8 100644 --- a/roundcubemail/CHANGELOG +++ b/roundcubemail/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG RoundCube Webmail =========================== +- Fix roundcube hangs on empty inbox with bincimapd (#1486093) - Fix wrong headers for IE on servers without $_SERVER['HTTPS'] (#1485926) - Force IE style headers for attachments in non-HTTPS session, 'use_https' option (#1485655) - Check 'post_max_size' for upload max filesize (#1486089) diff --git a/roundcubemail/program/include/rcube_imap.php b/roundcubemail/program/include/rcube_imap.php index 3d8cb84b8..f1729311b 100644 --- a/roundcubemail/program/include/rcube_imap.php +++ b/roundcubemail/program/include/rcube_imap.php @@ -2228,8 +2228,10 @@ class rcube_imap $msg_count = $this->_messagecount($mailbox); $cache_count = count($cache_index); - // console("Cache check: $msg_count !== ".count($cache_index)); - + // empty mailbox + if (!$msg_count) + return $cache_count ? -2 : 1; + if ($cache_count==$msg_count) { if ($this->skip_deleted) { $h_index = iil_C_FetchHeaderIndex($this->conn, $mailbox, "1:*", 'UID', $this->skip_deleted); diff --git a/roundcubemail/program/lib/imap.inc b/roundcubemail/program/lib/imap.inc index 02c9bd9b5..c640c56e4 100644 --- a/roundcubemail/program/lib/imap.inc +++ b/roundcubemail/program/lib/imap.inc @@ -1510,11 +1510,11 @@ function iil_C_FetchHeaders(&$conn, $mailbox, $message_set, $uidfetch=false, $bo preg_match('/ BODY\[HEADER.FIELDS \(.*?\)\]\s*(.*)$/s', $line, $m); $reslines = explode("\n", trim($m[1], '"')); // re-parse (see below) - foreach ($reslines as $line) { - if (ord($line[0])<=32) { - $lines[$ln] .= (empty($lines[$ln])?'':"\n").trim($line); + foreach ($reslines as $resln) { + if (ord($resln[0])<=32) { + $l[$ln] .= (empty($lines[$ln])?'':"\n").trim($resln); } else { - $lines[++$ln] = trim($line); + $lines[++$ln] = trim($resln); } } } @@ -1668,7 +1668,7 @@ function iil_C_FetchHeaders(&$conn, $mailbox, $message_set, $uidfetch=false, $bo } } } - } while (strcmp($a[0], $key) != 0); + } while (!iil_StartsWith($line, $key, true)); return $result; } |
