Software /
code /
prosody-modules
Comparison
mod_sasl2_bind2/mod_sasl2_bind2.lua @ 5043:17b87fffdb91
mod_sasl2_bind2: Move <inline> into <bind> feature element
This mirrors the equivalent change in SASL2.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 21 Sep 2022 10:31:50 +0100 |
parent | 5039:c0d243b27e64 |
child | 5044:f64d834ba744 |
comparison
equal
deleted
inserted
replaced
5042:166fd192f39c | 5043:17b87fffdb91 |
---|---|
7 local xmlns_bind2 = "urn:xmpp:bind2:1"; | 7 local xmlns_bind2 = "urn:xmpp:bind2:1"; |
8 local xmlns_sasl2 = "urn:xmpp:sasl:2"; | 8 local xmlns_sasl2 = "urn:xmpp:sasl:2"; |
9 | 9 |
10 -- Advertise what we can do | 10 -- Advertise what we can do |
11 | 11 |
12 module:hook("stream-features", function(event) | 12 module:hook("advertise-sasl-features", function(event) |
13 local origin, features = event.origin, event.features; | 13 local bind = st.stanza("bind", { xmlns = xmlns_bind2 }); |
14 local inline = st.stanza("inline"); | |
15 module:fire_event("advertise-bind-features", { origin = event.session, features = inline }); | |
16 bind:add_direct_child(inline); | |
14 | 17 |
15 if origin.type ~= "c2s_unauthed" then | 18 event.features:add_direct_child(bind); |
16 return; | |
17 end | |
18 | |
19 local inline = st.stanza("inline", { xmlns = xmlns_bind2 }); | |
20 module:fire_event("advertise-bind-features", { origin = origin, features = inline }); | |
21 features:add_direct_child(inline); | |
22 end, 1); | |
23 | |
24 module:hook("advertise-sasl-features", function(event) | |
25 event.features:tag("bind", { xmlns = xmlns_bind2 }):up(); | |
26 end, 1); | 19 end, 1); |
27 | 20 |
28 -- Helper to actually bind a resource to a session | 21 -- Helper to actually bind a resource to a session |
29 | 22 |
30 local function do_bind(session, bind_request) | 23 local function do_bind(session, bind_request) |