Kim Alvefur <zash@zash.se> [Sun, 24 Apr 2022 16:17:32 +0200] rev 12475
mod_smacks: Improve activation of smacks on outgoing s2s
Using a timer was a hack to get around that stream features are not
available at the right time and sendq stanzas were stored as strings
so could not be counted properly. The later has now been fixed and the
former is fixed by recording the relevant stream feature on the session
so that the correct version of XEP-0198 can be activated once the
connection has been authenticated and is ready to start.
Kim Alvefur <zash@zash.se> [Sat, 23 Apr 2022 14:37:43 +0200] rev 12474
util.crand: Reduce scope here too
Same as previous commit
Kim Alvefur <zash@zash.se> [Sat, 23 Apr 2022 14:29:43 +0200] rev 12473
util.strbitop: Reduce scope of functions
Equivalent to 'local' in Lua, these functions are exported via the
luaopen_ function, which is the only one needing to be visible outside
of the file.
Pointed out by Link Mauve at some point, but there wasn't really any
rush here.
Kim Alvefur <zash@zash.se> [Wed, 20 Apr 2022 22:41:54 +0200] rev 12472
net.connect: Fix accumulation of connection attempt references
Connection attempts that failed the Happy Eyeballs race were not
unreferenced and would accumulate.
Tested by inspecting the 'pending_connections_map' after establishing
s2s with a s2s target where the IPv6 port has a -j DROP rule causing it
to time out and the IPv4 attempt wins the race.
Expected is that the losing connection stays around until net.server
timeouts kick in where it should be removed. The map table should tend
towards being empty during idle times.
Matthew Wild <mwild1@gmail.com> [Wed, 13 Apr 2022 18:46:26 +0100] rev 12471
Merge 0.12->trunk
Matthew Wild <mwild1@gmail.com> [Wed, 13 Apr 2022 18:46:11 +0100] rev 12470
util.prosodyctl: check turn: ensure a result is always returned from a check (thanks eTaurus)
Kim Alvefur <zash@zash.se> [Wed, 13 Apr 2022 16:53:19 +0200] rev 12469
make: Install stanza watcher library (thanks Menel)
Matthew Wild <mwild1@gmail.com> [Wed, 23 Mar 2022 13:43:08 +0000] rev 12468
mod_admin_shell: Add watch:stanzas() command
Matthew Wild <mwild1@gmail.com> [Wed, 23 Mar 2022 13:42:44 +0000] rev 12467
mod_debug_stanzas/watcher: New module library to dynamically 'watch' for stanzas
Matthew Wild <mwild1@gmail.com> [Wed, 23 Mar 2022 15:25:22 +0000] rev 12466
mod_s2s: Store real stanzas in session.sendq, rather than strings
This is the "right" thing to do. Strings were more memory-efficient, but
e.g. bypassed stanza filters at reconnection time. Also not being stanzas
prevents us from potential future work, such as merging sendq with mod_smacks.
Regarding performance: we should counter the probable negative effect of this
change with other positive changes that are desired anyway - e.g. a limit on
the size of the sendq, improved in-memory representation of stanzas, s2s
backoff (e.g. if a remote server is persistently unreachable, cache this
failure for a while and don't just keep forever queuing stanzas for it).