Changeset

4249:896e8793e7a4

prosody: Add sanity_check() to startup sequence. Check that we have at least one vhost enabled to avoid Bad Things.
author Matthew Wild <mwild1@gmail.com>
date Thu, 14 Apr 2011 22:40:50 +0100
parents 4248:d79d1255fd40
children 4250:7b456af75c77 4251:96e9d5f9ab3b
files prosody
diffstat 1 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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();