diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-12-07 09:12:29 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-12-07 09:12:29 +0000 |
commit | fc9338984d86334d76d6618944201349e13bbc49 (patch) | |
tree | 06e576f278e91ab4f8883bb9650afc40eb4470e0 | |
parent | 1a7a90ffb7398d070619518fe3011fd8886590c0 (diff) | |
download | rspamd-fc9338984d86334d76d6618944201349e13bbc49.tar.gz rspamd-fc9338984d86334d76d6618944201349e13bbc49.zip |
Add re class to match all headers
-rw-r--r-- | src/libserver/re_cache.c | 12 | ||||
-rw-r--r-- | src/libserver/re_cache.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/libserver/re_cache.c b/src/libserver/re_cache.c index d7f7c7b94..f1ee7157d 100644 --- a/src/libserver/re_cache.c +++ b/src/libserver/re_cache.c @@ -324,6 +324,15 @@ rspamd_re_cache_exec_re (struct rspamd_task *task, } } break; + case RSPAMD_RE_ALLHEADER: + raw = TRUE; + in = task->raw_headers_content.begin; + len = task->raw_headers_content.len; + ret = rspamd_re_cache_process_pcre (rt->cache, re, in, + len, raw, is_multiple); + debug_task ("checking allheader regexp: %s -> %d", + rspamd_regexp_get_pattern (re), ret); + break; case RSPAMD_RE_MIME: /* Iterate throught text parts */ for (i = 0; i < task->text_parts->len; i++) { @@ -516,6 +525,9 @@ rspamd_re_cache_type_to_string (enum rspamd_re_type type) case RSPAMD_RE_RAWHEADER: ret = "raw header"; break; + case RSPAMD_RE_ALLHEADER: + ret = "raw header"; + break; case RSPAMD_RE_MIME: ret = "part"; break; diff --git a/src/libserver/re_cache.h b/src/libserver/re_cache.h index 0ced10bd6..c4ec3b2cf 100644 --- a/src/libserver/re_cache.h +++ b/src/libserver/re_cache.h @@ -34,6 +34,7 @@ struct rspamd_task; enum rspamd_re_type { RSPAMD_RE_HEADER, RSPAMD_RE_RAWHEADER, + RSPAMD_RE_ALLHEADER, RSPAMD_RE_MIME, RSPAMD_RE_URL, RSPAMD_RE_BODY |