]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Use a more neat approach
authorVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 28 Mar 2022 19:19:19 +0000 (20:19 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 28 Mar 2022 19:19:19 +0000 (20:19 +0100)
lualib/lua_dkim_tools.lua

index f8cfc67d8919b92649b1708e06aee098418c9f08..5552ae8612b6c02f20bdd24abbd164ad73fe5c87 100644 (file)
@@ -685,19 +685,20 @@ end
 
 exports.process_signing_settings = function(N, settings, opts)
   local lua_maps = require "lua_maps"
+  -- Used to convert plain options to the maps
+  local maps_opts = {
+    sign_networks = {'radix', 'DKIM signing networks'},
+    path_map = {'map', 'Paths to DKIM signing keys'},
+    selector_map = {'map', 'DKIM selectors'},
+    signing_table = {'glob', 'DKIM signing table'},
+    key_table = {'glob', 'DKIM keys table'},
+    vault_domains = {'glob', 'DKIM signing domains in vault'},
+    whitelisted_signers_map = {'set', 'ARC trusted signers domains'}
+  }
   for k,v in pairs(opts) do
-    if k == 'sign_networks' then
-      settings[k] = lua_maps.map_add(N, k, 'radix', 'DKIM signing networks')
-    elseif k == 'path_map' then
-      settings[k] = lua_maps.map_add(N, k, 'map', 'Paths to DKIM signing keys')
-    elseif k == 'selector_map' then
-      settings[k] = lua_maps.map_add(N, k, 'map', 'DKIM selectors')
-    elseif k == 'signing_table' then
-      settings[k] = lua_maps.map_add(N, k, 'glob', 'DKIM signing table')
-    elseif k == 'key_table' then
-      settings[k] = lua_maps.map_add(N, k, 'glob', 'DKIM keys table')
-    elseif k == 'vault_domains' then
-      settings[k] = lua_maps.map_add(N, k, 'glob', 'DKIM signing domains in vault')
+    local maybe_map = maps_opts[k]
+    if maybe_map then
+      settings[k] = lua_maps.map_add_from_ucl(v, maybe_map[1], maybe_map[2])
     elseif k == 'sign_condition' then
       local ret,f = lua_util.callback_from_string(v)
       if ret then
@@ -705,8 +706,6 @@ exports.process_signing_settings = function(N, settings, opts)
       else
         logger.errx(rspamd_config, 'cannot load sign condition %s: %s', v, f)
       end
-    elseif k == 'whitelisted_signers_map' then
-      settings[k] = lua_maps.map_add(N, k, 'set', 'ARC trusted signers domains')
     else
       settings[k] = v
     end