aboutsummaryrefslogtreecommitdiffstats
path: root/util/sasl.lua
diff options
context:
space:
mode:
Diffstat (limited to 'util/sasl.lua')
-rw-r--r--util/sasl.lua5
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)