configmanager: Fix so unset variables are searched for in the global section
[prosody.git] / prosody
diff --git a/prosody b/prosody
index da77719daf317b8a99ca08f1a89af71b40299a5e..5802c348ee68995331e36b9969802ad73ef5a369 100755 (executable)
--- a/prosody
+++ b/prosody
@@ -70,6 +70,8 @@ function read_config()
                if CFG_CONFIGDIR then
                        table.insert(filenames, CFG_CONFIGDIR.."/"..arg[2]);
                end
+       elseif os.getenv("PROSODY_CONFIG") then -- Passed by prosodyctl
+                       table.insert(filenames, os.getenv("PROSODY_CONFIG"));
        else
                for _, format in ipairs(config.parsers()) do
                        table.insert(filenames, (CFG_CONFIGDIR or ".").."/prosody.cfg."..format);
@@ -130,8 +132,8 @@ end
 function sanity_check()
        for host, host_config in pairs(config.getconfig()) do
                if host ~= "*"
-               and host_config.core.enabled ~= false
-               and not host_config.core.component_module then
+               and host_config.enabled ~= false
+               and not host_config.component_module then
                        return;
                end
        end
@@ -196,6 +198,7 @@ function set_function_metatable()
 end
 
 function init_global_state()
+       -- COMPAT: These globals are deprecated
        bare_sessions = {};
        full_sessions = {};
        hosts = {};