aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libutil/regexp.c6
-rw-r--r--test/lua/unit/regxep.lua2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/libutil/regexp.c b/src/libutil/regexp.c
index 6f7d07f6f..deaca80a5 100644
--- a/src/libutil/regexp.c
+++ b/src/libutil/regexp.c
@@ -176,7 +176,8 @@ rspamd_regexp_new (const gchar *pattern, const gchar *flags,
flags_str = flags;
}
- regexp_flags |= PCRE_UTF8 ;
+ rspamd_flags |= RSPAMD_REGEXP_FLAG_RAW;
+ regexp_flags &= ~PCRE_UTF8;
if (flags_str != NULL) {
while (*flags_str) {
@@ -194,7 +195,8 @@ rspamd_regexp_new (const gchar *pattern, const gchar *flags,
regexp_flags |= PCRE_EXTENDED;
break;
case 'u':
- regexp_flags |= PCRE_UNGREEDY;
+ rspamd_flags &= ~RSPAMD_REGEXP_FLAG_RAW;
+ regexp_flags |= PCRE_UTF8;
break;
case 'O':
/* We optimize all regexps by default */
diff --git a/test/lua/unit/regxep.lua b/test/lua/unit/regxep.lua
index 04db54aa9..8cc2db2bd 100644
--- a/test/lua/unit/regxep.lua
+++ b/test/lua/unit/regxep.lua
@@ -15,7 +15,7 @@ context("Regexp unit tests", function()
{'m,test,', 'test123', false},
{'m{https?://[^/?\\s]+?:\\d+(?<!:80)(?<!:443)(?<!:8080)(?:/|\\s|$)}', '', false},
{'/test/i', 'TeSt123', true},
- {'/тест/i', 'ТесТ', true},
+ {'/ТесТ/iu', 'тест', true},
-- Raw regexp
{'/\\S<[-\\w\\.]+\\@[-\\w\\.]+>/r', 'some<example@example.com>', true},
-- Cyrillic utf8 letter