aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmime
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-12-09 14:54:50 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-12-09 14:54:50 +0000
commitbe58868e60036ef9ea4b45f0c5a874426a9f882d (patch)
tree2f01561f7c177d285844de0306782ae0c8444aa8 /src/libmime
parentb6408a3c963d1bd73931d07004e99d921672d615 (diff)
downloadrspamd-be58868e60036ef9ea4b45f0c5a874426a9f882d.tar.gz
rspamd-be58868e60036ef9ea4b45f0c5a874426a9f882d.zip
Use hits from the cache in re cache
Diffstat (limited to 'src/libmime')
-rw-r--r--src/libmime/mime_expressions.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/libmime/mime_expressions.c b/src/libmime/mime_expressions.c
index 8d42bf9a8..bc13859c1 100644
--- a/src/libmime/mime_expressions.c
+++ b/src/libmime/mime_expressions.c
@@ -342,6 +342,13 @@ rspamd_mime_expr_parse_regexp_atom (rspamd_mempool_t * pool, const gchar *line)
result->regexp = rspamd_regexp_new (dbegin, re_flags->str,
&err);
+ if (result->is_multiple) {
+ rspamd_regexp_set_maxhits (result->regexp, 0);
+ }
+ else {
+ rspamd_regexp_set_maxhits (result->regexp, 1);
+ }
+
g_string_free (re_flags, TRUE);
if (result->regexp == NULL || err != NULL) {
@@ -687,8 +694,7 @@ rspamd_mime_expr_process_regexp (struct rspamd_regexp_atom *re,
re->type,
re->header,
strlen (re->header),
- re->is_strong,
- re->is_multiple);
+ re->is_strong);
}
else {
ret = rspamd_re_cache_process (task,
@@ -697,8 +703,7 @@ rspamd_mime_expr_process_regexp (struct rspamd_regexp_atom *re,
re->type,
NULL,
0,
- re->is_strong,
- re->is_multiple);
+ re->is_strong);
}
if (re->is_test) {