Skip to content

Commit e4b1db2

Browse files
author
Marius Cramer
committed
Fixed missing escape of " in sieve rules
1 parent d90ab94 commit e4b1db2

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

interface/lib/plugins/mail_user_filter_plugin.inc.php

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,22 @@ private function mail_user_filter_get_rule($page_form) {
141141
$content .= 'if header :regex ["'.strtolower($page_form->dataRecord["source"]).'"] ["';
142142

143143
$searchterm = preg_quote($page_form->dataRecord["searchterm"]);
144-
$searchterm = str_replace('\\[', '\\\\[', $searchterm);
145-
$searchterm = str_replace('\\]', '\\\\]', $searchterm);
144+
$searchterm = str_replace(
145+
array(
146+
'"',
147+
'\\[',
148+
'\\]'
149+
),
150+
array(
151+
'\\"',
152+
'\\\\[',
153+
'\\\\]'
154+
), $searchterm);
146155

147156
if($page_form->dataRecord["op"] == 'contains') {
148157
$content .= ".*".$searchterm;
149158
} elseif ($page_form->dataRecord["op"] == 'is') {
150-
$content .= $searchterm."$";
159+
$content .= "^".$searchterm."$";
151160
} elseif ($page_form->dataRecord["op"] == 'begins') {
152161
$content .= " ".$searchterm."";
153162
} elseif ($page_form->dataRecord["op"] == 'ends') {

0 commit comments

Comments
 (0)