util/sasl.lua

changeset 799
b7ea802f3527
parent 760
90ce865eebd8
child 801
d29febc977fc
--- a/util/sasl.lua	Fri Feb 13 16:43:44 2009 +0000
+++ b/util/sasl.lua	Sat Feb 14 18:57:50 2009 +0100
@@ -1,4 +1,4 @@
--- sasl.lua v0.2
+-- sasl.lua v0.3
 -- Copyright (C) 2008-2009 Tobias Markmann
 -- 
 --    All rights reserved.
@@ -235,10 +235,21 @@
 	return object
 end
 
+local function new_anonymous(realm, password_handler)
+	local object = { mechanism = "ANONYMOUS", realm = realm, password_handler = password_handler}
+		function object.feed(self, message)
+			return "success"
+		end
+	object["username"] = generate_uuid()
+	return object
+end
+
+
 function new(mechanism, realm, password_handler)
 	local object
 	if mechanism == "PLAIN" then object = new_plain(realm, password_handler)
 	elseif mechanism == "DIGEST-MD5" then object = new_digest_md5(realm, password_handler)
+	elseif mechanism == "ANONYMOUS" then object = new_anonymous(realm, password_handler)
 	else
 		log("debug", "Unsupported SASL mechanism: "..tostring(mechanism));
 		return nil

mercurial