]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Try to move setings initialisation to a later stage
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 28 Dec 2020 20:39:43 +0000 (20:39 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 28 Dec 2020 20:40:06 +0000 (20:40 +0000)
lualib/lua_settings.lua
src/plugins/lua/settings.lua

index b08b8c14e7eae8c1410ac82971b0d6037daace3e..5779cea85ef2e0ad31724d483d9d78e3e77fee28 100644 (file)
@@ -31,7 +31,7 @@ local fun = require "fun"
 local lua_util = require "lua_util"
 local rspamd_logger = require "rspamd_logger"
 
-local function register_settings_cb()
+local function register_settings_cb(from_postload)
   if not post_init_performed then
     all_symbols = rspamd_config:get_symbols()
 
@@ -249,7 +249,7 @@ local function register_settings_id(str, settings)
   end
 
   if not post_init_added then
-    rspamd_config:add_post_init(register_settings_cb)
+    rspamd_config:add_post_init(function () register_settings_cb(true) end)
     rspamd_config:add_config_unload(function()
       if post_init_added then
         known_ids = {}
@@ -269,7 +269,7 @@ exports.register_settings_id = register_settings_id
 
 local function settings_by_id(id)
   if not post_init_performed then
-    register_settings_cb()
+    register_settings_cb(false)
   end
   return known_ids[id]
 end
@@ -278,20 +278,20 @@ end
 exports.settings_by_id = settings_by_id
 exports.all_settings = function()
   if not post_init_performed then
-    register_settings_cb()
+    register_settings_cb(false)
   end
   return known_ids
 end
 exports.all_symbols = function()
   if not post_init_performed then
-    register_settings_cb()
+    register_settings_cb(false)
   end
   return all_symbols
 end
 -- What is enabled when no settings are there
 exports.default_symbols = function()
   if not post_init_performed then
-    register_settings_cb()
+    register_settings_cb(false)
   end
   return default_symbols
 end
index f9e3e2524557c7c281c07ac25f9ac9543ab18a92..8dfd91c10acf7f5adc2aa7f899b0d8dc5f607c33 100644 (file)
@@ -1180,7 +1180,9 @@ if set_section and set_section[1] and type(set_section[1]) == "string" then
   end
 elseif set_section and type(set_section) == "table" then
   settings_map_pool = rspamd_mempool.create()
-  process_settings_table(set_section, true, settings_map_pool)
+  rspamd_config:add_post_init(function ()
+    process_settings_table(set_section, true, settings_map_pool)
+  end)
 end
 
 rspamd_config:add_config_unload(function()