prosody.resolve_relative_path: Updated to take a parent path to resolve against.
authorWaqas Hussain <waqas20@gmail.com>
Fri, 23 Jul 2010 18:14:50 +0000 (23:14 +0500)
committerWaqas Hussain <waqas20@gmail.com>
Fri, 23 Jul 2010 18:14:50 +0000 (23:14 +0500)
core/certmanager.lua
prosody

index f640a43074dad7660451b314ba2ca980c5ceba8f..eadddd788965ce59350d1cc2f18835360ee9596c 100644 (file)
@@ -15,6 +15,7 @@ local setmetatable, tostring = setmetatable, tostring;
 
 local prosody = prosody;
 local resolve_path = prosody.resolve_relative_path;
+local config_path = prosody.paths.config;
 
 module "certmanager"
 
@@ -31,11 +32,11 @@ function create_context(host, mode, config)
        local ssl_config = {
                mode = mode;
                protocol = user_ssl_config.protocol or "sslv23";
-               key = resolve_path(user_ssl_config.key);
+               key = resolve_path(config_path, user_ssl_config.key);
                password = user_ssl_config.password;
-               certificate = resolve_path(user_ssl_config.certificate);
-               capath = resolve_path(user_ssl_config.capath or default_capath);
-               cafile = resolve_path(user_ssl_config.cafile);
+               certificate = resolve_path(config_path, user_ssl_config.certificate);
+               capath = resolve_path(config_path, user_ssl_config.capath or default_capath);
+               cafile = resolve_path(config_path, user_ssl_config.cafile);
                verify = user_ssl_config.verify or "none";
                options = user_ssl_config.options or "no_sslv2";
                ciphers = user_ssl_config.ciphers;
diff --git a/prosody b/prosody
index 6ec9131e5a27aa49b196326ecb6e7db986d2d245..3be2e53aa000c2d0789d382b2626f25ce5e7f704 100755 (executable)
--- a/prosody
+++ b/prosody
@@ -165,7 +165,7 @@ function init_global_state()
        
        local path_sep = package.config:sub(1,1);
        local rel_path_start = ".."..path_sep;
-       function prosody.resolve_relative_path(path)
+       function prosody.resolve_relative_path(parent_path, path)
                if path then
                        local is_relative;
                        if path_sep == "/" and path:sub(1,1) ~= "/" then
@@ -174,7 +174,7 @@ function init_global_state()
                                is_relative = true;
                        end
                        if is_relative then
-                               return CFG_CONFIGDIR..path_sep..path;
+                               return parent_path..path_sep..path;
                        end
                end
                return path;