]> source.dussan.org Git - rspamd.git/commitdiff
[Feature] Lua_maps: Allow static regexp and glob maps
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 9 Apr 2019 11:42:37 +0000 (12:42 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 9 Apr 2019 11:42:37 +0000 (12:42 +0100)
lualib/lua_maps.lua

index c8cffa3c8589af6c74b0ecb8bad8134ac0e16581..a21a60f4f8fa9fe83067e626ee01204874687e81 100644 (file)
@@ -95,16 +95,32 @@ local function rspamd_map_add_from_ucl(opt, mtype, description)
           end
         end
       elseif mtype == 'regexp' or mtype == 'glob' then
-        -- Plain table
-        local map = rspamd_config:add_map{
-          type = mtype,
-          description = description,
-          url = opt,
-        }
-        if map then
-          ret.__data = map
-          setmetatable(ret, ret_mt)
-          return ret
+        if string.find(opt[1], '^/%a') or string.find(opt[1], '^http') then
+          -- Plain table
+          local map = rspamd_config:add_map{
+            type = mtype,
+            description = description,
+            url = opt,
+          }
+          if map then
+            ret.__data = map
+            setmetatable(ret, ret_mt)
+            return ret
+          end
+        else
+          local map = rspamd_config:add_map{
+            type = mtype,
+            description = description,
+            url = {
+              url = 'static',
+              data = opt,
+            }
+          }
+          if map then
+            ret.__data = map
+            setmetatable(ret, ret_mt)
+            return ret
+          end
         end
       else
         if string.find(opt[1], '^/%a') or string.find(opt[1], '^http') then