Software /
code /
prosody
Comparison
plugins/mod_saslauth.lua @ 4395:d322c4553f97
mod_saslauth: Never send empty <mechanisms/>, for real this time.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Thu, 13 Oct 2011 00:24:09 +0500 |
parent | 4392:d2a7a44d68c5 |
child | 4492:0a4781f165e3 |
comparison
equal
deleted
inserted
replaced
4394:676b0845eae4 | 4395:d322c4553f97 |
---|---|
246 if not origin.username then | 246 if not origin.username then |
247 if secure_auth_only and not origin.secure then | 247 if secure_auth_only and not origin.secure then |
248 return; | 248 return; |
249 end | 249 end |
250 origin.sasl_handler = usermanager_get_sasl_handler(module.host); | 250 origin.sasl_handler = usermanager_get_sasl_handler(module.host); |
251 local mechanisms = origin.sasl_handler:mechanisms(); | 251 local mechanisms = st.stanza("mechanisms", mechanisms_attr); |
252 if not next(mechanisms) then return; end | 252 for mechanism in pairs(origin.sasl_handler:mechanisms()) do |
253 features:tag("mechanisms", mechanisms_attr); | |
254 for mechanism in pairs(mechanisms) do | |
255 if mechanism ~= "PLAIN" or origin.secure or allow_unencrypted_plain_auth then | 253 if mechanism ~= "PLAIN" or origin.secure or allow_unencrypted_plain_auth then |
256 features:tag("mechanism"):text(mechanism):up(); | 254 mechanisms:tag("mechanism"):text(mechanism):up(); |
257 end | 255 end |
258 end | 256 end |
259 features:up(); | 257 if mechanisms[1] then features:add_child(mechanisms); end |
260 else | 258 else |
261 features:tag("bind", bind_attr):tag("required"):up():up(); | 259 features:tag("bind", bind_attr):tag("required"):up():up(); |
262 features:tag("session", xmpp_session_attr):tag("optional"):up():up(); | 260 features:tag("session", xmpp_session_attr):tag("optional"):up():up(); |
263 end | 261 end |
264 end); | 262 end); |