net/server.lua
changeset 5385 d663483036db
parent 5383 143670deee3e
child 5531 483f795f6f99
--- a/net/server.lua	Sat Mar 23 15:00:49 2013 +0100
+++ b/net/server.lua	Sat Mar 23 20:06:02 2013 +0100
@@ -42,6 +42,10 @@
 
 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("*", "network_settings") or {};
 		if use_luaevent then
@@ -59,11 +63,15 @@
 				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
 		else
-			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();