From: Vsevolod Stakhov Date: Sat, 9 Mar 2024 14:41:14 +0000 (+0000) Subject: [Rework] Allow multiple conditions for dkim signing when using vault/redis X-Git-Tag: 3.9.0~102^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3de247b318070582cb50435d08b392122d6f04b1;p=thirdparty%2Frspamd.git [Rework] Allow multiple conditions for dkim signing when using vault/redis --- diff --git a/lualib/lua_dkim_tools.lua b/lualib/lua_dkim_tools.lua index 38753c46e2..ad780c0f0c 100644 --- a/lualib/lua_dkim_tools.lua +++ b/lualib/lua_dkim_tools.lua @@ -461,21 +461,20 @@ local function prepare_dkim_signing(N, task, settings) if settings.use_vault then if settings.vault_domains then if settings.vault_domains:get_key(dkim_domain) then - return true, { + table.insert(p, { domain = dkim_domain, vault = true, - } + }) else lua_util.debugm(N, task, 'domain %s is not designated for vault', dkim_domain) - return false, {} end else -- TODO: try every domain in the vault - return true, { + table.insert(p, { domain = dkim_domain, vault = true, - } + }) end end @@ -546,7 +545,7 @@ local function prepare_dkim_signing(N, task, settings) insert_or_update_prop(N, task, p, 'domain', 'dkim_domain', dkim_domain) - return true, p + return #p > 0 and true or false, p end exports.prepare_dkim_signing = prepare_dkim_signing diff --git a/src/plugins/lua/dkim_signing.lua b/src/plugins/lua/dkim_signing.lua index 6c05520ce5..4d16bdf373 100644 --- a/src/plugins/lua/dkim_signing.lua +++ b/src/plugins/lua/dkim_signing.lua @@ -108,7 +108,7 @@ end local function dkim_signing_cb(task) local ret, selectors = dkim_sign_tools.prepare_dkim_signing(N, task, settings) - if not ret then + if not ret or #selectors == 0 then return end