From 7e4d78bef216a7df7ecc39548cc6d6ea1cdacba4 Mon Sep 17 00:00:00 2001
From: Matthew Wild <mwild1@gmail.com>
Date: Thu, 14 Apr 2011 22:40:50 +0100
Subject: prosody: Add sanity_check() to startup sequence. Check that we have
 at least one vhost enabled to avoid Bad Things.

---
 prosody | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

(limited to 'prosody')

diff --git a/prosody b/prosody
index 86e82490..1a58fd33 100755
--- a/prosody
+++ b/prosody
@@ -127,6 +127,19 @@ function log_dependency_warnings()
 	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 @@ end
 -- previous steps to have already been performed
 read_config();
 init_logging();
+sanity_check();
 sandbox_require();
 set_function_metatable();
 load_libraries();
-- 
cgit v1.2.3