# HG changeset patch # User Matthew Wild # Date 1228005521 0 # Node ID a2ccfabfda821b0618cf709878f56ef45dadfc9a # Parent 457d0c750826f81f867238b80f10357a8201512a# Parent b3251b137d681622e7e83a90c5859b13a70a1fad Merge with Tobias diff -r 457d0c750826 -r a2ccfabfda82 util/sasl.lua --- a/util/sasl.lua Sun Nov 30 00:33:58 2008 +0000 +++ b/util/sasl.lua Sun Nov 30 00:38:41 2008 +0000 @@ -12,6 +12,7 @@ local error = error local print = print local idna_ascii = require "util.encodings".idna.to_ascii +local idna_unicode = require "util.encodings".idna.to_unicode module "sasl" @@ -87,7 +88,7 @@ qop = "auth", charset = "utf-8", algorithm = "md5-sess", - realm = self.realm}); + realm = idna_ascii(self.realm)}); return "challenge", challenge elseif (self.step == 2) then local response = parse(message) @@ -126,7 +127,7 @@ --TODO maybe realm support self.username = response["username"] - local password_encoding, Y = self.password_handler(response["username"], response["realm"], "DIGEST-MD5") + local password_encoding, Y = self.password_handler(response["username"], idna_unicode(response["realm"]), "DIGEST-MD5") if Y == nil then return "failure", "not-authorized" elseif Y == false then return "failure", "account-disabled" end