prosody: Add sanity_check() to startup sequence. Check that we have at least one vhost enabled to avoid Bad Things.
authorMatthew Wild <mwild1@gmail.com>
Thu, 14 Apr 2011 22:40:50 +0100
changeset 4249 896e8793e7a4
parent 4248 d79d1255fd40
child 4250 7b456af75c77
child 4251 96e9d5f9ab3b
prosody: Add sanity_check() to startup sequence. Check that we have at least one vhost enabled to avoid Bad Things.
prosody
--- a/prosody	Mon Apr 11 17:01:55 2011 +0100
+++ b/prosody	Thu Apr 14 22:40:50 2011 +0100
@@ -127,6 +127,19 @@
 	dependencies.log_warnings();
 end
 
+function sanity_check()
+	for host, host_config in pairs(configmanager.getconfig()) do
+		if host ~= "*"
+		and host_config.core.enabled ~= false
+		and not host_config.core.component_module then
+			return;
+		end
+	end
+	log("error", "No enabled VirtualHost entries found in the config file.");
+	log("error", "At least one active host is required for Prosody to function. Exiting...");
+	os.exit(1);
+end
+
 function sandbox_require()
 	-- Replace require() with one that doesn't pollute _G, required
 	-- for neat sandboxing of modules
@@ -463,6 +476,7 @@
 -- previous steps to have already been performed
 read_config();
 init_logging();
+sanity_check();
 sandbox_require();
 set_function_metatable();
 load_libraries();