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