<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://hg.omfa.de/prosody-hg/</link>
    <language>en-us</language>

    <title>prosody-hg: plugins/mod_c2s.lua history</title>
    <description>plugins/mod_c2s.lua revision history</description>
    <item>
    <title>Merge 13.0-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/9728c3fabeef/plugins/mod_c2s.lua</link>
    <description><![CDATA[Merge 13.0-&gt;trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 29 Apr 2026 17:12:59 +0100</pubDate>
</item>
<item>
    <title>Merge 0.12-&gt;13.0</title>
    <link>http://hg.omfa.de/prosody-hg/log/e3ddbf7f2d3f/plugins/mod_c2s.lua</link>
    <description><![CDATA[Merge 0.12-&gt;13.0]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 29 Apr 2026 17:12:11 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Remove timers immediately on disconnection</title>
    <link>http://hg.omfa.de/prosody-hg/log/ead9e645741a/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Remove timers immediately on disconnection]]></description>
    <author>&#87;&#97;&#113;&#97;&#115;&#32;&#72;&#117;&#115;&#115;&#97;&#105;&#110;&#32;&#60;&#119;&#97;&#113;&#97;&#115;&#50;&#48;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 16 Apr 2026 18:59:56 +0100</pubDate>
</item>
<item>
    <title>mod_c2s, mod_s2s: Add configurable limit for stanza max child elements</title>
    <link>http://hg.omfa.de/prosody-hg/log/363a79f54109/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s, mod_s2s: Add configurable limit for stanza max child elements]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 16 Apr 2026 18:53:34 +0100</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Introduce separate pre-authentication stanza size limit</title>
    <link>http://hg.omfa.de/prosody-hg/log/fed0dd8dda09/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Introduce separate pre-authentication stanza size limit<br/>
<br/>
This should prevent unauthenticated resource use via the XML parser.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 07 Apr 2026 20:35:41 +0200</pubDate>
</item>
<item>
    <title>Merge 13.0-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/320e1d49aa9e/plugins/mod_c2s.lua</link>
    <description><![CDATA[Merge 13.0-&gt;trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 21 Apr 2026 16:23:34 +0100</pubDate>
</item>
<item>
    <title>mod_c2s, mod_smacks: Refactor session/connection cleanup</title>
    <link>http://hg.omfa.de/prosody-hg/log/1d028f9473c2/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s, mod_smacks: Refactor session/connection cleanup<br/>
<br/>
mod_smacks was preventing mod_c2s cleanup by directly modifying the mod_c2s<br/>
sessions table. It did this to avoid mod_c2s trying to destroy the session<br/>
when the connection was closed.<br/>
<br/>
The code that does IP counting in mod_limits was experiencing counter drift,<br/>
likely because of mod_smacks disassociating the session from the connection<br/>
before the c2s-closed event is fired.<br/>
<br/>
This change has mod_c2s skip the session cleanup if it sees the 'hibernating'<br/>
property is set on the session. This is a less invasive way of performing the<br/>
same thing. Importantly, c2s-closed still gets to run and fire with the<br/>
original session object.<br/>
<br/>
It might be desirable to remove the 'hibernating' check here and switch to a<br/>
more generic event-driven design (where mod_smacks can inhibit cleanup by<br/>
adding an event handler). This change was deemed too large for a minor<br/>
release, but may be made in trunk.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 21 Apr 2026 16:22:43 +0100</pubDate>
</item>
<item>
    <title>Merge 13.0-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/c1469296190d/plugins/mod_c2s.lua</link>
    <description><![CDATA[Merge 13.0-&gt;trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 17 Apr 2026 14:35:32 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Remove timers immediately on disconnection</title>
    <link>http://hg.omfa.de/prosody-hg/log/836a70deb3c9/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Remove timers immediately on disconnection]]></description>
    <author>&#87;&#97;&#113;&#97;&#115;&#32;&#72;&#117;&#115;&#115;&#97;&#105;&#110;&#32;&#60;&#119;&#97;&#113;&#97;&#115;&#50;&#48;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 16 Apr 2026 18:59:56 +0100</pubDate>
</item>
<item>
    <title>mod_c2s, mod_s2s: Add configurable limit for stanza max child elements</title>
    <link>http://hg.omfa.de/prosody-hg/log/1e005ba71f0d/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s, mod_s2s: Add configurable limit for stanza max child elements]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 16 Apr 2026 18:53:34 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Fire a c2s-connected event</title>
    <link>http://hg.omfa.de/prosody-hg/log/863da67a4b51/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Fire a c2s-connected event<br/>
<br/>
We already fire events for most of the other connection callbacks, this one<br/>
was missing, but is useful.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 16 Apr 2026 16:11:44 +0100</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Introduce separate pre-authentication stanza size limit</title>
    <link>http://hg.omfa.de/prosody-hg/log/8a4417d32b0f/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Introduce separate pre-authentication stanza size limit<br/>
<br/>
This should prevent unauthenticated resource use via the XML parser.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 07 Apr 2026 20:35:41 +0200</pubDate>
</item>
<item>
    <title>mod_c2s: Fix typo</title>
    <link>http://hg.omfa.de/prosody-hg/log/97d15552d364/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Fix typo]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 01 Oct 2025 17:39:20 +0200</pubDate>
</item>
<item>
    <title>mod_c2s: Improve user-facing error reporting when unable to proceed</title>
    <link>http://hg.omfa.de/prosody-hg/log/75a3ac3ad198/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Improve user-facing error reporting when unable to proceed<br/>
<br/>
&quot;No stream features to proceed with&quot; isn't easy to understand for users,<br/>
with &quot;stream features&quot; being jargon and the whole thing being about the<br/>
technical aspect of XMPP stream negotiation.<br/>
<br/>
The log messages aimed at admins are hopefully easier understood.<br/>
<br/>
These cases occur when either connection security (i.e. mod_tls or<br/>
certificate settings) or authentication (mod_saslauth, auth provider) is<br/>
misconfigured or not loaded.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 01 Oct 2025 17:25:15 +0200</pubDate>
</item>
<item>
    <title>mod_c2s: Avoid calling module:context() with unknown hosts</title>
    <link>http://hg.omfa.de/prosody-hg/log/52cf3ec248a9/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Avoid calling module:context() with unknown hosts<br/>
<br/>
Related to e6c6f58dfda1, a0faff6ba853 and #605]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 05 Aug 2025 13:11:28 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Code formatting change</title>
    <link>http://hg.omfa.de/prosody-hg/log/667a58e74fd9/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Code formatting change<br/>
<br/>
Although we do sometimes use single-line if blocks, I'm expanding this one to<br/>
make it easier to compare with the duplicated (but modified) code in<br/>
mod_websocket that we plan to de-duplicate one day.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 11 Mar 2025 18:37:16 +0000</pubDate>
</item>
<item>
    <title>mod_c2s: Add debug log when disconnecting all user sessions</title>
    <link>http://hg.omfa.de/prosody-hg/log/1b2de94f0580/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Add debug log when disconnecting all user sessions]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 06 Feb 2025 12:40:11 +0000</pubDate>
</item>
<item>
    <title>mod_c2s, mod_s2s: Support for queuing callbacks to run in session thread</title>
    <link>http://hg.omfa.de/prosody-hg/log/750ff9f579e2/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s, mod_s2s: Support for queuing callbacks to run in session thread<br/>
<br/>
This allows certain session-specific code that needs to run in the async<br/>
context, but is itself triggered outside of that context (e.g. timers), to<br/>
be queued.<br/>
<br/>
An example of this is the session destruction code of mod_smacks, when the<br/>
hibernation timeout is reached.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 21 Nov 2024 17:02:07 +0000</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Advertise idle-seconds per XEP-0478</title>
    <link>http://hg.omfa.de/prosody-hg/log/2159a206684e/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Advertise idle-seconds per XEP-0478<br/>
<br/>
This is the time after liveness checks are performed via the respective<br/>
read-timeout event, which by default involves sending a space character<br/>
but could be overridden e.g. as is done by mod_smacks.<br/>
<br/>
Only advertised, unsure what we would do with it.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 03 Aug 2024 16:28:59 +0200</pubDate>
</item>
<item>
    <title>mod_c2s: Fix error on role change on Components (thanks Menel)</title>
    <link>http://hg.omfa.de/prosody-hg/log/7dc7e2e15b2a/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Fix error on role change on Components (thanks Menel)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 17 Feb 2024 19:07:57 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Make c2s_timeout timer reachable to allow access from other modules</title>
    <link>http://hg.omfa.de/prosody-hg/log/57ad1dfd8e8b/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Make c2s_timeout timer reachable to allow access from other modules<br/>
<br/>
E.g. the timeout could be extended under certain conditions.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 03 Dec 2023 15:46:33 +0100</pubDate>
</item>
<item>
    <title>mod_saslauth, mod_c2s: Disable tls-server-end-point channel binding by default</title>
    <link>http://hg.omfa.de/prosody-hg/log/38c95544b7ee/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_saslauth, mod_c2s: Disable tls-server-end-point channel binding by default<br/>
<br/>
This channel binding method is now enabled when a hash is manually set in the<br/>
config, or it attempts to discover the hash automatically if the value is the<br/>
special string &quot;auto&quot;.<br/>
<br/>
A related change to mod_c2s prevents complicated certificate lookups in the<br/>
client connection hot path - this work now happens only when this channel<br/>
binding method is used. I'm not aware of anything else that uses ssl_cfg (vs<br/>
ssl_ctx).<br/>
<br/>
Rationale for disabling by default:<br/>
<br/>
- Minor performance impact in automatic cert detection<br/>
- This method is weak against a leaked/stolen private key (other methods such<br/>
  as 'tls-exporter' would not be compromised in such a case)<br/>
<br/>
Rationale for keeping the implementation:<br/>
<br/>
- For some deployments, this may be the only method available (e.g. due to<br/>
  TLS offloading in another process/server).]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 26 Oct 2023 15:14:39 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Add session.ssl_cfg/ssl_ctx for direct TLS connections</title>
    <link>http://hg.omfa.de/prosody-hg/log/cf8a6710c91c/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Add session.ssl_cfg/ssl_ctx for direct TLS connections]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 07 Sep 2022 11:29:00 +0100</pubDate>
</item>
<item>
    <title>plugins: Handle how get_option_period returns &quot;never&quot;</title>
    <link>http://hg.omfa.de/prosody-hg/log/26c30844cac6/plugins/mod_c2s.lua</link>
    <description><![CDATA[plugins: Handle how get_option_period returns &quot;never&quot;]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 21 Jul 2023 17:23:00 +0200</pubDate>
</item>
<item>
    <title>plugins: Use integer config API with interval specification where sensible</title>
    <link>http://hg.omfa.de/prosody-hg/log/50324f66ca2a/plugins/mod_c2s.lua</link>
    <description><![CDATA[plugins: Use integer config API with interval specification where sensible<br/>
<br/>
Many of these fall into a few categories:<br/>
- util.cache size, must be &gt;= 1<br/>
- byte or item counts that logically can't be negative<br/>
- port numbers that should be in 1..0xffff]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 17 Jul 2023 01:38:54 +0200</pubDate>
</item>
<item>
    <title>plugins: Switch to :get_option_period() for time range options</title>
    <link>http://hg.omfa.de/prosody-hg/log/c8d949cf6b09/plugins/mod_c2s.lua</link>
    <description><![CDATA[plugins: Switch to :get_option_period() for time range options<br/>
<br/>
Improves readability (&quot;1 day&quot; vs 86400) and centralizes validation.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 16 Jul 2023 20:49:33 +0200</pubDate>
</item>
<item>
    <title>core.sessionmanager: Delay closing a replaced connection after replacement</title>
    <link>http://hg.omfa.de/prosody-hg/log/1693bd4de283/plugins/mod_c2s.lua</link>
    <description><![CDATA[core.sessionmanager: Delay closing a replaced connection after replacement<br/>
<br/>
Closing the session invokes ondisconnect and session close logic,<br/>
including mod_smacks hibernation and the timer that destroys the session<br/>
after a timeout.<br/>
<br/>
By closing the connection after it has been detached from the sessions<br/>
table it will no longer invoke the ondetach handler, which should<br/>
prevent the above problem.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 07 May 2023 12:27:55 +0200</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Fix tag name for SLA (thanks mjk)</title>
    <link>http://hg.omfa.de/prosody-hg/log/93c68c454cb8/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Fix tag name for SLA (thanks mjk)<br/>
<br/>
The (still not published) XEP-xxxx: Stream Limits Advertisement uses the<br/>
element &lt;max-bytes/&gt; to advertise the maximum octet size of top level<br/>
stream elements. &quot;size&quot; was probably a leftover of an even earlier<br/>
version of the (Proto)XEP.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 03 May 2023 18:02:11 +0200</pubDate>
</item>
<item>
    <title>plugins: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/74b9e05af71e/plugins/mod_c2s.lua</link>
    <description><![CDATA[plugins: Prefix module imports with prosody namespace]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 24 Mar 2023 13:15:28 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Disconnect accounts when they are disabled</title>
    <link>http://hg.omfa.de/prosody-hg/log/d2333b468d07/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Disconnect accounts when they are disabled<br/>
<br/>
We decided that at the first stage, accounts that are disabled should<br/>
simply be prevented from authenticating, thus they should also be<br/>
prevented from having connected sessions.  Since this is aimed to be a<br/>
moderation action for cases of abuse, they shouldn't be allowed to<br/>
continue being connected.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 23 Feb 2023 16:28:57 +0100</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Adapt to XEP-xxxx: Stream Limits Advertisement</title>
    <link>http://hg.omfa.de/prosody-hg/log/12bd40b8e105/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Adapt to XEP-xxxx: Stream Limits Advertisement<br/>
<br/>
Thanks MattJ]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 20 Oct 2022 14:04:56 +0200</pubDate>
</item>
<item>
    <title>mod_c2s: Advertise stanza size limit to clients</title>
    <link>http://hg.omfa.de/prosody-hg/log/3eef052c72d8/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Advertise stanza size limit to clients<br/>
<br/>
Should help clients avoid sending stanzas that will get their stream<br/>
killed.  Custom namespace while ironing out the protocol.<br/>
<br/>
My spoon is too big!]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 16 Mar 2021 18:17:05 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Include stream attributes in stream-features event</title>
    <link>http://hg.omfa.de/prosody-hg/log/f100c1035576/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Include stream attributes in stream-features event<br/>
<br/>
We need this to access 'from' in SASL2/FAST.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 14 Oct 2022 11:21:16 +0100</pubDate>
</item>
<item>
    <title>mod_smacks: Long overdue cleanup of resumption code, fixes some old TODOs</title>
    <link>http://hg.omfa.de/prosody-hg/log/3b9771d496ed/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_smacks: Long overdue cleanup of resumption code, fixes some old TODOs]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 26 Aug 2022 17:04:15 +0100</pubDate>
</item>
<item>
    <title>mod_authz_internal, and more: New iteration of role API</title>
    <link>http://hg.omfa.de/prosody-hg/log/07424992d7fc/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_authz_internal, and more: New iteration of role API<br/>
<br/>
These changes to the API (hopefully the last) introduce a cleaner separation<br/>
between the user's primary (default) role, and their secondary (optional)<br/>
roles.<br/>
<br/>
To keep the code sane and reduce complexity, a data migration is needed for<br/>
people using stored roles in 0.12. This can be performed with<br/>
<br/>
  prosodyctl mod_authz_internal migrate &lt;host&gt;]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 17 Aug 2022 16:38:53 +0100</pubDate>
</item>
<item>
    <title>net: isolate LuaSec-specifics</title>
    <link>http://hg.omfa.de/prosody-hg/log/7e9ebdc75ce4/plugins/mod_c2s.lua</link>
    <description><![CDATA[net: isolate LuaSec-specifics<br/>
<br/>
For this, various accessor functions are now provided directly on the<br/>
sockets, which reach down into the LuaSec implementation to obtain the<br/>
information.<br/>
<br/>
While this may seem of little gain at first, it hides the implementation<br/>
detail of the LuaSec+LuaSocket combination that the actual socket and<br/>
the TLS layer are separate objects.<br/>
<br/>
The net gain here is that an alternative implementation does not have to<br/>
emulate that specific implementation detail and &quot;only&quot; has to expose<br/>
LuaSec-compatible data structures on the new functions.]]></description>
    <author>&#74;&#111;&#110;&#97;&#115;&#32;&#83;&#99;&#104;&#228;&#102;&#101;&#114;&#32;&#60;&#106;&#111;&#110;&#97;&#115;&#64;&#119;&#105;&#101;&#108;&#105;&#99;&#107;&#105;&#46;&#110;&#97;&#109;&#101;&#62;</author>
    <pubDate>Wed, 27 Apr 2022 17:44:14 +0200</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Fix error on shutdown (Thanks Martin)</title>
    <link>http://hg.omfa.de/prosody-hg/log/bc30e1b9ad89/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Fix error on shutdown (Thanks Martin)<br/>
<br/>
Since there are two calls to done() that can happen, if the timing is<br/>
right (or wrong) both can happen, which previously triggered an error.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 22 Feb 2022 14:17:27 +0100</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Wrap callback to improve tracebacks</title>
    <link>http://hg.omfa.de/prosody-hg/log/926a6c5d13e7/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Wrap callback to improve tracebacks<br/>
<br/>
Should make traces point here instead of timer dispatch, making<br/>
debugging easier]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 22 Feb 2022 12:35:31 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Ignore unused event payload [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/6a8c680b8677/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Ignore unused event payload [luacheck]]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 18 Feb 2022 23:13:01 +0100</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Wait for sessions to close before proceeding with shutdown steps</title>
    <link>http://hg.omfa.de/prosody-hg/log/4f1fe6eb1ddb/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Wait for sessions to close before proceeding with shutdown steps<br/>
<br/>
Ensures unavailable presence and other outgoing stanzas are sent.<br/>
<br/>
Waiting for c2s sessions to close first before proceeding to disable and<br/>
close s2s ensures that unavailable presence can go out, even if it<br/>
requires dialback to complete first.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 17 Feb 2022 03:49:47 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Close ports in a separate, earlier event from closing sessions</title>
    <link>http://hg.omfa.de/prosody-hg/log/fb74ff16620c/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Close ports in a separate, earlier event from closing sessions<br/>
<br/>
Lets other things step in and do things while c2s ports are closed, e.g.<br/>
mod_smacks, or other modules with port handlers that forward to c2s.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 18 Feb 2022 14:25:22 +0100</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Disable and close port listeners before closing sessions</title>
    <link>http://hg.omfa.de/prosody-hg/log/cb459f8fa740/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Disable and close port listeners before closing sessions<br/>
<br/>
This ensures no new clients can start connecting during shutdown]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 11 Feb 2022 21:36:53 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Fire pre-closing event regardless of connected state</title>
    <link>http://hg.omfa.de/prosody-hg/log/85c8fcb4192e/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Fire pre-closing event regardless of connected state<br/>
<br/>
With mod_smacks, a session can outlive the connection, so whether the<br/>
event is fired should not hinge on whether the session is connected or<br/>
not.<br/>
<br/>
Helps mod_smacks remove some state.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 18 Dec 2021 13:43:57 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Add event just before closing as session</title>
    <link>http://hg.omfa.de/prosody-hg/log/a7c183bb4e64/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Add event just before closing as session<br/>
<br/>
To allow modules to do things just before the session is closed. The<br/>
'(pre-)resource-unbind' events are fired after the stream is closed,<br/>
leaving no way to send something.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 01 Dec 2021 15:06:48 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Disconnect user sessions on a role change event</title>
    <link>http://hg.omfa.de/prosody-hg/log/6d06068363aa/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Disconnect user sessions on a role change event<br/>
<br/>
The overlapping logic for deletion and password changed has been merged into<br/>
a single function.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 12 Nov 2021 13:26:05 +0000</pubDate>
</item>
<item>
    <title>mod_c2s,etc: Identify stanza object with appropriate function</title>
    <link>http://hg.omfa.de/prosody-hg/log/ae093c259da2/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,etc: Identify stanza object with appropriate function<br/>
<br/>
Better than duck typing, in case anyone ever passes a non-stanza table<br/>
with a 'name' field.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 24 Oct 2021 15:17:01 +0200</pubDate>
</item>
<item>
    <title>mod_c2s: Rename Direct TLS listener 'c2s_direct_tls' for clarity</title>
    <link>http://hg.omfa.de/prosody-hg/log/f254fd16218a/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Rename Direct TLS listener 'c2s_direct_tls' for clarity<br/>
<br/>
And to follow existing naming practices better than 'legacy_ssl' did.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 09 Sep 2021 22:14:43 +0200</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Indicate stanza size violation with condition from XEP-0205 (thanks mjk)</title>
    <link>http://hg.omfa.de/prosody-hg/log/d2a9aa1c7ac8/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Indicate stanza size violation with condition from XEP-0205 (thanks mjk)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 06 Sep 2021 23:21:25 +0200</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/9f723b54e111/plugins/mod_c2s.lua</link>
    <description><![CDATA[Merge 0.11-&gt;trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 26 Aug 2021 16:42:42 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Indicate stream secure state in error text when no stream features to offer</title>
    <link>http://hg.omfa.de/prosody-hg/log/68faaf936f6d/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Indicate stream secure state in error text when no stream features to offer]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 06 Jul 2021 08:18:28 +0100</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Fire event just before writes</title>
    <link>http://hg.omfa.de/prosody-hg/log/9c450185bac1/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Fire event just before writes<br/>
<br/>
Could allow e.g. a XEP-0198 implementation to efficiently send ack<br/>
requests at optimal times without using timers or nextTick.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 16 Aug 2021 12:45:14 +0200</pubDate>
</item>
<item>
    <title>mod_c2s: Guard against LuaSec not returning TLS info (thanks Martin)</title>
    <link>http://hg.omfa.de/prosody-hg/log/a62146353528/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Guard against LuaSec not returning TLS info (thanks Martin)<br/>
<br/>
The :info() method has been observed to return nothing ... sometimes.<br/>
Unclear what causes it. Perhaps the TLS connection was shut down or<br/>
hasn't fully settled?<br/>
<br/>
The LuaSec code has code paths that return nothing or nil, error, so it<br/>
is best to guard against it.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 21 Jun 2021 13:36:05 +0200</pubDate>
</item>
<item>
    <title>mod_c2s: Log the same messages for Direct TLS as with starttls</title>
    <link>http://hg.omfa.de/prosody-hg/log/d629135450ec/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Log the same messages for Direct TLS as with starttls<br/>
<br/>
^C^V]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 20 Jun 2021 18:15:59 +0200</pubDate>
</item>
<item>
    <title>mod_c2s: Update a comment to reflect Direct TLS</title>
    <link>http://hg.omfa.de/prosody-hg/log/8f0fe74ede94/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Update a comment to reflect Direct TLS]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 20 Jun 2021 18:14:18 +0200</pubDate>
</item>
<item>
    <title>mod_c2s: Add a Direct TLS listener</title>
    <link>http://hg.omfa.de/prosody-hg/log/1ac8976f09a9/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Add a Direct TLS listener<br/>
<br/>
This only differs from 'legacy_ssl' in name, at least on the server<br/>
side. For clients this is the one that uses SRV records.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 20 Jun 2021 16:51:08 +0200</pubDate>
</item>
<item>
    <title>mod_c2s,mod_s2s: Collect stats on TLS versions and ciphers</title>
    <link>http://hg.omfa.de/prosody-hg/log/b2610460d9ab/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s,mod_s2s: Collect stats on TLS versions and ciphers]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 16 Jun 2021 00:00:17 +0200</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/3bbb1af92514/plugins/mod_c2s.lua</link>
    <description><![CDATA[Merge 0.11-&gt;trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 13 May 2021 11:17:13 +0100</pubDate>
</item>
<item>
    <title>mod_c2s, mod_s2s, mod_component, mod_bosh, mod_websockets: Set default stanza size limits</title>
    <link>http://hg.omfa.de/prosody-hg/log/1937b3c3efb5/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s, mod_s2s, mod_component, mod_bosh, mod_websockets: Set default stanza size limits<br/>
<br/>
c2s/bosh/ws streams will default to 256KB, s2s and components to 512KB.<br/>
<br/>
These values are aligned with ejabberd's default settings, which should reduce<br/>
issues related to inconsistent size limits between servers on the XMPP network.<br/>
<br/>
The previous default (10MB) is excessive for any production server, and allows<br/>
significant memory usage by even unauthenticated sessions.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 07 May 2021 17:03:49 +0100</pubDate>
</item>
<item>
    <title>mod_c2s: Port to new OpenMetrics API</title>
    <link>http://hg.omfa.de/prosody-hg/log/6de302b53a3e/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Port to new OpenMetrics API]]></description>
    <author>&#74;&#111;&#110;&#97;&#115;&#32;&#83;&#99;&#104;&#228;&#102;&#101;&#114;&#32;&#60;&#106;&#111;&#110;&#97;&#115;&#64;&#119;&#105;&#101;&#108;&#105;&#99;&#107;&#105;&#46;&#110;&#97;&#109;&#101;&#62;</author>
    <pubDate>Sun, 18 Apr 2021 12:34:17 +0200</pubDate>
</item>
<item>
    <title>mod_c2s: Fix traceback if session was destroyed while opening stream (thanks Ge0rG)</title>
    <link>http://hg.omfa.de/prosody-hg/log/f7275c2c58fa/plugins/mod_c2s.lua</link>
    <description><![CDATA[mod_c2s: Fix traceback if session was destroyed while opening stream (thanks Ge0rG)<br/>
<br/>
Could happen with the 'opportunistic_writes' setting, since then the<br/>
stream opening is written directly to the socket, which can in turn<br/>
trigger session destruction if the socket somehow got closed just after<br/>
the other sent their stream header.<br/>
<br/>
Error happens later when it tries to `hosts[session.host == nil].events`]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 14 Apr 2021 16:02:47 +0200</pubDate>
</item>

  </channel>
</rss>
