Changeset

12806:751bdd412915

mod_s2s: Record stanza size limit advertised by other servers For future use, i.e. canceling sending of stanzas that exceed the limit
author Kim Alvefur <zash@zash.se>
date Tue, 16 Mar 2021 18:30:34 +0100
parents 12805:d96e24bd54e1
children 12807:f0f7b0c61465
files plugins/mod_s2s.lua
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/mod_s2s.lua	Tue Mar 16 18:25:05 2021 +0100
+++ b/plugins/mod_s2s.lua	Tue Mar 16 18:30:34 2021 +0100
@@ -250,6 +250,10 @@
 	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