aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2010-11-10 19:46:53 +0000
committerMatthew Wild <mwild1@gmail.com>2010-11-10 19:46:53 +0000
commit385fd64606ba2c860ce5bcd534a7de5f8bce4bd1 (patch)
tree9fb2b9820d780d2807ac9b1241f802270e1e5e89
parent0bcc5e0ac77e6bdc584aaaa042978f28ce1e5483 (diff)
downloadprosody-385fd64606ba2c860ce5bcd534a7de5f8bce4bd1.tar.gz
prosody-385fd64606ba2c860ce5bcd534a7de5f8bce4bd1.zip
prosody, configmanager, certmanager: Relocate prosody.resolve_relative_path() to configmanager, and update certmanager (the only user of this function)
-rw-r--r--core/certmanager.lua2
-rw-r--r--core/configmanager.lua21
-rwxr-xr-xprosody21
3 files changed, 22 insertions, 22 deletions
diff --git a/core/certmanager.lua b/core/certmanager.lua
index 79651242..7f1ca42e 100644
--- a/core/certmanager.lua
+++ b/core/certmanager.lua
@@ -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"
diff --git a/core/configmanager.lua b/core/configmanager.lua
index ca23b136..b9618f86 100644
--- a/core/configmanager.lua
+++ b/core/configmanager.lua
@@ -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 fdfee2b4..ccd28ec6 100755
--- 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"