aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/s2smanager.lua2
-rw-r--r--core/sessionmanager.lua2
-rw-r--r--plugins/mod_saslauth.lua3
3 files changed, 4 insertions, 3 deletions
diff --git a/core/s2smanager.lua b/core/s2smanager.lua
index 879084d8..63605d5e 100644
--- a/core/s2smanager.lua
+++ b/core/s2smanager.lua
@@ -253,7 +253,7 @@ function try_connect(host_session, connect_host, connect_port)
local w = conn.write;
host_session.sends2s = function (t) log("debug", "sending: %s", tostring(t)); w(tostring(t)); end
- conn.write(format([[<stream:stream xmlns='jabber:server' xmlns:db='jabber:server:dialback' xmlns:stream='http://etherx.jabber.org/streams' from='%s' to='%s' version='1.0'>]], from_host, to_host));
+ conn.write(format([[<stream:stream xmlns='jabber:server' xmlns:db='jabber:server:dialback' xmlns:stream='http://etherx.jabber.org/streams' from='%s' to='%s' version='1.0' xml:lang='en'>]], from_host, to_host));
log("debug", "Connection attempt in progress...");
return true;
end
diff --git a/core/sessionmanager.lua b/core/sessionmanager.lua
index 2862cd52..24da7c83 100644
--- a/core/sessionmanager.lua
+++ b/core/sessionmanager.lua
@@ -165,7 +165,7 @@ function streamopened(session, attr)
(session.log or session)("debug", "Client sent opening <stream:stream> to %s", session.host);
send("<?xml version='1.0'?>");
- send(format("<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='%s' from='%s' version='1.0'>", session.streamid, session.host));
+ send(format("<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='%s' from='%s' version='1.0' xml:lang='en'>", session.streamid, session.host));
if not hosts[session.host] then
-- We don't serve this host...
diff --git a/plugins/mod_saslauth.lua b/plugins/mod_saslauth.lua
index 02ba41cf..754c82b3 100644
--- a/plugins/mod_saslauth.lua
+++ b/plugins/mod_saslauth.lua
@@ -12,6 +12,7 @@ local st = require "util.stanza";
local sm_bind_resource = require "core.sessionmanager".bind_resource;
local sm_make_authenticated = require "core.sessionmanager".make_authenticated;
local base64 = require "util.encodings".base64;
+local to_unicode = require "util.encodings".idna.to_unicode;
local datamanager_load = require "util.datamanager".load;
local usermanager_validate_credentials = require "core.usermanager".validate_credentials;
@@ -65,7 +66,7 @@ local function handle_status(session, status)
end
local function password_callback(node, hostname, realm, mechanism, decoder)
- local password = (datamanager_load(node, hostname, "accounts") or {}).password; -- FIXME handle hashed passwords
+ local password = (datamanager_load(node, to_unicode(hostname), "accounts") or {}).password; -- FIXME handle hashed passwords
local func = function(x) return x; end;
if password then
if mechanism == "PLAIN" then