Kim Alvefur <zash@zash.se> [Tue, 16 Mar 2021 18:17:05 +0100] rev 12808
mod_c2s: Advertise stanza size limit to clients
Should help clients avoid sending stanzas that will get their stream
killed. Custom namespace while ironing out the protocol.
My spoon is too big!
Kim Alvefur <zash@zash.se> [Sun, 13 Nov 2022 19:44:53 +0100] rev 12807
mod_smacks: Factor out resumption token table key generation
So that happens in a single place, where it can be changed easier.
Kim Alvefur <zash@zash.se> [Mon, 12 Dec 2022 07:10:54 +0100] rev 12806
Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Mon, 12 Dec 2022 20:40:23 +0100] rev 12805
Tag 0.12.2
Kim Alvefur <zash@zash.se> [Fri, 18 Nov 2022 16:18:47 +0100] rev 12804
mod_smacks: Only track resumable sessions
Required due to track_session() having moved here
Kim Alvefur <zash@zash.se> [Mon, 12 Dec 2022 07:07:13 +0100] rev 12803
Merge 0.11->0.12
Kim Alvefur <zash@zash.se> [Mon, 12 Dec 2022 07:03:31 +0100] rev 12802
Tag 0.11.14
Kim Alvefur <zash@zash.se> [Tue, 22 Nov 2022 23:56:01 +0100] rev 12801
util.stanza: Allow U+7F
Allowed by XML despite arguably being a control character.
Drops the part of the range meant to rule out octets invalid in UTF-8
(\247 starts a 4-byte sequence), since UTF-8 correctness is validated by
util.encodings.utf8.valid().
Kim Alvefur <zash@zash.se> [Sun, 13 Nov 2022 18:16:59 +0100] rev 12800
mod_smacks: Disable resumption behavior on s2s
Since resumption is not supported on s2s currently, there is no point in
allocating resumption tokens. The code that removes entries from
session_registry is only invoked for c2s sessions, thus enabling
resumable smacks on s2s adds an entry that never goes away.
Matthew Wild <mwild1@gmail.com> [Fri, 02 Dec 2022 20:32:36 +0000] rev 12799
util.hashring: Support associating arbitrary data with nodes
In this API, a 'node' is always a simple text string. Sometimes the caller may
have a more complex structure representing a node, but the hash ring is really
only concerned with the node's name.
This API change allows :add_nodes() to take a table of `node_name = value`
pairs, as well as the simple array of node names previously accepted.
The 'value' of the selected node is returned as a new second result from
:get_node().
If no value is passed when a node is added, it defaults to `true` (as before,
but this was never previously exposed).