util/sasl/plain.lua

changeset 2252
98a2bc275e0e
parent 2206
78c9b5255b27
child 2263
ff881b857c98
--- a/util/sasl/plain.lua	Sat Nov 28 15:12:07 2009 +0000
+++ b/util/sasl/plain.lua	Sat Nov 28 15:12:43 2009 +0000
@@ -21,10 +21,14 @@
 --SASL PLAIN according to RFC 4616
 local function plain(self, message)
 	local response = message
-	local authorization = s_match(response, "([^%z]+)")
-	local authentication = s_match(response, "%z([^%z]+)%z")
-	local password = s_match(response, "%z[^%z]+%z([^%z]+)")
-
+	
+	local authorization, authentication, password;
+	if response then
+		authorization = s_match(response, "([^%z]+)")
+		authentication = s_match(response, "%z([^%z]+)%z")
+		password = s_match(response, "%z[^%z]+%z([^%z]+)")
+	end
+	
 	if authentication == nil or password == nil then
 		return "failure", "malformed-request";
 	end
@@ -63,4 +67,4 @@
 	registerMechanism("PLAIN", {"plain", "plain_test"}, plain);
 end
 
-return _M;
\ No newline at end of file
+return _M;

mercurial