alecpl
2009-09-07 4a63f1efaff83dd03e663ed1a432a15dc0100be3
- Fix roundcube hangs on empty inbox with bincimapd (#1486093)


3 files modified
15 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/include/rcube_imap.php 4 ●●● patch | view | raw | blame | history
program/lib/imap.inc 10 ●●●● patch | view | raw | blame | history
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) 
program/include/rcube_imap.php
@@ -2228,7 +2228,9 @@
    $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) {
program/lib/imap.inc
@@ -1510,11 +1510,11 @@
                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 @@
                }
            }
        }
    } while (strcmp($a[0], $key) != 0);
    } while (!iil_StartsWith($line, $key, true));
    return $result;
}