]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Deal with non-key arguments in lua_redis.exec_script
authorAndrew Lewis <nerf@judo.za.org>
Tue, 27 Feb 2018 13:00:29 +0000 (15:00 +0200)
committerAndrew Lewis <nerf@judo.za.org>
Tue, 27 Feb 2018 13:00:29 +0000 (15:00 +0200)
lualib/lua_redis.lua
src/plugins/lua/dmarc.lua

index 2fb7c378187132705d2263f5d35a48308cea1eaf..a23ad781ff3328f54c64b776825fe29080562f7f 100644 (file)
@@ -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
 
index efca8850014be62498f48ce40a6a2030ad53c90d..c6e998429e88a51d546a84b11b9cb4894754258f 100644 (file)
@@ -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