From 7847a8a20fc9fc0b057bf7f99fd0d0a80b4d85e3 Mon Sep 17 00:00:00 2001
From: Tobias Markmann <tm@ayena.de>
Date: Sat, 22 May 2010 20:51:01 +0200
Subject: util.sasl.scram: Fixing issue #177.

---
 util/sasl/scram.lua | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'util/sasl')

diff --git a/util/sasl/scram.lua b/util/sasl/scram.lua
index 39daf397..47e8e7b3 100644
--- a/util/sasl/scram.lua
+++ b/util/sasl/scram.lua
@@ -108,6 +108,7 @@ local function scram_gen(hash_name, H_f, HMAC_f)
 	local function scram_hash(self, message)
 		if not self.state then self["state"] = {} end
 	
+		if type(message) ~= "string" or #message == 0 then return "failure", "malformed-request" end
 		if not self.state.name then
 			-- we are processing client_first_message
 			local client_first_message = message;
@@ -169,7 +170,6 @@ local function scram_gen(hash_name, H_f, HMAC_f)
 			self.state["server_first_message"] = server_first_message;
 			return "challenge", server_first_message
 		else
-			if type(message) ~= "string" then return "failure", "malformed-request" end
 			-- we are processing client_final_message
 			local client_final_message = message;
 			
-- 
cgit v1.2.3