<?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_websocket.lua history</title>
    <description>plugins/mod_websocket.lua revision history</description>
    <item>
    <title>mod_websocket: Merge session close handling changes from mod_c2s (bug fixes)</title>
    <link>http://hg.omfa.de/prosody-hg/log/7c57fb2ffbb0/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Merge session close handling changes from mod_c2s (bug fixes)<br/>
<br/>
This should bring some fixes and general robustness that mod_websocket had<br/>
missed out on. The duplicated code here is not at all ideal. To prevent this<br/>
happening again, we should figure out how to have the common logic in a single<br/>
place, while still being able to do the websocket-specific parts that we need.<br/>
<br/>
The main known bug that this fixes is that it's possible for a session to get<br/>
into a non-destroyable state. For example, if we try to session:close() a<br/>
hibernating session, then session.conn is nil and the function will simply<br/>
return without doing anything. In the mod_c2s code we already handle this, and<br/>
just destroy the session. But if a hibernating websocket session is never<br/>
resumed or becomes non-resumable, it will become immortal!<br/>
<br/>
By merging the fix from mod_c2s, the session should now be correctly<br/>
destroyed.]]></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:44:40 +0000</pubDate>
</item>
<item>
    <title>mod_bosh,mod_websocket: Don't load mod_http_altconnect in global context</title>
    <link>http://hg.omfa.de/prosody-hg/log/08c2b7accd94/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_bosh,mod_websocket: Don't load mod_http_altconnect in global context<br/>
<br/>
It blocked loading on VirtualHosts since it was already loaded globally<br/>
<br/>
Thanks eTaurus]]></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, 22 Feb 2025 21:45:34 +0100</pubDate>
</item>
<item>
    <title>mod_bosh, mod_websocket: Add soft dependency on mod_http_altconnect</title>
    <link>http://hg.omfa.de/prosody-hg/log/c3c4281c1339/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_bosh, mod_websocket: Add soft dependency on mod_http_altconnect]]></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>Sun, 16 Feb 2025 13:32:59 +0000</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_websocket.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_websocket.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>plugins: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/74b9e05af71e/plugins/mod_websocket.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_websocket: Fire pre-session-close event (fixes #1800)</title>
    <link>http://hg.omfa.de/prosody-hg/log/0598d822614f/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Fire pre-session-close event (fixes #1800)<br/>
<br/>
This event was added in a7c183bb4e64 and is required to make mod_smacks know<br/>
that a session was intentionally closed and shouldn't be hibernated (see<br/>
fcea4d9e7502).<br/>
<br/>
Because this was missing from mod_websocket's session.close(), mod_smacks<br/>
would always attempt to hibernate websocket sessions even if they closed<br/>
cleanly.<br/>
<br/>
That mod_websocket has its own copy of session.close() is something to fix<br/>
another day (probably not in the stable branch). So for now this commit makes<br/>
the minimal change to get things working again.<br/>
<br/>
Thanks to Damian and the Jitsi team for reporting.]]></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>Mon, 20 Feb 2023 18:10:15 +0000</pubDate>
</item>
<item>
    <title>mod_http (and dependent modules): Make CORS opt-in by default (fixes #1731)</title>
    <link>http://hg.omfa.de/prosody-hg/log/b33558969b3e/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_http (and dependent modules): Make CORS opt-in by default (fixes #1731)<br/>
<br/>
The same-origin policy enforced by browsers is a security measure that should<br/>
only be turned off when it is safe to do so. It is safe to do so in Prosody's<br/>
default modules, but people may load third-party modules that are unsafe.<br/>
<br/>
Therefore we have flipped the default, so that modules must explicitly opt in<br/>
to having CORS headers added on their requests.]]></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>Mon, 28 Mar 2022 14:53:24 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Only enable host-agnostic HTTP routing when enabled globally</title>
    <link>http://hg.omfa.de/prosody-hg/log/168970ce8543/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Only enable host-agnostic HTTP routing when enabled globally<br/>
<br/>
This way the host-agnostic http://*:5280/ handler is not enabled, but<br/>
BOSH can still be used with any local VirtualHost<br/>
<br/>
Ref #1712]]></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, 04 Feb 2022 17:59:42 +0100</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_websocket.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_bosh,mod_websocket: Make into global-shared modules (...again)</title>
    <link>http://hg.omfa.de/prosody-hg/log/4c0802b52673/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_bosh,mod_websocket: Make into global-shared modules (...again)<br/>
