From 6d0298961d6d4150aa43897baa1c40a49dd4992f Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Tue, 16 Mar 2021 18:30:34 +0100 Subject: mod_s2s: Record stanza size limit advertised by other servers For future use, i.e. canceling sending of stanzas that exceed the limit --- plugins/mod_s2s.lua | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'plugins') diff --git a/plugins/mod_s2s.lua b/plugins/mod_s2s.lua index ebd5633e..a8e707a0 100644 --- a/plugins/mod_s2s.lua +++ b/plugins/mod_s2s.lua @@ -250,6 +250,10 @@ function module.add_host(module) module:hook("s2s-authenticated", make_authenticated, -1); module:hook("s2s-read-timeout", keepalive, -1); module:hook_stanza("http://etherx.jabber.org/streams", "features", function (session, stanza) -- luacheck: ignore 212/stanza + local limits = stanza:get_child("stanza-size-limit", "xmpp:prosody.im/stream/limits"); + if limits then + session.outgoing_stanza_size_limit = tonumber(limits.attr.bytes); + end if session.type == "s2sout" then -- Stream is authenticated and we are seem to be done with feature negotiation, -- so the stream is ready for stanzas. RFC 6120 Section 4.3 -- cgit v1.2.3