# HG changeset patch # User Tobias Markmann # Date 1234635194 -3600 # Node ID 5e12bca2a4f88359db58fc6102873baf73ec9fd5 # Parent b7ea802f3527430994c4a7275f171847b6b1a552# Parent 2a92b58144a988ed7aeb60880a756d9cb192dfd1 Merging with tip. diff -r 2a92b58144a9 -r 5e12bca2a4f8 plugins/mod_saslauth.lua --- a/plugins/mod_saslauth.lua Sat Feb 14 15:38:37 2009 +0000 +++ b/plugins/mod_saslauth.lua Sat Feb 14 19:13:14 2009 +0100 @@ -106,6 +106,7 @@ -- TODO: Provide PLAIN only if TLS is active, this is a SHOULD from the introduction of RFC 4616. This behavior could be overridden via configuration but will issuing a warning or so. features:tag("mechanism"):text("PLAIN"):up(); features:tag("mechanism"):text("DIGEST-MD5"):up(); + features:tag("mechanism"):text("ANONYMOUS"):up(); features:up(); else features:tag("bind", bind_attr):tag("required"):up():up(); diff -r 2a92b58144a9 -r 5e12bca2a4f8 util/sasl.lua --- a/util/sasl.lua Sat Feb 14 15:38:37 2009 +0000 +++ b/util/sasl.lua Sat Feb 14 19:13:14 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