<br/>
Global modules aren't quite considered loaded onto hosts, which<br/>
causes confusion in some cases. They are also reported in the log as<br/>
being served on http://*:5280/foo which is also a bit confusing, and<br/>
can't be clicked.<br/>
<br/>
Global modules also have to have their paths configured in the global<br/>
section, which could be confusing and unexpected.<br/>
<br/>
This global+shared method should be the best of both worlds.]]></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 22:50:23 +0200</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/3bbb1af92514/plugins/mod_websocket.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_websocket.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_websocket: Use mod_http_errors html template #1172</title>
    <link>http://hg.omfa.de/prosody-hg/log/e6122e6a40a0/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Use mod_http_errors html template #1172<br/>
<br/>
Same as the prior commit to mod_bosh]]></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, 21 Feb 2021 06:20:55 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Inherit security status from http request</title>
    <link>http://hg.omfa.de/prosody-hg/log/f9edf26c66fc/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Inherit security status from http request<br/>
<br/>
Allows requests considered secure becasue of a proxy header to carry<br/>
over to the client session.<br/>
<br/>
mod_bosh does this too.]]></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, 18 Feb 2021 10:05:30 +0100</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/6a608ecb3471/plugins/mod_websocket.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>Tue, 29 Sep 2020 15:30:48 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Refactor frame validity checking, also check partially-received frames against constraints</title>
    <link>http://hg.omfa.de/prosody-hg/log/10301c214f4e/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Refactor frame validity checking, also check partially-received frames against constraints]]></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, 29 Sep 2020 15:18:32 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Continue to process data already in the buffer after an error occurs</title>
    <link>http://hg.omfa.de/prosody-hg/log/55d8612ac357/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Continue to process data already in the buffer after an error occurs<br/>
<br/>
Previously any error, or even a normal websocket close frame, would return early,<br/>
leaving potentially entire frames in the buffer unprocessed and then discarded.<br/>
<br/>
This change stops processing new data, but returns an existing processed data up<br/>
to the point of the error/close.]]></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>Mon, 28 Sep 2020 16:36:12 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Enforce stanza size limit and close stream</title>
    <link>http://hg.omfa.de/prosody-hg/log/67fb92e312f1/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Enforce stanza size limit and close stream]]></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, 17 Sep 2020 16:42:36 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Add separate limit for frame buffer size</title>
    <link>http://hg.omfa.de/prosody-hg/log/7ec7dba7ba8b/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Add separate limit for frame buffer size]]></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, 17 Sep 2020 16:42:14 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: handle full frame buffer and raise stream error</title>
    <link>http://hg.omfa.de/prosody-hg/log/fa1821b56f75/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: handle full frame buffer and raise stream error]]></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, 17 Sep 2020 16:41:48 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Switch partial frame buffering to util.dbuffer</title>
    <link>http://hg.omfa.de/prosody-hg/log/ddd0007e0f1b/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Switch partial frame buffering to util.dbuffer<br/>
<br/>
This improves performance and enforces stanza size limits earlier<br/>
in the pipeline.]]></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, 17 Sep 2020 13:04:46 +0100</pubDate>
</item>
<item>
    <title>mod_bosh, mod_websocket: Add config options to override GET responses</title>
    <link>http://hg.omfa.de/prosody-hg/log/2764beb552cd/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_bosh, mod_websocket: Add config options to override GET responses]]></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>Mon, 20 Apr 2020 11:30:59 +0100</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/8941bebd64e4/plugins/mod_websocket.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>Fri, 24 Jan 2020 16:57:25 +0000</pubDate>
</item>
<item>
    <title>mod_websocket: Fire event on session creation (thanks Aaron van Meerten)</title>
    <link>http://hg.omfa.de/prosody-hg/log/37936c72846d/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Fire event on session creation (thanks Aaron van Meerten)]]></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, 24 Jan 2020 16:21:30 +0000</pubDate>
