diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-11-14 18:44:20 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-14 18:44:20 +0000 |
commit | d9d3b83508e269a15edebdf9b5539d3a9b229300 (patch) | |
tree | 53cf915ef9b6cd5dd73b81f7e3a5d91e5b391dd5 /src/plugins/lua/greylist.lua | |
parent | 74c546aa44e81880a35ecffd1b913829f163f3b7 (diff) | |
parent | 3590c28e73e34649d15c401db7ee6f4142a8a753 (diff) | |
download | rspamd-d9d3b83508e269a15edebdf9b5539d3a9b229300.tar.gz rspamd-d9d3b83508e269a15edebdf9b5539d3a9b229300.zip |
Merge pull request #1129 from fatalbanana/lint
[Minor] Lint Lua plugins & global functions
Diffstat (limited to 'src/plugins/lua/greylist.lua')
-rw-r--r-- | src/plugins/lua/greylist.lua | 37 |
1 files changed, 10 insertions, 27 deletions
diff --git a/src/plugins/lua/greylist.lua b/src/plugins/lua/greylist.lua index c4c32be05..354c2b3d2 100644 --- a/src/plugins/lua/greylist.lua +++ b/src/plugins/lua/greylist.lua @@ -53,11 +53,8 @@ local settings = { } local rspamd_logger = require "rspamd_logger" -local rspamd_redis = require "rspamd_redis" -local upstream_list = require "rspamd_upstream_list" local rspamd_util = require "rspamd_util" local fun = require "fun" -local rspamd_cryptobox = require "rspamd_cryptobox" local hash = require "rspamd_cryptobox_hash" local function data_key(task) @@ -144,8 +141,6 @@ local function check_time(task, tm, type) return true,false end - - return false,false end local function greylist_check(task) @@ -168,21 +163,11 @@ local function greylist_check(task) local hash_key = body_key .. meta_key local upstream - local function redis_set_cb(err, data) - if not err then - upstream:ok() - else - rspamd_logger.errx(task, 'got error %s when setting greylisting record on server %s', - err, upstream:get_addr()) - end - end - local function redis_get_cb(err, data) local ret_body = false local greylisted_body = false local ret_meta = false local greylisted_meta = false - local greylist_type if data then if data[1] and type(data[1]) ~= 'userdata' then @@ -205,8 +190,6 @@ local function greylist_check(task) end end - upstream:ok() - if not ret_body and not ret_meta then local end_time = rspamd_util.time_to_string(rspamd_util.get_time() + settings['timeout']) @@ -216,11 +199,10 @@ local function greylist_check(task) settings['timeout']) rspamd_logger.infox(task, 'greylisted until "%s" using %s key', end_time, type) - task:insert_result(settings['symbol'], 0.0, 'greylisted', end_time, - greylist_type) + task:insert_result(settings['symbol'], 0.0, 'greylisted', end_time) if settings.message_func then task:set_pre_result('soft reject', - settings.message_func(task, end_time, greylist_type)) + settings.message_func(task, end_time)) else task:set_pre_result('soft reject', settings['message']) end @@ -228,7 +210,9 @@ local function greylist_check(task) elseif err then rspamd_logger.errx(task, 'got error while getting greylisting keys: %1', err) upstream:fail() + return end + upstream:ok() end local ret, _ @@ -242,6 +226,7 @@ local function greylist_check(task) ) if not ret then rspamd_logger.errx(task, 'cannot make redis request to check results') + upstream:fail() end end @@ -284,12 +269,13 @@ local function greylist_set(task) local upstream, ret, conn local hash_key = body_key .. meta_key - local function redis_set_cb(err, data) + local function redis_set_cb(err) if not err then upstream:ok() else rspamd_logger.errx(task, 'got error %s when setting greylisting record on server %s', err, upstream:get_addr()) + upstream:fail() end end @@ -313,7 +299,7 @@ local function greylist_set(task) {body_key, tostring(settings['expire'])} -- arguments ) -- Update greylisting record expire - if conn then + if ret then conn:add_cmd('EXPIRE', { meta_key, tostring(settings['expire']) }) @@ -329,7 +315,6 @@ local function greylist_set(task) 'new record') task:set_pre_result(settings['action'], settings['message']) -- Create new record - local ret, conn ret,conn,upstream = rspamd_redis_make_request(task, redis_params, -- connect params hash_key, -- hash key @@ -339,12 +324,10 @@ local function greylist_set(task) {body_key, tostring(settings['expire']), t} -- arguments ) - if conn then + if ret then conn:add_cmd('SETEX', { meta_key, tostring(settings['expire']), t }) - local end_time = rspamd_util.time_to_string(rspamd_util.get_time() - + settings['timeout']) else rspamd_logger.infox(task, 'got error while connecting to redis: %s', upstream:get_addr()) @@ -380,7 +363,7 @@ end local opts = rspamd_config:get_all_opt('greylist') if opts then if opts['message_func'] then - settings.message_func = assert(loadstring(opts['message_func']))() + settings.message_func = assert(load(opts['message_func']))() end for k,v in pairs(opts) do if k ~= 'message_func' then |