Merge 0.9->trunk
[prosody.git] / prosody
diff --git a/prosody b/prosody
index da77719daf317b8a99ca08f1a89af71b40299a5e..875140deafedd65a9fb31d22932cf4bfbd9c12be 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 = {};
@@ -204,8 +207,8 @@ function init_global_state()
        prosody.full_sessions = full_sessions;
        prosody.hosts = hosts;
        
-       local data_path = config.get("*", "core", "data_path") or CFG_DATADIR or "data";
-       local custom_plugin_paths = config.get("*", "core", "plugin_paths");
+       local data_path = config.get("*", "data_path") or CFG_DATADIR or "data";
+       local custom_plugin_paths = config.get("*", "plugin_paths");
        if custom_plugin_paths then
                local path_sep = package.config:sub(3,3);
                -- path1;path2;path3;defaultpath...