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

    <title>prosody-modules: mod_firewall/conditions.lib.lua history</title>
    <description>mod_firewall/conditions.lib.lua revision history</description>
    <item>
    <title>mod_firewall: Fix DAY check for Sunday</title>
    <link>http://hg.omfa.de/prosody-modules/log/d4da95d6d977/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Fix DAY check for Sunday<br/>
<br/>
Lua refers to Sunday as day 1, not day 0. The other days of the week were<br/>
correct, so this seems to have been a typo.]]></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, 24 May 2026 19:15:21 +0100</pubDate>
</item>
<item>
    <title>various: Adjust for loop variables becoming constants in Lua 5.5</title>
    <link>http://hg.omfa.de/prosody-modules/log/f61564e11d3b/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[various: Adjust for loop variables becoming constants in Lua 5.5]]></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 14:30:31 +0200</pubDate>
</item>
<item>
    <title>mod_firewall: Support 'FROM IP' and 'FROM SUBNET' conditions</title>
    <link>http://hg.omfa.de/prosody-modules/log/b15601203d0d/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Support 'FROM IP' and 'FROM SUBNET' conditions]]></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 Mar 2026 13:33:44 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: SUBSCRIBED: Flip subscription check to match documentation</title>
    <link>http://hg.omfa.de/prosody-modules/log/cc665f343690/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: SUBSCRIBED: Flip subscription check to match documentation<br/>
<br/>
The documentation claims that this condition checks whether the recipient is<br/>
subscribed to the sender.<br/>
<br/>
However, it was using the wrong method, and actually checking whether the<br/>
sender was subscribed to the recipient.<br/>
<br/>
A quick poll of folk suggested that the documentation's approach is the right<br/>
one, so this should fix the code to match the documentation.<br/>
<br/>
This should also fix the bundled anti-spam rules from blocking presence from<br/>
JIDs that you subscribe do (but don't have a mutual subscription with).]]></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, 22 Nov 2024 13:50:48 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: TO/FROM ROLE: Handle JIDs with no role (thanks Zash)</title>
    <link>http://hg.omfa.de/prosody-modules/log/e304e19536f2/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: TO/FROM ROLE: Handle JIDs with no role (thanks Zash)]]></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, 12 Dec 2023 19:06:37 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Fix TO/FROM ROLE</title>
    <link>http://hg.omfa.de/prosody-modules/log/14e17927c0ec/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Fix TO/FROM ROLE<br/>
<br/>
These conditions did not match because get_jid_role() returns a role object.<br/>
We want to compare based on the name.]]></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, 11 Dec 2023 19:09:25 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add FROM COUNTRY condition based on GeoIP DB</title>
    <link>http://hg.omfa.de/prosody-modules/log/ad5c77793750/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add FROM COUNTRY condition based on GeoIP DB]]></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, 12 Nov 2023 16:37:47 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Split some long lines [luacheck]</title>
    <link>http://hg.omfa.de/prosody-modules/log/eeccec0955a1/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Split some long lines [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>Thu, 08 Jun 2023 16:17:25 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Fix inverted logic of 'FROM FULL JID?'</title>
    <link>http://hg.omfa.de/prosody-modules/log/7b4e0c3642bf/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Fix inverted logic of 'FROM FULL JID?']]></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, 08 Jun 2023 13:04:19 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Add 'FROM FULL JID?' condition</title>
    <link>http://hg.omfa.de/prosody-modules/log/8226ac08484e/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add 'FROM FULL JID?' condition]]></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, 08 Jun 2023 11:28:06 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Update for role-auth (backwards compatible)</title>
    <link>http://hg.omfa.de/prosody-modules/log/84997bc3f92e/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Update for role-auth (backwards compatible)<br/>
<br/>
Probably worth investigating mod_compat_roles in the future.]]></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, 11 Aug 2022 17:04:53 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Remove reliance on full_sessions being a global</title>
    <link>http://hg.omfa.de/prosody-modules/log/4e8fa75cc678/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Remove reliance on full_sessions being a global<br/>
<br/>
While it exists as a global now, we want to move away from these globals<br/>
eventually.]]></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, 30 Jun 2021 14:48:59 +0200</pubDate>
</item>
<item>
    <title>mod_firewall: Remove trailing whitespace</title>
    <link>http://hg.omfa.de/prosody-modules/log/ab065ff4628b/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Remove trailing whitespace]]></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, 19 Apr 2020 23:38:39 +0200</pubDate>
