diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-09-24 09:26:04 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-09-24 09:26:04 +0100 |
commit | b32d6cde09df0e45c178623888d4249102cd054f (patch) | |
tree | da20f5dbcbb646e417e88017cc61fbfc10ee5863 /lualib/lua_magic | |
parent | 6321d90514ddfb14aface7b2ddb954a4d4fb0414 (diff) | |
download | rspamd-b32d6cde09df0e45c178623888d4249102cd054f.tar.gz rspamd-b32d6cde09df0e45c178623888d4249102cd054f.zip |
[Minor] Lua_magic: Improve hyperscan usage
Diffstat (limited to 'lualib/lua_magic')
-rw-r--r-- | lualib/lua_magic/heuristics.lua | 5 | ||||
-rw-r--r-- | lualib/lua_magic/init.lua | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lualib/lua_magic/heuristics.lua b/lualib/lua_magic/heuristics.lua index 04c89ba69..8fb83bb0d 100644 --- a/lualib/lua_magic/heuristics.lua +++ b/lualib/lua_magic/heuristics.lua @@ -95,7 +95,10 @@ local function compile_tries() end end - return rspamd_trie.create(strs, rspamd_trie.flags.re) + local compile_flags = bit.bor(rspamd_trie.flags.re, rspamd_trie.flags.dot_all) + compile_flags = bit.bor(compile_flags, rspamd_trie.flags.single_match) + compile_flags = bit.bor(compile_flags, rspamd_trie.flags.no_start) + return rspamd_trie.create(strs, compile_flags) end if not msoffice_trie then diff --git a/lualib/lua_magic/init.lua b/lualib/lua_magic/init.lua index 2fb848707..d92980246 100644 --- a/lualib/lua_magic/init.lua +++ b/lualib/lua_magic/init.lua @@ -126,18 +126,21 @@ local function process_patterns(log_obj) end end end - + local bit = require "bit" + local compile_flags = bit.bor(rspamd_trie.flags.re, rspamd_trie.flags.dot_all) + compile_flags = bit.bor(compile_flags, rspamd_trie.flags.single_match) + compile_flags = bit.bor(compile_flags, rspamd_trie.flags.no_start) compiled_patterns = rspamd_trie.create(fun.totable( fun.map(function(t) return t[1] end, processed_patterns)), - rspamd_trie.flags.re + compile_flags ) compiled_short_patterns = rspamd_trie.create(fun.totable( fun.map(function(t) return t[1] end, short_patterns)), - rspamd_trie.flags.re + compile_flags ) compiled_tail_patterns = rspamd_trie.create(fun.totable( fun.map(function(t) return t[1] end, tail_patterns)), - rspamd_trie.flags.re + compile_flags ) lua_util.debugm(N, log_obj, |