</item>
<item>
    <title>mod_websocket: Fire event on session creation (thanks Aaron van Meerten)</title>
    <link>http://hg.omfa.de/prosody-hg/log/2bc918999615/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Fire event on session creation (thanks Aaron van Meerten)]]></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, 24 Jan 2020 16:21:30 +0000</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/6d4562acef81/plugins/mod_websocket.lua</link>
    <description><![CDATA[Merge 0.11-&gt;trunk]]></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, 02 Jan 2020 10:52:47 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Clear mask bit when reflecting ping frames (fixes #1484)</title>
    <link>http://hg.omfa.de/prosody-hg/log/10d6d0d91f4e/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Clear mask bit when reflecting ping frames (fixes #1484)]]></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, 02 Jan 2020 10:49:37 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Guard against upgrading to websocket from a HEAD request</title>
    <link>http://hg.omfa.de/prosody-hg/log/f2bbad04cf64/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Guard against upgrading to websocket from a HEAD request]]></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, 12 Oct 2019 19:16:43 +0200</pubDate>
</item>
<item>
    <title>plugins: Remove tostring call from logging</title>
    <link>http://hg.omfa.de/prosody-hg/log/0f335815244f/plugins/mod_websocket.lua</link>
    <description><![CDATA[plugins: Remove tostring call from logging<br/>
<br/>
Taken care of by loggingmanager now<br/>
<br/>
Mass-rewrite using lua pattern like `tostring%b()`]]></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, 30 Jul 2019 02:29:36 +0200</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/1f45d316b222/plugins/mod_websocket.lua</link>
    <description><![CDATA[Merge 0.11-&gt;trunk]]></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, 28 Jul 2019 16:43:47 +0200</pubDate>
</item>
<item>
    <title>mod_websocket: Clone stanza before mutating (fixes #1398)</title>
    <link>http://hg.omfa.de/prosody-hg/log/4b3c129e96f2/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Clone stanza before mutating (fixes #1398)<br/>
<br/>
Checking for `stanza.attr.xmlns == nil` to determine if the stanza<br/>
object is an actual stanza (`&lt;message&gt;`, `&lt;presence&gt;` or `&lt;iq&gt;` in the<br/>
`jabber:client` or `jabbber:server` namespace) or some other stream<br/>
element.<br/>
<br/>
Since this mutation is not reverted, it may leak to other places and<br/>
cause them to mistreat stanzas as stream elements. Especially in cases<br/>
like MUC where a single stanza is broadcast to many recipients.]]></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, 20 Jul 2019 04:19:58 +0200</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/b72d2f4153f7/plugins/mod_websocket.lua</link>
    <description><![CDATA[Merge 0.11-&gt;trunk]]></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 Jan 2019 10:44:24 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Log an error if cross_domain_websocket = true is set in a VirtualHost section</title>
    <link>http://hg.omfa.de/prosody-hg/log/7bfc4269dc36/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Log an error if cross_domain_websocket = true is set in a VirtualHost section]]></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 Jan 2019 10:41:00 +0100</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/b87cd83a2685/plugins/mod_websocket.lua</link>
    <description><![CDATA[Merge 0.11-&gt;trunk]]></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, 19 Jan 2019 21:35:16 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Include the value of cross_domain_websocket in debug message</title>
    <link>http://hg.omfa.de/prosody-hg/log/5c5117d41133/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Include the value of cross_domain_websocket in debug message]]></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 Jan 2019 18:37:04 +0100</pubDate>
</item>
<item>
    <title>mod_bosh, mod_websocket: Remove accidentally included dependency on non-existant module</title>
    <link>http://hg.omfa.de/prosody-hg/log/7259a61bacc8/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_bosh, mod_websocket: Remove accidentally included dependency on non-existant module]]></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, 19 Jan 2019 20:03:04 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Drop CORS code in favor of that in mod_http</title>
    <link>http://hg.omfa.de/prosody-hg/log/02735bc82126/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Drop CORS code in favor of that in mod_http<br/>
<br/>
Like for mod_bosh, deprecates consider_websocket_secure and depend on<br/>
mod_http_crossdomain if it is set.]]></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, 04 Oct 2018 12:24:08 +0200</pubDate>
</item>
<item>
    <title>mod_websocket: Silence the one warning instead of ignoring the entire file</title>
    <link>http://hg.omfa.de/prosody-hg/log/02155a10c5e9/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Silence the one warning instead of ignoring the entire file]]></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, 30 Sep 2018 17:55:13 +0200</pubDate>
</item>
<item>
    <title>mod_websocket: Serve HTTP in global context</title>
    <link>http://hg.omfa.de/prosody-hg/log/a6f54df39624/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Serve HTTP in global context]]></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, 22 Sep 2018 00:02:16 +0200</pubDate>
</item>
<item>
    <title>Merge 0.10 -&gt; trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/0e2c1c4d4f78/plugins/mod_websocket.lua</link>
    <description><![CDATA[Merge 0.10 -&gt; trunk<br/>
<br/>
This commit intentionally drops changes from c2b99fa134b3<br/>
and 8da11142fabf which are based on older MUC code.]]></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, 16 May 2018 23:50:08 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Store the request object on the session for use by other modules</title>
    <link>http://hg.omfa.de/prosody-hg/log/4ae8dd415e94/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Store the request object on the session for use by other modules]]></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, 08 May 2018 07:11:33 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Transfer IP address derived by mod_http</title>
    <link>http://hg.omfa.de/prosody-hg/log/d3bbff01df9d/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Transfer IP address derived by mod_http]]></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, 15 Mar 2018 17:52:11 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Convert set to string (syslog sink needs a better fix)</title>
    <link>http://hg.omfa.de/prosody-hg/log/4d0f5ea19851/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Convert set to string (syslog sink needs a better fix)]]></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 May 2017 17:52:29 +0200</pubDate>
