commit a6223ee: [Feature] Lua_maps: Allow static regexp and glob maps

Vsevolod Stakhov vsevolod at highsecure.ru
Tue Apr 9 11:49:03 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-04-09 12:42:37 +0100
URL: https://github.com/rspamd/rspamd/commit/a6223eecc74c5ecbe48ff3265bb4c9b62c0c3dd7

[Feature] Lua_maps: Allow static regexp and glob maps

---
 lualib/lua_maps.lua | 36 ++++++++++++++++++++++++++----------
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git a/lualib/lua_maps.lua b/lualib/lua_maps.lua
index c8cffa3c8..a21a60f4f 100644
--- a/lualib/lua_maps.lua
+++ b/lualib/lua_maps.lua
@@ -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


More information about the Commits mailing list