Merge 0.10->trunk
authorKim Alvefur <zash@zash.se>
Sat, 16 Jan 2016 22:44:43 +0100
changeset 7088 343be83ddfa6
parent 7078 47a2deb74b56 (current diff)
parent 7087 fdbe9ccac17d (diff)
child 7089 6cc7c9da29ed
Merge 0.10->trunk
--- a/core/portmanager.lua	Mon Jan 11 13:44:48 2016 +0100
+++ b/core/portmanager.lua	Sat Jan 16 22:44:43 2016 +0100
@@ -29,7 +29,7 @@
 	table.insert(default_local_interfaces, "::1");
 end
 
-local default_mode = config.get("*", "network_default_read_size") or 4096;
+local default_mode = config.get("*", "network_default_read_size") or "*a";
 
 --- Private state
 
--- a/net/http/server.lua	Mon Jan 11 13:44:48 2016 +0100
+++ b/net/http/server.lua	Sat Jan 16 22:44:43 2016 +0100
@@ -294,7 +294,7 @@
 end
 
 function _M.listen_on(port, interface, ssl)
-	addserver(interface or "*", port, listener, "*a", ssl);
+	return addserver(interface or "*", port, listener, "*a", ssl);
 end
 function _M.add_host(host)
 	hosts[host] = true;
--- a/plugins/mod_blocklist.lua	Mon Jan 11 13:44:48 2016 +0100
+++ b/plugins/mod_blocklist.lua	Sat Jan 16 22:44:43 2016 +0100
@@ -221,7 +221,7 @@
 -- Cache invalidation, solved!
 module:hook_global("user-deleted", function (event)
 	if event.host == module.host then
-		cache:set(event.username, nil);
+		cache2:set(event.username, nil);
 		cache[event.username] = nil;
 	end
 end);
--- a/prosody	Mon Jan 11 13:44:48 2016 +0100
+++ b/prosody	Sat Jan 16 22:44:43 2016 +0100
@@ -272,10 +272,14 @@
 	end
 
 	-- Function to initiate prosody shutdown
-	function prosody.shutdown(reason)
+	function prosody.shutdown(reason, code)
 		log("info", "Shutting down: %s", reason or "unknown reason");
 		prosody.shutdown_reason = reason;
-		prosody.events.fire_event("server-stopping", {reason = reason});
+		prosody.shutdown_code = code;
+		prosody.events.fire_event("server-stopping", {
+			reason = reason;
+			code = code;
+		});
 		server.setquitting(true);
 	end
 end
@@ -418,3 +422,4 @@
 prosody.events.fire_event("server-stopped");
 log("info", "Shutdown complete");
 
+os.exit(prosody.shutdown_code)
--- a/prosodyctl	Mon Jan 11 13:44:48 2016 +0100
+++ b/prosodyctl	Sat Jan 16 22:44:43 2016 +0100
@@ -877,6 +877,20 @@
 				print("    All hosts are disabled. Remove enabled = false from at least one VirtualHost section")
 			end
 		end
+		if not config["*"].modules_enabled then
+			print("    No global modules_enabled is set?");
+			local suggested_global_modules;
+			for host, options in enabled_hosts() do
+				if not options.component_module and options.modules_enabled then
+					suggested_global_modules = set.intersection(suggested_global_modules or set.new(options.modules_enabled), set.new(options.modules_enabled));
+				end
+			end
+			if not suggested_global_modules:empty() then
+				print("    Consider moving these modules into modules_enabled in the global section:")
+				print("    "..tostring(suggested_global_modules / function (x) return ("%q"):format(x) end));
+			end
+			print();
+		end
 		-- Check for global options under hosts
 		local global_options = set.new(it.to_array(it.keys(config["*"])));
 		local deprecated_global_options = set.intersection(global_options, deprecated);
@@ -1080,8 +1094,8 @@
 				target_hosts:remove("localhost");
 			end
 			
-			local modules = set.new(it.to_array(it.values(host_options.modules_enabled)))
-			                + set.new(it.to_array(it.values(config.get("*", "modules_enabled"))))
+			local modules = set.new(it.to_array(it.values(host_options.modules_enabled or {})))
+			                + set.new(it.to_array(it.values(config.get("*", "modules_enabled") or {})))
 			                + set.new({ config.get(host, "component_module") });
 
 			if modules:contains("proxy65") then
--- a/util/random.lua	Mon Jan 11 13:44:48 2016 +0100
+++ b/util/random.lua	Sat Jan 16 22:44:43 2016 +0100
@@ -6,11 +6,9 @@
 -- COPYING file in the source package for more information.
 --
 
-local urandom = assert(io.open("/dev/urandom", "r+"));
+local urandom = assert(io.open("/dev/urandom", "r"));
 
-local function seed(x)
-	urandom:write(x);
-	urandom:flush();
+local function seed()
 end
 
 local function bytes(n)