diff options
author | Aleksander Machniak <alec@alec.pl> | 2014-05-27 14:44:52 +0200 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2014-05-27 14:44:52 +0200 |
commit | 5bf83d551e3c748b8ba37ad6459a505730ec9877 (patch) | |
tree | 8bf0ac1b488899a081506eefa599279e2815a5fc | |
parent | a3e01c0517ff345dcae04f9b0cb16d3f29acd2e1 (diff) |
Fix unintentional line-height style modification in HTML messages (#1489917)
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/lib/Roundcube/rcube_washtml.php | 2 | ||||
-rw-r--r-- | tests/Framework/Washtml.php | 14 |
3 files changed, 16 insertions, 1 deletions
@@ -29,6 +29,7 @@ CHANGELOG Roundcube Webmail - Fix incorrect handling of HTML comments in messages sanitization code (#1489904) - Fix so current page is reset on list-mode change (#1489907) - Fix so responses menu hides on click in classic skin (#1489915) +- Fix unintentional line-height style modification in HTML messages (#1489917) RELEASE 1.0.1 ------------- diff --git a/program/lib/Roundcube/rcube_washtml.php b/program/lib/Roundcube/rcube_washtml.php index 5f40eecf4..984294376 100644 --- a/program/lib/Roundcube/rcube_washtml.php +++ b/program/lib/Roundcube/rcube_washtml.php @@ -206,7 +206,7 @@ class rcube_washtml $value .= ' ' . $val; // #1488535: Fix size units, so width:800 would be changed to width:800px - if (preg_match('/(left|right|top|bottom|width|height)/i', $cssid) + if (preg_match('/^(left|right|top|bottom|width|height)/i', $cssid) && preg_match('/^[0-9]+$/', $val) ) { $value .= 'px'; diff --git a/tests/Framework/Washtml.php b/tests/Framework/Washtml.php index 5c15c692c..f041504d7 100644 --- a/tests/Framework/Washtml.php +++ b/tests/Framework/Washtml.php @@ -169,4 +169,18 @@ class Framework_Washtml extends PHPUnit_Framework_TestCase $this->assertRegExp('|style="font-family: 新細明體; color: red"|', $washed, "Unicode chars in style attribute (#1489697)"); } + + /** + * Test style item fixes + */ + function test_style_wash() + { + $html = "<p style=\"line-height: 1; height: 10\">a</p>"; + + $washer = new rcube_washtml; + $washed = $washer->wash($html); + + $this->assertRegExp('|line-height: 1;|', $washed, "Untouched line-height (#1489917)"); + $this->assertRegExp('|; height: 10px|', $washed, "Fixed height units"); + } } |