233 end |
233 end |
234 end |
234 end |
235 return object |
235 return object |
236 end |
236 end |
237 |
237 |
|
238 local function new_anonymous(realm, password_handler) |
|
239 local object = { mechanism = "ANONYMOUS", realm = realm, password_handler = password_handler} |
|
240 function object.feed(self, message) |
|
241 return "success" |
|
242 end |
|
243 object["username"] = generate_uuid() |
|
244 return object |
|
245 end |
|
246 |
|
247 |
238 function new(mechanism, realm, password_handler) |
248 function new(mechanism, realm, password_handler) |
239 local object |
249 local object |
240 if mechanism == "PLAIN" then object = new_plain(realm, password_handler) |
250 if mechanism == "PLAIN" then object = new_plain(realm, password_handler) |
241 elseif mechanism == "DIGEST-MD5" then object = new_digest_md5(realm, password_handler) |
251 elseif mechanism == "DIGEST-MD5" then object = new_digest_md5(realm, password_handler) |
|
252 elseif mechanism == "ANONYMOUS" then object = new_anonymous(realm, password_handler) |
242 else |
253 else |
243 log("debug", "Unsupported SASL mechanism: "..tostring(mechanism)); |
254 log("debug", "Unsupported SASL mechanism: "..tostring(mechanism)); |
244 return nil |
255 return nil |
245 end |
256 end |
246 return object |
257 return object |