mod_s2s: Detect TLS compression
[prosody.git] / util / stanza.lua
index 1449f707e1b7854806303e71c391541802d62e24..a0ab2a5aa0ae5d9be003fba34a2682931154ef81 100644 (file)
@@ -133,14 +133,14 @@ function stanza_mt:children()
 end
 
 function stanza_mt:childtags(name, xmlns)
-       xmlns = xmlns or self.attr.xmlns;
        local tags = self.tags;
        local start_i, max_i = 1, #tags;
        return function ()
                for i = start_i, max_i do
                        local v = tags[i];
                        if (not name or v.name == name)
-                       and (not xmlns or xmlns == v.attr.xmlns) then
+                       and ((not xmlns and self.attr.xmlns == v.attr.xmlns)
+                               or v.attr.xmlns == xmlns) then
                                start_i = i+1;
                                return v;
                        end
@@ -237,7 +237,7 @@ function stanza_mt.get_error(stanza)
        end
        type = error_tag.attr.type;
        
-       for child in error_tag:childtags() do
+       for _, child in ipairs(error_tag.tags) do
                if child.attr.xmlns == xmlns_stanzas then
                        if not text and child.name == "text" then
                                text = child:get_text();