diff options
Diffstat (limited to 'util/sasl.lua')
-rw-r--r-- | util/sasl.lua | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/util/sasl.lua b/util/sasl.lua index 0f03647f..f5ef04b8 100644 --- a/util/sasl.lua +++ b/util/sasl.lua @@ -11,6 +11,7 @@ local math = require "math" local type = type local error = error local print = print +local idna_ascii = require "util.encodings".stringprep.saslprep.to_ascii module "sasl" @@ -130,7 +131,7 @@ local function new_digest_md5(realm, password_handler) elseif Y == false then return "failure", "account-disabled" end local A1 = Y..":"..response["nonce"]..":"..response["cnonce"]--:authzid - local A2 = "AUTHENTICATE:"..protocol.."/"..domain + local A2 = "AUTHENTICATE:"..protocol.."/"..idna_ascii(domain) local HA1 = md5(A1, true) local HA2 = md5(A2, true) @@ -140,7 +141,7 @@ local function new_digest_md5(realm, password_handler) if response_value == response["response"] then -- calculate rspauth - A2 = ":"..protocol.."/"..domain + A2 = ":"..protocol.."/"..idna_ascii(domain) HA1 = md5(A1, true) HA2 = md5(A2, true) |