commit c935e8b: [Project] Unify cdb maps
Vsevolod Stakhov
vsevolod at highsecure.ru
Fri Feb 14 17:42:08 UTC 2020
Author: Vsevolod Stakhov
Date: 2020-02-14 17:28:41 +0000
URL: https://github.com/rspamd/rspamd/commit/c935e8b49174fd65d73d2a54cf690381003081c0
[Project] Unify cdb maps
---
lualib/lua_maps.lua | 3 ++-
src/libserver/logger/logger_private.h | 2 ++
src/plugins/lua/multimap.lua | 28 ++--------------------------
3 files changed, 6 insertions(+), 27 deletions(-)
diff --git a/lualib/lua_maps.lua b/lualib/lua_maps.lua
index f49d77f4e..52e97fece 100644
--- a/lualib/lua_maps.lua
+++ b/lualib/lua_maps.lua
@@ -67,7 +67,8 @@ local function maybe_adjust_type(data,mtype)
{'ipnet;', 'radix'},
{'set;', 'set'},
{'hash;', 'hash'},
- {'plain;', 'hash'}
+ {'plain;', 'hash'},
+ {'cdb;', 'cdb'},
}
for _,t in ipairs(known_types) do
diff --git a/src/libserver/logger/logger_private.h b/src/libserver/logger/logger_private.h
index 4b0dbfef5..5fc258914 100644
--- a/src/libserver/logger/logger_private.h
+++ b/src/libserver/logger/logger_private.h
@@ -16,6 +16,8 @@
#ifndef RSPAMD_LOGGER_PRIVATE_H
#define RSPAMD_LOGGER_PRIVATE_H
+#include "logger.h"
+
/* How much message should be repeated before it is count to be repeated one */
#define REPEATS_MIN 3
#define REPEATS_MAX 300
diff --git a/src/plugins/lua/multimap.lua b/src/plugins/lua/multimap.lua
index 3a53d24cb..876e96dc1 100644
--- a/src/plugins/lua/multimap.lua
+++ b/src/plugins/lua/multimap.lua
@@ -439,27 +439,7 @@ local function multimap_callback(task, rule)
local ret = false
- if r['cdb'] then
- if type(r.cdb) == 'string' then
- local rspamd_cdb = require "rspamd_cdb"
- local cdb = rspamd_cdb.create(r.cdb, task:get_ev_base())
-
- if not cdb then
- rspamd_logger.infox(task, 'cannot open cdb file %s', r.cdb)
-
- return false
- else
- r.cdb = cdb
- end
- end
- local srch = value
- if type(value) == 'userdata' then
- if value.class == 'rspamd{ip}' then
- srch = value:tostring()
- end
- end
- ret = r.cdb:lookup(srch)
- elseif r.redis_key then
+ if r.redis_key then
-- Deal with hash name here: it can be either plain string or a selector
if type(r.redis_key) == 'string' then
ret = multimap_query_redis(r.redis_key, task, value, callback)
@@ -1094,11 +1074,7 @@ local function add_multimap_rule(key, newrule)
newrule.selector = selector
end
end
- -- Check cdb flag
- if type(newrule['map']) == 'string' and string.find(newrule['map'], '^cdb://.*$') then
- newrule['cdb'] = newrule['map']
- ret = true
- elseif type(newrule['map']) == 'string' and
+ if type(newrule['map']) == 'string' and
string.find(newrule['map'], '^redis://.*$') then
if not redis_params then
rspamd_logger.infox(rspamd_config, 'no redis servers are specified, ' ..
More information about the Commits
mailing list