From ac93924b1f7b90afea4b92bf352120df67538ea5 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 19 Feb 2015 10:44:36 -0500
Subject: [PATCH] Fix handling of some improper constructs in format=flowed text as per the RFC3676[4.5] (#1490284)
---
CHANGELOG | 1 +
tests/Framework/Mime.php | 15 +++++++++++++++
program/lib/Roundcube/rcube_mime.php | 2 +-
3 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index 1933a07..474117f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -3,6 +3,7 @@
- Make SMTP error log more verbose - include server response and error code
- Fix security issue in DBMail driver of password plugin (#1490261)
+- Fix handling of some improper constructs in format=flowed text as per the RFC3676[4.5] (#1490284)
RELEASE 1.0.5
-------------
diff --git a/program/lib/Roundcube/rcube_mime.php b/program/lib/Roundcube/rcube_mime.php
index 4d43a89..7936a41 100644
--- a/program/lib/Roundcube/rcube_mime.php
+++ b/program/lib/Roundcube/rcube_mime.php
@@ -523,7 +523,7 @@
// remove space-stuffing
$line = preg_replace('/^\s/', '', $line);
- if (isset($text[$last]) && $line
+ if (isset($text[$last]) && $line && !$q_level
&& $text[$last] != '-- '
&& $text[$last][strlen($text[$last])-1] == ' '
) {
diff --git a/tests/Framework/Mime.php b/tests/Framework/Mime.php
index 43773f1..4cf84cb 100644
--- a/tests/Framework/Mime.php
+++ b/tests/Framework/Mime.php
@@ -156,6 +156,21 @@
}
/**
+ * Test format=flowed unfolding (#1490284)
+ */
+ function test_unfold_flowed2()
+ {
+ $flowed = "> culpa qui officia deserunt mollit anim id est laborum.\r\n"
+ ."> \r\n"
+ ."Sed ut perspiciatis unde omnis iste natus error \r\nsit voluptatem";
+ $unfolded = "> culpa qui officia deserunt mollit anim id est laborum.\r\n"
+ ."> \r\n"
+ ."Sed ut perspiciatis unde omnis iste natus error sit voluptatem";
+
+ $this->assertEquals($unfolded, rcube_mime::unfold_flowed($flowed), "Test correct unfolding of quoted lines [2]");
+ }
+
+ /**
* Test wordwrap()
*/
function test_wordwrap()
--
Gitblit v1.9.1