Mercurial > prosody-modules
comparison mod_sasl2/mod_sasl2.lua @ 5249:828e5e443613
mod_sasl2: Fire authentication-{success,failure} events like mod_saslauth
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Tue, 14 Mar 2023 17:13:46 +0000 |
| parents | e9cf361982d5 |
| children | 6526b670e66d |
comparison
equal
deleted
inserted
replaced
| 5248:b8b2bf0c1b4b | 5249:828e5e443613 |
|---|---|
| 119 error_text = err_msg; | 119 error_text = err_msg; |
| 120 }); | 120 }); |
| 121 end | 121 end |
| 122 | 122 |
| 123 module:hook("sasl2/c2s/failure", function (event) | 123 module:hook("sasl2/c2s/failure", function (event) |
| 124 module:fire_event("authentication-failure", event); | |
| 124 local session, condition, text = event.session, event.message, event.error_text; | 125 local session, condition, text = event.session, event.message, event.error_text; |
| 125 local failure = st.stanza("failure", { xmlns = xmlns_sasl2 }) | 126 local failure = st.stanza("failure", { xmlns = xmlns_sasl2 }) |
| 126 :tag(condition, { xmlns = "urn:ietf:params:xml:ns:xmpp-sasl" }):up(); | 127 :tag(condition, { xmlns = "urn:ietf:params:xml:ns:xmpp-sasl" }):up(); |
| 127 if text then | 128 if text then |
| 128 failure:text_tag("text", text); | 129 failure:text_tag("text", text); |
| 163 event.success:text_tag("authorization-identifier", jid_join(session.username, session.host, session.resource)); | 164 event.success:text_tag("authorization-identifier", jid_join(session.username, session.host, session.resource)); |
| 164 session.send(event.success); | 165 session.send(event.success); |
| 165 end, -1000); | 166 end, -1000); |
| 166 | 167 |
| 167 module:hook("sasl2/c2s/success", function (event) | 168 module:hook("sasl2/c2s/success", function (event) |
| 169 module:fire_event("authentication-success", event); | |
| 168 local session = event.session; | 170 local session = event.session; |
| 169 local features = st.stanza("stream:features"); | 171 local features = st.stanza("stream:features"); |
| 170 module:fire_event("stream-features", { origin = session, features = features }); | 172 module:fire_event("stream-features", { origin = session, features = features }); |
| 171 session.send(features); | 173 session.send(features); |
| 172 end, -1500); | 174 end, -1500); |
