X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=net%2Fserver.lua;h=ae3d45b0090c5b98e3355213e2c1e32ec81034f4;hb=15edb9805f76ac1c16a6cf48382bafe00db90b8f;hp=d80b8a18dee0ae9345c8ccbd924e351256c7bb0e;hpb=dc2ec682ee888187306eeaf9e5f8d832fbf47dbb;p=prosody.git diff --git a/net/server.lua b/net/server.lua index d80b8a18..ae3d45b0 100644 --- a/net/server.lua +++ b/net/server.lua @@ -6,7 +6,7 @@ -- COPYING file in the source package for more information. -- -local use_luaevent = prosody and require "core.configmanager".get("*", "core", "use_libevent"); +local use_luaevent = prosody and require "core.configmanager".get("*", "use_libevent"); if use_luaevent then use_luaevent = pcall(require, "luaevent.core"); @@ -42,8 +42,12 @@ end if prosody then local config_get = require "core.configmanager".get; + local defaults = {}; + for k,v in pairs(server.cfg or server.getsettings()) do + defaults[k] = v; + end local function load_config() - local settings = config_get("*", "core", "network_settings") or {}; + local settings = config_get("*", "network_settings") or {}; if use_luaevent then local event_settings = { ACCEPT_DELAY = settings.event_accept_retry_interval; @@ -59,12 +63,15 @@ if prosody then WRITE_TIMEOUT = settings.send_timeout; }; - for k, v in pairs(event_settings) do - server.cfg[k] = v; + for k,default in pairs(defaults) do + server.cfg[k] = event_settings[k] or default; end - return true; else - return server.changesettings(settings); + local select_settings = {}; + for k,default in pairs(defaults) do + select_settings[k] = settings[k] or default; + end + server.changesettings(select_settings); end end load_config();