Software /
code /
prosody
Comparison
plugins/mod_component.lua @ 8233:4e7269c53659
mod_component, mod_s2s: Iterate over child tags instead of child nodes (can include text) in stream error (same as 176b7f4e4ac9)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 14 Sep 2017 01:27:36 +0200 |
parent | 6773:ef22c17cc24d |
child | 8234:97b3ca502547 |
comparison
equal
deleted
inserted
replaced
8232:176b7f4e4ac9 | 8233:4e7269c53659 |
---|---|
149 elseif error == "parse-error" then | 149 elseif error == "parse-error" then |
150 session.log("warn", "External component %s XML parse error: %s", tostring(session.host), tostring(data)); | 150 session.log("warn", "External component %s XML parse error: %s", tostring(session.host), tostring(data)); |
151 session:close("not-well-formed"); | 151 session:close("not-well-formed"); |
152 elseif error == "stream-error" then | 152 elseif error == "stream-error" then |
153 local condition, text = "undefined-condition"; | 153 local condition, text = "undefined-condition"; |
154 for child in data:children() do | 154 for child in data:childtags(nil, xmlns_xmpp_streams) do |
155 if child.attr.xmlns == xmlns_xmpp_streams then | 155 if child.name ~= "text" then |
156 if child.name ~= "text" then | 156 condition = child.name; |
157 condition = child.name; | 157 else |
158 else | 158 text = child:get_text(); |
159 text = child:get_text(); | 159 end |
160 end | 160 if condition ~= "undefined-condition" and text then |
161 if condition ~= "undefined-condition" and text then | 161 break; |
162 break; | |
163 end | |
164 end | 162 end |
165 end | 163 end |
166 text = condition .. (text and (" ("..text..")") or ""); | 164 text = condition .. (text and (" ("..text..")") or ""); |
167 session.log("info", "Session closed by remote with error: %s", text); | 165 session.log("info", "Session closed by remote with error: %s", text); |
168 session:close(nil, text); | 166 session:close(nil, text); |