Mercurial > prosody-modules
comparison mod_sasl2_bind2/mod_sasl2_bind2.lua @ 5060:bc491065c221
mod_sasl2_bind2, mod_sasl2_sm: Remove bind2 <features/> wrapper element
This was dropped from the spec. It's more consistent with SASL2.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Tue, 27 Sep 2022 18:23:42 +0100 |
| parents | 023f21bfcc08 |
| children | f2dfbcc676a6 |
comparison
equal
deleted
inserted
replaced
| 5059:5f1120c284c5 | 5060:bc491065c221 |
|---|---|
| 42 end | 42 end |
| 43 | 43 |
| 44 -- Enable inline features requested by the client | 44 -- Enable inline features requested by the client |
| 45 | 45 |
| 46 local function enable_features(session, bind_request, bind_result) | 46 local function enable_features(session, bind_request, bind_result) |
| 47 local features = bind_request:get_child("features"); | |
| 48 if not features then return; end | |
| 49 module:fire_event("enable-bind-features", { | 47 module:fire_event("enable-bind-features", { |
| 50 session = session; | 48 session = session; |
| 51 features = features; | 49 request = bind_request; |
| 52 result = bind_result; | 50 result = bind_result; |
| 53 }); | 51 }); |
| 54 end | 52 end |
| 55 | 53 |
| 56 -- SASL 2 integration | 54 -- SASL 2 integration |
| 90 features:tag("feature", { var = "urn:xmpp:carbons:2" }):up(); | 88 features:tag("feature", { var = "urn:xmpp:carbons:2" }):up(); |
| 91 features:tag("feature", { var = "urn:xmpp:csi:0" }):up(); | 89 features:tag("feature", { var = "urn:xmpp:csi:0" }):up(); |
| 92 end); | 90 end); |
| 93 | 91 |
| 94 module:hook("enable-bind-features", function (event) | 92 module:hook("enable-bind-features", function (event) |
| 95 local session, features = event.session, event.features; | 93 local session, request = event.session, event.request; |
| 96 | 94 |
| 97 -- Carbons | 95 -- Carbons |
| 98 if features:get_child("enable", "urn:xmpp:carbons:2") then | 96 if request:get_child("enable", "urn:xmpp:carbons:2") then |
| 99 session.want_carbons = true; | 97 session.want_carbons = true; |
| 100 event.result:tag("enabled", { xmlns = "urn:xmpp:carbons:2" }):up(); | 98 event.result:tag("enabled", { xmlns = "urn:xmpp:carbons:2" }):up(); |
| 101 end | 99 end |
| 102 | 100 |
| 103 -- CSI | 101 -- CSI |
| 104 local csi_state_tag = features:child_with_ns("urn:xmpp:csi:0"); | 102 local csi_state_tag = request:child_with_ns("urn:xmpp:csi:0"); |
| 105 if csi_state_tag then | 103 if csi_state_tag then |
| 106 session.state = csi_state_tag.name; | 104 session.state = csi_state_tag.name; |
| 107 end | 105 end |
| 108 end, 10); | 106 end, 10); |
