]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Allow to parse SA rules with no spaces around =~ (dirty hack)
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 25 Jul 2018 15:46:24 +0000 (16:46 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 25 Jul 2018 15:46:56 +0000 (16:46 +0100)
Issue: #2372

src/plugins/lua/spamassassin.lua

index 649abc51f12b8cabfd0c31e67c9a12da73280f79..39ca8e327383fdb290638a920401e6d383ac8a01 100644 (file)
@@ -152,10 +152,6 @@ local function replace_symbol(s)
   return rspamd_symbol, true
 end
 
-local function trim(s)
-  return s:match "^%s*(.-)%s*$"
-end
-
 local ffi
 if type(jit) == 'table' then
   ffi = require("ffi")
@@ -702,7 +698,9 @@ local function process_sa_conf(f)
   local if_nested = 0
   for l in f:lines() do
     (function ()
-    l = trim(l)
+    l = lua_util.rspamd_str_trim(l)
+    -- Replace bla=~/re/ with bla =~ /re/ (#2372)
+    l = l:gsub('([^%s])%s*=~%s*([^%s])', '%1 =~ %2')
 
     if string.len(l) == 0 or string.sub(l, 1, 1) == '#' then
       return