diff options
-rw-r--r-- | core/s2smanager.lua | 2 | ||||
-rw-r--r-- | core/sessionmanager.lua | 2 | ||||
-rw-r--r-- | plugins/mod_saslauth.lua | 3 |
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 |