diff options
author | Andrew Lewis <nerf@judo.za.org> | 2018-02-27 15:00:29 +0200 |
---|---|---|
committer | Andrew Lewis <nerf@judo.za.org> | 2018-02-27 15:00:29 +0200 |
commit | 1e54b03ed676b1daf34c3a70263297d2f4f43529 (patch) | |
tree | 6533da7ea242391c5158f11f6dfbeca131263a95 | |
parent | eb71392c46fd5830b102315e0cc544788e48f19c (diff) | |
download | rspamd-1e54b03ed676b1daf34c3a70263297d2f4f43529.tar.gz rspamd-1e54b03ed676b1daf34c3a70263297d2f4f43529.zip |
[Fix] Deal with non-key arguments in lua_redis.exec_script
-rw-r--r-- | lualib/lua_redis.lua | 7 | ||||
-rw-r--r-- | src/plugins/lua/dmarc.lua | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/lualib/lua_redis.lua b/lualib/lua_redis.lua index 2fb7c3781..a23ad781f 100644 --- a/lualib/lua_redis.lua +++ b/lualib/lua_redis.lua @@ -843,7 +843,7 @@ local function add_redis_script(script, redis_params) end exports.add_redis_script = add_redis_script -local function exec_redis_script(id, params, callback, args) +local function exec_redis_script(id, params, callback, args, aargs) local args_modified = false if not redis_scripts[id] then @@ -881,6 +881,11 @@ local function exec_redis_script(id, params, callback, args) if not args_modified then table.insert(args, 1, tostring(#args)) table.insert(args, 1, script.sha) + if type(aargs) == 'table' then + for _, a in ipairs(aargs) do + table.insert(args, a) + end + end args_modified = true end diff --git a/src/plugins/lua/dmarc.lua b/src/plugins/lua/dmarc.lua index efca88500..c6e998429 100644 --- a/src/plugins/lua/dmarc.lua +++ b/src/plugins/lua/dmarc.lua @@ -542,7 +542,7 @@ local function dmarc_callback(task) if report_data then rspamd_redis.exec_redis_script(take_report_id, {task = task, is_write = true}, dmarc_report_cb, - {2, idx_key, dmarc_domain_key, hfromdom, report_data}) + {idx_key, dmarc_domain_key}, {hfromdom, report_data}) end end |