</item>
<item>
    <title>mod_websocket: Log state of cross domain set after changing it</title>
    <link>http://hg.omfa.de/prosody-hg/log/f83a2d4826fb/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Log state of cross domain set after changing 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, 03 Apr 2017 17:14:34 +0200</pubDate>
</item>
<item>
    <title>mod_websocket: Make open_stream method behave like the one from util.xmppstream</title>
    <link>http://hg.omfa.de/prosody-hg/log/3629f03817f8/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Make open_stream method behave like the one from util.xmppstream]]></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, 02 Mar 2017 03:03:25 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Include xml:lang attribute on stream &lt;open&gt; (fixes #840)</title>
    <link>http://hg.omfa.de/prosody-hg/log/5b03a8003659/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Include xml:lang attribute on stream &lt;open&gt; (fixes #840)]]></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, 02 Mar 2017 03:03:04 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Set connections starttls method to false to prevent mod_tls from offering starttls (fixes #837)</title>
    <link>http://hg.omfa.de/prosody-hg/log/a6eb3b6bf903/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Set connections starttls method to false to prevent mod_tls from offering starttls (fixes #837)]]></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, 25 Feb 2017 02:15:15 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Allow per-host cross_domain_websocket, defaulting to the base URL of the current host</title>
    <link>http://hg.omfa.de/prosody-hg/log/d6b96e42e8e6/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Allow per-host cross_domain_websocket, defaulting to the base URL of the current host]]></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, 05 Dec 2016 12:23:51 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Add the base URL of each host module is enabled on to 'cross_domain_websocket'</title>
    <link>http://hg.omfa.de/prosody-hg/log/c5ce14539fc4/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Add the base URL of each host module is enabled on to 'cross_domain_websocket']]></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, 05 Dec 2016 12:23:41 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Verify that the client-sent Origin header matches cross_domain_websocket (fixes #652)</title>
    <link>http://hg.omfa.de/prosody-hg/log/2208e6cd0d9f/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Verify that the client-sent Origin header matches cross_domain_websocket (fixes #652)]]></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, 05 Dec 2016 12:22:41 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Use contains_token from util.http for checking if the requested WebSocket sub-protocols include XMPP</title>
    <link>http://hg.omfa.de/prosody-hg/log/e0e1f6d6fb4f/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Use contains_token from util.http for checking if the requested WebSocket sub-protocols include XMPP]]></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, 04 Dec 2016 11:57:26 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Add some debug messages</title>
    <link>http://hg.omfa.de/prosody-hg/log/801d4c8e0f58/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Add some debug messages]]></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, 04 Dec 2016 11:52:22 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Set FIN flag on ping frames (fixes #773)</title>
    <link>http://hg.omfa.de/prosody-hg/log/779a9ef6b4fd/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Set FIN flag on ping frames (fixes #773)]]></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, 04 Nov 2016 13:28:10 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Fix read timeout handler (thanks mt)</title>
    <link>http://hg.omfa.de/prosody-hg/log/7dea28dafc49/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Fix read timeout handler (thanks mt)]]></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, 06 Apr 2016 14:44:51 +0200</pubDate>
</item>
<item>
    <title>mod_websocket: Send a ping on read timeout</title>
    <link>http://hg.omfa.de/prosody-hg/log/4fd984d1e445/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Send a ping on read timeout]]></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, 23 Mar 2016 23:21:03 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Remove warning about unsolicited pong frames &quot;MAY be sent unsolicited&quot; per RFC 6455 (thanks mt)</title>
    <link>http://hg.omfa.de/prosody-hg/log/e327e5b592f5/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Remove warning about unsolicited pong frames &quot;MAY be sent unsolicited&quot; per RFC 6455 (thanks mt)]]></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, 23 Mar 2016 14:31:35 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Make sure stanza xmlns filter runs late in the chain</title>
    <link>http://hg.omfa.de/prosody-hg/log/5f4d0753c818/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Make sure stanza xmlns filter runs late in the chain]]></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 Mar 2016 00:08:33 +0100</pubDate>
</item>
<item>
    <title>mod_websocket: Silence luacheck warnings</title>
    <link>http://hg.omfa.de/prosody-hg/log/f7203c7cb7ff/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Silence luacheck warnings]]></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, 06 Oct 2015 15:30:25 +0200</pubDate>
</item>
<item>
    <title>mod_websocket: Import util.timer and session close timeout config option (thanks fairuz)</title>
    <link>http://hg.omfa.de/prosody-hg/log/861790282dda/plugins/mod_websocket.lua</link>
    <description><![CDATA[mod_websocket: Import util.timer and session close timeout config option (thanks fairuz)]]></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, 06 Oct 2015 15:27:39 +0200</pubDate>
</item>

  </channel>
</rss>
