prosody: Add sanity_check() to startup sequence. Check that we have at least one...
authorMatthew Wild <mwild1@gmail.com>
Thu, 14 Apr 2011 21:40:50 +0000 (22:40 +0100)
committerMatthew Wild <mwild1@gmail.com>
Thu, 14 Apr 2011 21:40:50 +0000 (22:40 +0100)
prosody

diff --git a/prosody b/prosody
index 86e82490a8f460aba9b83e5435c56bc58cb86e10..1a58fd33fc0228a4f661888966b2ed57ceedc7c7 100755 (executable)
--- 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();