</item>
<item>
    <title>mod_firewall: Fix use of unpack() on Lua 5.3</title>
    <link>http://hg.omfa.de/prosody-modules/log/df6227e288e5/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Fix use of unpack() on Lua 5.3<br/>
<br/>
unpack() was previously a global function, it moved into the table<br/>
library in either Lua 5.2 or 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>Mon, 13 Apr 2020 21:53:01 +0200</pubDate>
</item>
<item>
    <title>mod_firewall: Add special case for $local zone (fixes #1090)</title>
    <link>http://hg.omfa.de/prosody-modules/log/b0d92332b87f/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add special case for $local zone (fixes #1090)]]></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, 12 Mar 2018 12:26:15 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Add PENDING SUBSCRIPTION FROM SENDER? condition</title>
    <link>http://hg.omfa.de/prosody-modules/log/b1cdcbcd1c90/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add PENDING SUBSCRIPTION FROM SENDER? condition]]></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, 09 Mar 2018 13:35:44 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add experimental user-centric persistent marks behind a feature flag</title>
    <link>http://hg.omfa.de/prosody-modules/log/165d2877eeac/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add experimental user-centric persistent marks behind a feature flag]]></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, 24 Feb 2018 21:40:56 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Prevent traceback if no directed presence has been sent (fixes #1081)</title>
    <link>http://hg.omfa.de/prosody-modules/log/6f289283feb1/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Prevent traceback if no directed presence has been sent (fixes #1081)]]></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, 16 Feb 2018 07:54:35 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Trim trailing whitespace [luacheck]</title>
    <link>http://hg.omfa.de/prosody-modules/log/22e11645a895/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Trim trailing whitespace [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, 03 Jan 2018 07:49:22 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Make SUBSCRIBED match for stanzas sent to self (fixes #1052)</title>
    <link>http://hg.omfa.de/prosody-modules/log/ff1666716d10/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Make SUBSCRIBED match for stanzas sent to self (fixes #1052)]]></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, 30 Dec 2017 23:53:41 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Add some more comments</title>
    <link>http://hg.omfa.de/prosody-modules/log/c6652d055ba3/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add some more comments]]></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, 10 Mar 2017 10:36:17 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add and document CROSSING GROUPS condition</title>
    <link>http://hg.omfa.de/prosody-modules/log/1e1c929c1aa5/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add and document CROSSING GROUPS condition]]></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, 03 Mar 2017 12:31:15 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Remove ambiguity from tokens dep parameter</title>
    <link>http://hg.omfa.de/prosody-modules/log/d64fc9c3cffd/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Remove ambiguity from tokens dep parameter]]></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 Feb 2017 09:50:16 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Fix compilation error if TYPE/KIND had no parameter</title>
    <link>http://hg.omfa.de/prosody-modules/log/ac3140cd89a2/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Fix compilation error if TYPE/KIND had no parameter]]></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>Sat, 25 Feb 2017 18:38:26 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: TO/FROM ADMIN OF: Fix string quoting</title>
    <link>http://hg.omfa.de/prosody-modules/log/00cef058df8d/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: TO/FROM ADMIN OF: Fix string quoting]]></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>Sat, 25 Feb 2017 16:53:45 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Fix TO/FROM ADMIN to use current (module) host</title>
    <link>http://hg.omfa.de/prosody-modules/log/214b49d05ea1/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Fix TO/FROM ADMIN to use current (module) host]]></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>Sat, 25 Feb 2017 15:47:22 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: SUBSCRIBED: Only check roster if 'to' address has a nodepart (fixes traceback)</title>
    <link>http://hg.omfa.de/prosody-modules/log/240985f7d1f7/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: SUBSCRIBED: Only check roster if 'to' address has a nodepart (fixes traceback)]]></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 Feb 2017 09:51:43 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: TO SELF: Use raw stanza.attr.to directly, as 'to' defaults to bare JID if nil</title>
    <link>http://hg.omfa.de/prosody-modules/log/2f1e25706f81/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: TO SELF: Use raw stanza.attr.to directly, as 'to' defaults to bare JID if nil]]></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 Feb 2017 09:50:49 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add TO FULL JID</title>
    <link>http://hg.omfa.de/prosody-modules/log/a9eb4d5566f3/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add TO FULL JID]]></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, 23 Feb 2017 14:13:57 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Fix everything wrong with SENT_DIRECTED_PRESENCE_TO_SENDER</title>
    <link>http://hg.omfa.de/prosody-modules/log/19bb4606013f/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Fix everything wrong with SENT_DIRECTED_PRESENCE_TO_SENDER]]></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, 23 Feb 2017 14:11:31 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add TO/FROM ADMIN</title>
    <link>http://hg.omfa.de/prosody-modules/log/7ed2a66bfabd/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add TO/FROM ADMIN]]></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, 23 Feb 2017 14:06:48 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Support expressions in TO/FROM EXACTLY</title>
    <link>http://hg.omfa.de/prosody-modules/log/18b6a55dd5d6/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Support expressions in TO/FROM EXACTLY]]></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, 23 Feb 2017 14:05:39 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add and document COUNT condition</title>
    <link>http://hg.omfa.de/prosody-modules/log/9b46d24edf0d/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add and document COUNT condition]]></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 Feb 2017 22:41:58 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Make parameter to 'IN ROSTER' optional</title>
    <link>http://hg.omfa.de/prosody-modules/log/acdc1767a715/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Make parameter to 'IN ROSTER' optional]]></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 Feb 2017 10:37:10 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Fix SCAN to pass correct variable to scan_list()</title>
    <link>http://hg.omfa.de/prosody-modules/log/13b8c31dce01/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Fix SCAN to pass correct variable to scan_list()]]></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 2017 13:12:51 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add 'SENT DIRECTED PRESENCE TO SENDER?'</title>
    <link>http://hg.omfa.de/prosody-modules/log/3fe4ca2b55c2/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add 'SENT DIRECTED PRESENCE TO SENDER?']]></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 2017 09:32:48 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add SEARCH, PATTERN definitions and SCAN condition to check tokenized stanza:find() against a list</title>
    <link>http://hg.omfa.de/prosody-modules/log/44a71584521d/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add SEARCH, PATTERN definitions and SCAN condition to check tokenized stanza:find() against a list]]></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 2017 09:31:30 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Fix CHECK LIST syntax check</title>
    <link>http://hg.omfa.de/prosody-modules/log/66b81e144ded/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Fix CHECK LIST syntax check]]></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, 19 Feb 2017 22:24:21 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Initial support for lists, in-memory and HTTP</title>
    <link>http://hg.omfa.de/prosody-modules/log/c6fd8975704b/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Initial support for lists, in-memory and HTTP]]></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, 19 Feb 2017 21:10:26 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Update functions that use meta() to allow functions with deps inside expressions</title>
    <link>http://hg.omfa.de/prosody-modules/log/d4bc434a60a4/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Update functions that use meta() to allow functions with deps inside expressions]]></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, 19 Feb 2017 21:08:30 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add 'TO SELF' check ('NOT TO?' worked until commit 9159f9166893)</title>
    <link>http://hg.omfa.de/prosody-modules/log/bd69ffe071e6/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add 'TO SELF' check ('NOT TO?' worked until commit 9159f9166893)]]></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 Jan 2017 18:36:15 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: SUBSCRIBED - condition that is true if the receiver of a stanza is subscribed to the sender</title>
    <link>http://hg.omfa.de/prosody-modules/log/f96bdfd81eba/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: SUBSCRIBED - condition that is true if the receiver of a stanza is subscribed to the sender]]></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, 30 Nov 2016 15:44:35 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: INSPECT: support for literal substring search and expressions</title>
    <link>http://hg.omfa.de/prosody-modules/log/00eed68f63bf/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: INSPECT: support for literal substring search and expressions]]></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>Sat, 19 Nov 2016 15:52:32 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: INSPECT: Handle stanza:find() returning nil (i.e. path didn't match)</title>
    <link>http://hg.omfa.de/prosody-modules/log/12b78170b76c/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: INSPECT: Handle stanza:find() returning nil (i.e. path didn't match)]]></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, 15 Nov 2016 14:58:16 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: INSPECT: Emit compilation error when the given stanza path is used for comparison but doesn't return a string</title>
    <link>http://hg.omfa.de/prosody-modules/log/c065ab67d807/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: INSPECT: Emit compilation error when the given stanza path is used for comparison but doesn't return a string]]></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, 15 Nov 2016 14:57:40 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add conditions for testing whether a sender of a stanza is in the recipient's roster (or in a certain roster group)</title>
    <link>http://hg.omfa.de/prosody-modules/log/6848297cf40a/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add conditions for testing whether a sender of a stanza is in the recipient's roster (or in a certain roster group)]]></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, 04 Nov 2016 12:46:11 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add support for throttling based on user-defined properties (experimental)</title>
    <link>http://hg.omfa.de/prosody-modules/log/21bc4d7cddae/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add support for throttling based on user-defined properties (experimental)]]></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, 18 Mar 2016 09:47:52 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Allow underscore in mark names (thanks Ge0rG)</title>
    <link>http://hg.omfa.de/prosody-modules/log/59023dffbdd4/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Allow underscore in mark names (thanks Ge0rG)]]></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, 18 Mar 2016 09:45:02 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Move meta() function to main module, and make it a global so libs can use it</title>
    <link>http://hg.omfa.de/prosody-modules/log/edf5cf3c474b/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Move meta() function to main module, and make it a global so libs can use it]]></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 Mar 2016 21:29:07 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Correct zone condition to check bare JID</title>
    <link>http://hg.omfa.de/prosody-modules/log/5f6c18fd0161/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Correct zone condition to check bare JID]]></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 Mar 2016 14:45:08 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Fix usage of incorrect variable current_time in ORIGIN_MARKED condition (thanks Ge0rG)</title>
    <link>http://hg.omfa.de/prosody-modules/log/2bb42ba342f3/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Fix usage of incorrect variable current_time in ORIGIN_MARKED condition (thanks Ge0rG)]]></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 Mar 2016 12:27:48 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: INSPECT: Support for pattern matches (confusingly using ~= instead of =)</title>
    <link>http://hg.omfa.de/prosody-modules/log/9db4113d0cb5/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: INSPECT: Support for pattern matches (confusingly using ~= instead of =)]]></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 Mar 2016 11:37:19 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Add support for session marking (MARK_ORIGIN, UNMARK_ORIGIN, ORIGIN_MARKED)</title>
    <link>http://hg.omfa.de/prosody-modules/log/f445f43b9ba1/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Add support for session marking (MARK_ORIGIN, UNMARK_ORIGIN, ORIGIN_MARKED)]]></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 Mar 2016 11:27:10 +0000</pubDate>
</item>
<item>
    <title>mod_firewall: Pass results as arguments to format instead of shadowning variable [luacheck]</title>
    <link>http://hg.omfa.de/prosody-modules/log/baa1cb349427/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Pass results as arguments to format instead of shadowning variable [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, 11 Mar 2016 18:19:59 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Use string.find in JID match, faster since the result is unused</title>
    <link>http://hg.omfa.de/prosody-modules/log/86427261e3c4/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Use string.find in JID match, faster since the result is unused]]></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 Mar 2016 18:18:35 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Verify that JID part exists before attempting to call method</title>
    <link>http://hg.omfa.de/prosody-modules/log/de15606f3669/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Verify that JID part exists before attempting to call method]]></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 Mar 2016 18:18:04 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Anchor pattern at beginning and end</title>
    <link>http://hg.omfa.de/prosody-modules/log/eda5c54dfa30/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Anchor pattern at beginning and 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>Fri, 11 Mar 2016 18:16:38 +0100</pubDate>
</item>
<item>
    <title>mod_firewall/conditions: Add semicolon</title>
    <link>http://hg.omfa.de/prosody-modules/log/4161ff87e5a4/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall/conditions: Add semicolon]]></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 Mar 2016 18:15:58 +0100</pubDate>
</item>
<item>
    <title>mod_firewall: Optimize string match operations, string.find is faster than .match since no string is returned</title>
    <link>http://hg.omfa.de/prosody-modules/log/2356114ff505/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall: Optimize string match operations, string.find is faster than .match since no string is returned]]></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 Mar 2016 18:13:53 +0100</pubDate>
</item>
<item>
    <title>mod_firewall/conditions: Add FROM_EXACTLY and TO_EXACTLY</title>
    <link>http://hg.omfa.de/prosody-modules/log/7ba6ed553c93/mod_firewall/conditions.lib.lua</link>
    <description><![CDATA[mod_firewall/conditions: Add FROM_EXACTLY and TO_EXACTLY]]></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, 01 Feb 2016 20:24:51 +0000</pubDate>
</item>

  </channel>
</rss>
