Adding some human readable error messages.
authorTobias Markmann <tm@ayena.de>
Thu, 19 Nov 2009 16:17:52 +0000 (17:17 +0100)
committerTobias Markmann <tm@ayena.de>
Thu, 19 Nov 2009 16:17:52 +0000 (17:17 +0100)
util/sasl/plain.lua
util/sasl/scram.lua

index 5c7ff68a770426ff01cead1c091963499ebcaf07..46a86bb92ef65239535756a58a53dcd1c5de65f1 100644 (file)
@@ -35,7 +35,7 @@ local function plain(self, message)
        
        if (not password) or (password == "") or (not authentication) or (authentication == "") then
                log("debug", "Username or password violates SASLprep.");
-               return "failure", "malformed-request";
+               return "failure", "malformed-request", "Invalid username or password.";
        end
 
        local correct, state = false, false;
@@ -55,7 +55,7 @@ local function plain(self, message)
        if correct then
                return "success";
        else
-               return "failure", "not-authorized";
+               return "failure", "not-authorized", "Unable to authorize you with the authentication credentials you've sent.";
        end
 end
 
index f7b8300accf91cd273d47894e55955d1a36c6fb0..4413e2a6822bc56e124668be81b8b5697fbdd47d 100644 (file)
@@ -95,7 +95,7 @@ local function scram_sha_1(self, message)
                self.state.name = validate_username(self.state.name);
                if not self.state.name then
                        log("debug", "Username violates either SASLprep or contains forbidden character sequences.")
-                       return "failure", "malformed-request";
+                       return "failure", "malformed-request", "Invalid username.";
                end
                
                self.state["servernonce"] = generate_uuid();
@@ -113,7 +113,7 @@ local function scram_sha_1(self, message)
                self.state["nonce"] = client_final_message:match("r=(.+),p=");
                self.state["channelbinding"] = client_final_message:match("c=(.+),r=");
                if not self.state.proof or not self.state.nonce or not self.state.channelbinding then
-                       return "failure", "malformed-request";
+                       return "failure", "malformed-request", "Missing an attribute(p, r or c) in SASL message.";
                end
                
                local password;
@@ -124,7 +124,7 @@ local function scram_sha_1(self, message)
                        password = saslprep(password);
                        if not password then
                                log("debug", "Password violates SASLprep.");
-                               return "failure", "not-authorized"
+                               return "failure", "not-authorized", "Invalid password."
                        end
                end