prosody, configmanager, certmanager: Relocate prosody.resolve_relative_path() to...
authorMatthew Wild <mwild1@gmail.com>
Wed, 10 Nov 2010 19:46:53 +0000 (19:46 +0000)
committerMatthew Wild <mwild1@gmail.com>
Wed, 10 Nov 2010 19:46:53 +0000 (19:46 +0000)
core/certmanager.lua
core/configmanager.lua
prosody

index 79651242517ca8459da13d976d135bf6615eac45..7f1ca42eebaad0676caf017608b3f6c12a4d0e7d 100644 (file)
@@ -14,7 +14,7 @@ local ssl_newcontext = ssl and ssl.newcontext;
 local setmetatable, tostring = setmetatable, tostring;
 
 local prosody = prosody;
-local resolve_path = prosody.resolve_relative_path;
+local resolve_path = configmanager.resolve_relative_path;
 local config_path = prosody.paths.config;
 
 module "certmanager"
index ca23b136e26ee409230dee171cbb98ad63a93bbf..b9618f860c2dfe7286f71cab916647a4a546e161 100644 (file)
@@ -13,6 +13,8 @@ local         setmetatable, loadfile, pcall, rawget, rawset, io, error, dofile, type, p
 
 local fire_event = prosody and prosody.events.fire_event or function () end;
 
+local path_sep = package.config:sub(1,1);
+
 module "configmanager"
 
 local parsers = {};
@@ -64,6 +66,25 @@ function _M.set(host, section, key, value)
        return set(config, host, section, key, value);
 end
 
+-- Helper function to resolve relative paths (needed by config)
+do
+       local rel_path_start = ".."..path_sep;
+       function resolve_relative_path(parent_path, path)
+               if path then
+                       local is_relative;
+                       if path_sep == "/" and path:sub(1,1) ~= "/" then
+                               is_relative = true;
+                       elseif path_sep == "\\" and (path:sub(1,1) ~= "/" and path:sub(2,3) ~= ":\\") then
+                               is_relative = true;
+                       end
+                       if is_relative then
+                               return parent_path..path_sep..path;
+                       end
+               end
+               return path;
+       end     
+end
+
 function load(filename, format)
        format = format or filename:match("%w+$");
 
diff --git a/prosody b/prosody
index fdfee2b439f51b99380202facb6a4ab2c0caef53..ccd28ec6361825ef51065878fc51d5d872911ad8 100755 (executable)
--- a/prosody
+++ b/prosody
@@ -163,23 +163,6 @@ function init_global_state()
        prosody.paths = { source = CFG_SOURCEDIR, config = CFG_CONFIGDIR, 
                          plugins = CFG_PLUGINDIR, data = CFG_DATADIR };
        
-       local path_sep = package.config:sub(1,1);
-       local rel_path_start = ".."..path_sep;
-       function prosody.resolve_relative_path(parent_path, path)
-               if path then
-                       local is_relative;
-                       if path_sep == "/" and path:sub(1,1) ~= "/" then
-                               is_relative = true;
-                       elseif path_sep == "\\" and (path:sub(1,1) ~= "/" and path:sub(2,3) ~= ":\\") then
-                               is_relative = true;
-                       end
-                       if is_relative then
-                               return parent_path..path_sep..path;
-                       end
-               end
-               return path;
-       end
-       
        prosody.arg = _G.arg;
 
        prosody.platform = "unknown";
@@ -310,10 +293,6 @@ function load_secondary_libraries()
        require "core.usermanager"
        require "core.sessionmanager"
        require "core.stanza_router"
-       package.loaded['core.componentmanager'] = setmetatable({},{__index=function()
-               log("warn", "componentmanager is deprecated: %s", debug.traceback():match("\n[^\n]*\n[\s\t]*([^\n]*)"));
-               return function() end
-       end});
 
        require "net.http"