aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorJonas Schäfer <jonas@wielicki.name>2022-10-03 12:55:11 +0200
committerJonas Schäfer <jonas@wielicki.name>2022-10-03 12:55:11 +0200
commit865b6da69d39c716c9fb073d4ac79d662c901f74 (patch)
tree40cc501dfd0e2a33b328d05b5153b244715121d6 /plugins
parente7bfb40a324c806c350f4c87cd41e3b83033377e (diff)
downloadprosody-865b6da69d39c716c9fb073d4ac79d662c901f74.tar.gz
prosody-865b6da69d39c716c9fb073d4ac79d662c901f74.zip
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
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mod_smacks.lua3
1 files changed, 2 insertions, 1 deletions
diff --git a/plugins/mod_smacks.lua b/plugins/mod_smacks.lua
index eaba198d..08ebcfec 100644
--- a/plugins/mod_smacks.lua
+++ b/plugins/mod_smacks.lua
@@ -57,6 +57,7 @@ local it = require"util.iterators";
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 @@ function handle_resume(session, stanza, xmlns_sm)
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