comparison mod_sasl2/mod_sasl2.lua @ 5650:0eb2d5ea2428

merge
author Stephen Paul Weber <singpolyma@singpolyma.net>
date Sat, 06 May 2023 19:40:23 -0500
parents 6526b670e66d
children 2597e2113561
comparison
equal deleted inserted replaced
5649:2c69577b28c2 5650:0eb2d5ea2428
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);
204 return handle_status(session, "failure", "invalid-mechanism"); 206 return handle_status(session, "failure", "invalid-mechanism");
205 end 207 end
206 local user_agent = auth:get_child("user-agent"); 208 local user_agent = auth:get_child("user-agent");
207 if user_agent then 209 if user_agent then
208 session.client_id = user_agent.attr.id; 210 session.client_id = user_agent.attr.id;
211 sasl_handler.user_agent = {
212 software = user_agent:get_child_text("software");
213 device = user_agent:get_child_text("device");
214 };
209 end 215 end
210 local initial = auth:get_child_text("initial-response"); 216 local initial = auth:get_child_text("initial-response");
211 return process_cdata(session, initial); 217 return process_cdata(session, initial);
212 end); 218 end);
213 219