<?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: util/xml.lua history</title>
    <description>util/xml.lua revision history</description>
    <item>
    <title>util: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/d10957394a3c/util/xml.lua</link>
    <description><![CDATA[util: 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, 17 Mar 2023 16:23:16 +0100</pubDate>
</item>
<item>
    <title>util.xml: Add an option to allow &lt;?processing instructions?&gt;</title>
    <link>http://hg.omfa.de/prosody-hg/log/c78639ee6ccb/util/xml.lua</link>
    <description><![CDATA[util.xml: Add an option to allow &lt;?processing instructions?&gt;<br/>
<br/>
These should generally be safe to just ignore, which should be the<br/>
default behavior of Expat and LuaExpat]]></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 20:47:39 +0100</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/320de3e4b579/util/xml.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, 20 Jan 2022 13:02:24 +0100</pubDate>
</item>
<item>
    <title>util.xml: Deduplicate handlers for restricted XML</title>
    <link>http://hg.omfa.de/prosody-hg/log/ebeb4d959fb3/util/xml.lua</link>
    <description><![CDATA[util.xml: Deduplicate handlers for restricted XML<br/>
<br/>
Makes the code more like util.xmppstream, allowing easier comparisons if<br/>
we ever need to apply fixes in the future.]]></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 Jan 2022 10:51:46 +0100</pubDate>
</item>
<item>
    <title>util.xml: Break reference to help the GC (fix #1711)</title>
    <link>http://hg.omfa.de/prosody-hg/log/e5e0ab93d7f4/util/xml.lua</link>
    <description><![CDATA[util.xml: Break reference to help the GC (fix #1711)<br/>
<br/>
LuaExpat uses a registry reference to track handlers, which makes<br/>
it so that an upvalue like this creates a reference loop that keeps the<br/>
parser and its handlers from being garbage collected. The same issue has<br/>
affected util.xmppstream in the past.<br/>
<br/>
Code for checking:<br/>
<br/>
	local xml_parse = require&quot;util.xml&quot;.parse;<br/>
	for i = 1, 10000 do xml_parse(&quot;&lt;root/&gt;&quot;) end<br/>
	collectgarbage(); collectgarbage();<br/>
	print(collectgarbage(&quot;count&quot;), &quot;KiB&quot;);<br/>
<br/>
A future release of LuaExpat may fix the underlying issue there.]]></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 Jan 2022 09:57:20 +0100</pubDate>
</item>
<item>
    <title>util.xml: Do not allow doctypes, comments or processing instructions</title>
    <link>http://hg.omfa.de/prosody-hg/log/783056b4e448/util/xml.lua</link>
    <description><![CDATA[util.xml: Do not allow doctypes, comments or processing instructions<br/>
<br/>
Yes. This is as bad as it sounds. CVE pending.<br/>
<br/>
In Prosody itself, this only affects mod_websocket, which uses util.xml<br/>
to parse the &lt;open/&gt; frame, thus allowing unauthenticated remote DoS<br/>
using Billion Laughs. However, third-party modules using util.xml may<br/>
also be affected by this.<br/>
<br/>
This commit installs handlers which disallow the use of doctype<br/>
declarations and processing instructions without any escape hatch. It,<br/>
by default, also introduces such a handler for comments, however, there<br/>
is a way to enable comments nontheless.<br/>
<br/>
This is because util.xml is used to parse human-facing data, where<br/>
comments are generally a desirable feature, and also because comments<br/>
are generally harmless.]]></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>Mon, 10 Jan 2022 18:23:54 +0100</pubDate>
</item>
<item>
    <title>util.xml: Do not allow doctypes, comments or processing instructions</title>
    <link>http://hg.omfa.de/prosody-hg/log/53e0ae770917/util/xml.lua</link>
    <description><![CDATA[util.xml: Do not allow doctypes, comments or processing instructions<br/>
<br/>
Yes. This is as bad as it sounds. CVE pending.<br/>
<br/>
In Prosody itself, this only affects mod_websocket, which uses util.xml<br/>
to parse the &lt;open/&gt; frame, thus allowing unauthenticated remote DoS<br/>
using Billion Laughs. However, third-party modules using util.xml may<br/>
also be affected by this.<br/>
<br/>
This commit installs handlers which disallow the use of doctype<br/>
declarations and processing instructions without any escape hatch. It,<br/>
by default, also introduces such a handler for comments, however, there<br/>
is a way to enable comments nontheless.<br/>
<br/>
This is because util.xml is used to parse human-facing data, where<br/>
comments are generally a desirable feature, and also because comments<br/>
are generally harmless.]]></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>Mon, 10 Jan 2022 18:23:54 +0100</pubDate>
</item>
<item>
    <title>util.xml: Use variable instead of constant for consistency (thanks Thijs)</title>
    <link>http://hg.omfa.de/prosody-hg/log/2162e86029b6/util/xml.lua</link>
    <description><![CDATA[util.xml: Use variable instead of constant for consistency (thanks Thijs)]]></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, 26 Dec 2021 20:37:20 +0000</pubDate>
</item>
<item>
    <title>util.xml: Fix float formatting of line and columns in error (on Lua 5.3+)</title>
    <link>http://hg.omfa.de/prosody-hg/log/1d9cd1abc660/util/xml.lua</link>
    <description><![CDATA[util.xml: Fix float formatting of line and columns in error (on Lua 5.3+)]]></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 Oct 2020 16:22:56 +0200</pubDate>
</item>
<item>
    <title>vairious: Add annotation when an empty environment is set [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/4f0f5b49bb03/util/xml.lua</link>
    <description><![CDATA[vairious: Add annotation when an empty environment is set [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>Wed, 28 Feb 2018 20:06:26 +0100</pubDate>
</item>
<item>
    <title>util.xml: Correct stanza.namespaces table construction when duplicate prefix names are encountered in the element tree.</title>
    <link>http://hg.omfa.de/prosody-hg/log/c9af793b2d8f/util/xml.lua</link>
    <description><![CDATA[util.xml: Correct stanza.namespaces table construction when duplicate prefix names are encountered in the element tree.]]></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>Sat, 05 Mar 2016 17:51:35 -0500</pubDate>
</item>
<item>
    <title>util.stanza, util.xml, util.xmppstream: Add support for tracking defined namespaces and their prefix (stanza.namespaces), knowing/preserving prefix names is required for some applications (thanks daurnimator)</title>
    <link>http://hg.omfa.de/prosody-hg/log/30c96a5db360/util/xml.lua</link>
    <description><![CDATA[util.stanza, util.xml, util.xmppstream: Add support for tracking defined namespaces and their prefix (stanza.namespaces), knowing/preserving prefix names is required for some applications (thanks daurnimator)]]></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 Dec 2015 23:15:42 +0000</pubDate>
</item>
<item>
    <title>util.*: Remove use of module() function, make all module functions local and return them in a table at the end</title>
    <link>http://hg.omfa.de/prosody-hg/log/5de6b93d0190/util/xml.lua</link>
    <description><![CDATA[util.*: Remove use of module() function, make all module functions local and return them in a table at the end]]></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, 21 Feb 2015 10:36:37 +0100</pubDate>
</item>
<item>
    <title>util.xml: Remove unused parameter (thanks, luacheck)</title>
    <link>http://hg.omfa.de/prosody-hg/log/7da8b6bc0966/util/xml.lua</link>
    <description><![CDATA[util.xml: Remove unused parameter (thanks, luacheck)]]></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, 06 May 2015 19:39:28 +0100</pubDate>
</item>
<item>
    <title>portmanager, s2smanager, sessionmanager, stanza_router, storagemanager, usermanager, util.xml: Add luacheck annotations</title>
    <link>http://hg.omfa.de/prosody-hg/log/d3023dd07cb6/util/xml.lua</link>
    <description><![CDATA[portmanager, s2smanager, sessionmanager, stanza_router, storagemanager, usermanager, util.xml: Add luacheck annotations]]></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, 06 May 2015 19:20:07 +0100</pubDate>
</item>
<item>
    <title>Remove all trailing whitespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/bd0ff8ae98a8/util/xml.lua</link>
    <description><![CDATA[Remove all trailing whitespace]]></description>
    <author>&#70;&#108;&#111;&#114;&#105;&#97;&#110;&#32;&#90;&#101;&#105;&#116;&#122;&#32;&#60;&#102;&#108;&#111;&#114;&#111;&#98;&#64;&#98;&#97;&#98;&#101;&#108;&#109;&#111;&#110;&#107;&#101;&#121;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Fri, 09 Aug 2013 17:48:21 +0200</pubDate>
</item>
<item>
    <title>util.xml: Fix module name.</title>
    <link>http://hg.omfa.de/prosody-hg/log/76e4651142e1/util/xml.lua</link>
    <description><![CDATA[util.xml: Fix module name.]]></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>Mon, 03 Dec 2012 10:01:46 +0500</pubDate>
</item>
<item>
    <title>util.xml: Initial commit; exposes parse(), which is now the canonical way to convert a string to a stanza.</title>
    <link>http://hg.omfa.de/prosody-hg/log/cc487921746b/util/xml.lua</link>
    <description><![CDATA[util.xml: Initial commit; exposes parse(), which is now the canonical way to convert a string to a stanza.]]></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>Mon, 03 Dec 2012 05:32:51 +0500</pubDate>
</item>

  </channel>
</rss>
