diff options
Diffstat (limited to 'util/sasl.lua')
-rw-r--r-- | util/sasl.lua | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/util/sasl.lua b/util/sasl.lua index 12e8953e..cc2456c7 100644 --- a/util/sasl.lua +++ b/util/sasl.lua @@ -28,7 +28,8 @@ local function new_plain(realm, password_handler) local password_encoding, correct_password = self.password_handler(authentication, self.realm, "PLAIN") - if correct_password == nil then return "failure", "malformed-request" end + if correct_password == nil then return "failure", "not-authorized" end + elseif correct_password == false then return "failure", "account-disabled" end local claimed_password = "" if password_encoding == nil then claimed_password = password @@ -125,7 +126,8 @@ local function new_digest_md5(realm, password_handler) --TODO maybe realm support self.username = response["username"] local password_encoding, Y = self.password_handler(response["username"], response["realm"], "DIGEST-MD5") - if Y == nil then return "failure", "malformed-request" end + if Y == nil then return "failure", "not-authorized" end + elseif Y == false then return "failure", "account-disabled" end local A1 = Y..":"..response["nonce"]..":"..response["cnonce"]--:authzid local A2 = "AUTHENTICATE:"..protocol.."/"..domain |