Mercurial > prosody-modules
view mod_xmllang_check/mod_xmllang_check.lua @ 6562:5da6fb562df9 default tip
mod_unified_push: Fix push error handling (fixes #2000)
Use the error object that send_iq() passes
as an argument to it's reject callback instead of attempting
and failing to do the parsing in the callback itself.
| author | kmq |
|---|---|
| date | Mon, 06 Jul 2026 14:23:57 +0200 |
| parents | de3dc4297035 |
| children |
line wrap: on
line source
-- Strip invalid xml:lang values from outgoing s2s stanzas. -- -- xmpplang.lib.lua must return a function that validates xml:lang strings. local is_valid_xml_lang = module:require "xmpplang"; local function strip_invalid_xml_lang(element) local xml_lang = element.attr["xml:lang"]; if xml_lang ~= nil and not is_valid_xml_lang(xml_lang, element) then element.attr["xml:lang"] = nil; end for child in element:childtags() do strip_invalid_xml_lang(child); end end module:hook("route/remote", function (event) -- FIXME should we clone the stanza vs modifying in place? -- FIXME should we replace recursively vs checking a specific subset of elements? -- FIXME instead of outgoing, should we clean incoming stanzas from everywhere, so invalid xml:lang stanzas are never sent or stored? strip_invalid_xml_lang(event.stanza); end, 500);
