summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2011-02-02 11:55:16 +0000
committeralecpl <alec@alec.pl>2011-02-02 11:55:16 +0000
commitb2442d93ef8cad6f1e723be95ec639130b25ff68 (patch)
tree2dce388e0ff996b7812a4bf8709f66449a464ba2
parentef4f591a1d6c348d6236f39a061071457ec192e4 (diff)
- Fix parsing FETCH response for very long headers (#1487753)
-rw-r--r--CHANGELOG1
-rw-r--r--program/include/rcube_imap_generic.php4
2 files changed, 3 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 28d361a1f..d13a99a79 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix parsing FETCH response for very long headers (#1487753)
- Fix add/remove columns in message list when message_sort_order isn't set (#1487751)
- Check mime headers before attempt to parse them (#1487745)
- Quote header values in show_additional_headers plugin (#1487744)
diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php
index b4f01a9e2..e8b1fd4b4 100644
--- a/program/include/rcube_imap_generic.php
+++ b/program/include/rcube_imap_generic.php
@@ -1494,7 +1494,7 @@ class rcube_imap_generic
// INTERNALDATE "16-Nov-2008 21:08:46 +0100" BODYSTRUCTURE (...)
// BODY[HEADER.FIELDS ...
- if (preg_match('/^\* [0-9]+ FETCH \((.*) BODY/s', $line, $matches)) {
+ if (preg_match('/^\* [0-9]+ FETCH \((.*) BODY/sU', $line, $matches)) {
$str = $matches[1];
// swap parents with quotes, then explode
@@ -1531,7 +1531,7 @@ class rcube_imap_generic
// BODYSTRUCTURE
if ($bodystr) {
- while (!preg_match('/ BODYSTRUCTURE (.*) BODY\[HEADER.FIELDS/s', $line, $m)) {
+ while (!preg_match('/ BODYSTRUCTURE (.*) BODY\[HEADER.FIELDS/sU', $line, $m)) {
$line2 = $this->readLine(1024);
$line .= $this->multLine($line2, true);
}