Changeset

12739:0dc80024fdd2

Backed out changeset 1bc2220cd6ec The use of the error helpers creates an `<error/>` child element containing the error condition. This is however not allowed as per XEP-0198, which specifies that the error condition is to be a direct child of the `<failed/>` stream management element. This has triggered a fun reconnect loop in aioxmpp where it was reported by a user [1]. [1]: https://github.com/horazont/aioxmpp/issues/382
author Jonas Schäfer <jonas@wielicki.name>
date Mon, 03 Oct 2022 12:55:11 +0200
parents 12738:62100f31eb8a
children 12740:f58c6ae5edc1
files plugins/mod_smacks.lua
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/mod_smacks.lua	Fri Sep 30 20:38:31 2022 +0100
+++ b/plugins/mod_smacks.lua	Mon Oct 03 12:55:11 2022 +0200
@@ -57,6 +57,7 @@
 
 local sessionmanager = require "core.sessionmanager";
 
+local xmlns_errors = "urn:ietf:params:xml:ns:xmpp-stanzas";
 local xmlns_delay = "urn:xmpp:delay";
 local xmlns_mam2 = "urn:xmpp:mam:2";
 local xmlns_sm2 = "urn:xmpp:sm:2";
@@ -647,7 +648,7 @@
 	local resumed, err = do_resume(session, stanza);
 	if not resumed then
 		session.send(st.stanza("failed", { xmlns = xmlns_sm, h = format_h(err.context.h) })
-			:add_error(err));
+			:tag(err.condition, { xmlns = xmlns_errors }));
 		return true;
 	end