prosody, configmanager, certmanager: Relocate prosody.resolve_relative_path() to configmanager, and update certmanager (the only user of this function)

Wed, 10 Nov 2010 19:46:53 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Wed, 10 Nov 2010 19:46:53 +0000
changeset 3609
954b1159f2f3
parent 3608
ae0f83feaff4
child 3610
2084959d4096

prosody, configmanager, certmanager: Relocate prosody.resolve_relative_path() to configmanager, and update certmanager (the only user of this function)

core/certmanager.lua file | annotate | diff | comparison | revisions
core/configmanager.lua file | annotate | diff | comparison | revisions
prosody file | annotate | diff | comparison | revisions
--- a/core/certmanager.lua	Wed Nov 10 22:27:09 2010 +0500
+++ b/core/certmanager.lua	Wed Nov 10 19:46:53 2010 +0000
@@ -14,7 +14,7 @@
 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"
--- a/core/configmanager.lua	Wed Nov 10 22:27:09 2010 +0500
+++ b/core/configmanager.lua	Wed Nov 10 19:46:53 2010 +0000
@@ -13,6 +13,8 @@
 
 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 @@
 	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+$");
 
--- a/prosody	Wed Nov 10 22:27:09 2010 +0500
+++ b/prosody	Wed Nov 10 19:46:53 2010 +0000
@@ -163,23 +163,6 @@
 	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 @@
 	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"
 	

mercurial