aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2011-11-02 07:17:26 +0000
committerMatthew Wild <mwild1@gmail.com>2011-11-02 07:17:26 +0000
commit0d104175eae496d612391f0aafc28fd0ba20c5f9 (patch)
treebcb788812b22466058e556eb3728670991458b01
parentcea60b7a5d8f81f2515bd273279141d9925728f1 (diff)
parent464f525c81423ff7b8d6814fceeb0657b8cbcc29 (diff)
downloadprosody-0d104175eae496d612391f0aafc28fd0ba20c5f9.tar.gz
prosody-0d104175eae496d612391f0aafc28fd0ba20c5f9.zip
Merge with Zash
-rw-r--r--core/certmanager.lua4
-rwxr-xr-xprosody2
-rw-r--r--util/jid.lua13
3 files changed, 16 insertions, 3 deletions
diff --git a/core/certmanager.lua b/core/certmanager.lua
index 7b8ca9e1..8b82ac47 100644
--- a/core/certmanager.lua
+++ b/core/certmanager.lua
@@ -75,9 +75,9 @@ function create_context(host, mode, user_ssl_config)
else
reason = "Reason: "..tostring(reason):lower();
end
- log("error", "SSL/TLS: Failed to load %s: %s", file, reason);
+ log("error", "SSL/TLS: Failed to load %s: %s (host: %s)", file, reason, host);
else
- log("error", "SSL/TLS: Error initialising for host %s: %s", host, err );
+ log("error", "SSL/TLS: Error initialising for host %s: %s (host: %s)", host, err, host);
end
end
return ctx, err;
diff --git a/prosody b/prosody
index b354089b..e18b4e61 100755
--- a/prosody
+++ b/prosody
@@ -203,7 +203,7 @@ function init_global_state()
-- path1;path2;path3;defaultpath...
CFG_PLUGINDIR = table.concat(custom_plugin_paths, path_sep)..path_sep..(CFG_PLUGINDIR or "plugins");
end
- prosody.paths = { source = CFG_SOURCEDIR, config = CFG_CONFIGDIR,
+ prosody.paths = { source = CFG_SOURCEDIR, config = CFG_CONFIGDIR or ".",
plugins = CFG_PLUGINDIR or "plugins", data = data_path };
prosody.arg = _G.arg;
diff --git a/util/jid.lua b/util/jid.lua
index 069817c6..4c4371d8 100644
--- a/util/jid.lua
+++ b/util/jid.lua
@@ -13,6 +13,16 @@ local nodeprep = require "util.encodings".stringprep.nodeprep;
local nameprep = require "util.encodings".stringprep.nameprep;
local resourceprep = require "util.encodings".stringprep.resourceprep;
+local escapes = {
+ [" "] = "\\20"; ['"'] = "\\22";
+ ["&"] = "\\26"; ["'"] = "\\27";
+ ["/"] = "\\2f"; [":"] = "\\3a";
+ ["<"] = "\\3c"; [">"] = "\\3e";
+ ["@"] = "\\40"; ["\\"] = "\\5c";
+};
+local unescapes = {};
+for k,v in pairs(escapes) do unescapes[v] = k; end
+
module "jid"
local function _split(jid)
@@ -91,4 +101,7 @@ function compare(jid, acl)
return false
end
+function escape(s) return s and (s:gsub(".", escapes)); end
+function unescape(s) return s and (s:gsub("\\%x%x", unescapes)); end
+
return _M;