<?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/adhoc/mod_adhoc.lua history</title>
    <description>plugins/adhoc/mod_adhoc.lua revision history</description>
    <item>
    <title>mod_adhoc: Silence permission errors when listing commands</title>
    <link>http://hg.omfa.de/prosody-hg/log/6771acb8e857/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Silence permission errors when listing commands<br/>
<br/>
Since throwing a pile of 'access denied', even at debug level, seems<br/>
akin to calling wolf :)<br/>
<br/>
Cutting down on debug noise is also good.<br/>
<br/>
Passing a flag instead of using module:could seemed easier here.]]></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 13:13:42 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: Remove &quot;mod_&quot; prefix from permission action name</title>
    <link>http://hg.omfa.de/prosody-hg/log/3174308d127e/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Remove &quot;mod_&quot; prefix from permission action name<br/>
<br/>
Other places doesn't have &quot;mod_&quot; there, why should it here?]]></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, 02 Apr 2023 21:58:53 +0200</pubDate>
</item>
<item>
    <title>plugins: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/74b9e05af71e/plugins/adhoc/mod_adhoc.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>Switch to a new role-based authorization framework, removing is_admin()</title>
    <link>http://hg.omfa.de/prosody-hg/log/9061f9621330/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[Switch to a new role-based authorization framework, removing is_admin()<br/>
<br/>
We began moving away from simple &quot;is this user an admin?&quot; permission checks<br/>
before 0.12, with the introduction of mod_authz_internal and the ability to<br/>
dynamically change the roles of individual users.<br/>
<br/>
The approach in 0.12 still had various limitations however, and apart from<br/>
the introduction of roles other than &quot;admin&quot; and the ability to pull that info<br/>
from storage, not much actually changed.<br/>
<br/>
This new framework shakes things up a lot, though aims to maintain the same<br/>
functionality and behaviour on the surface for a default Prosody<br/>
configuration. That is, if you don't take advantage of any of the new<br/>
features, you shouldn't notice any change.<br/>
<br/>
The biggest change visible to developers is that usermanager.is_admin() (and<br/>
the auth provider is_admin() method) have been removed. Gone. Completely.<br/>
<br/>
Permission checks should now be performed using a new module API method:<br/>
<br/>
  module:may(action_name, context)<br/>
<br/>
This method accepts an action name, followed by either a JID (string) or<br/>
(preferably) a table containing 'origin'/'session' and 'stanza' fields (e.g.<br/>
the standard object passed to most events). It will return true if the action<br/>
should be permitted, or false/nil otherwise.<br/>
<br/>
Modules should no longer perform permission checks based on the role name.<br/>
E.g. a lot of code previously checked if the user's role was prosody:admin<br/>
before permitting some action. Since many roles might now exist with similar<br/>
permissions, and the permissions of prosody:admin may be redefined<br/>
dynamically, it is no longer suitable to use this method for permission<br/>
checks. Use module:may().<br/>
<br/>
If you start an action name with ':' (recommended) then the current module's<br/>
name will automatically be used as a prefix.<br/>
<br/>
To define a new permission, use the new module API:<br/>
<br/>
  module:default_permission(role_name, action_name)<br/>
  module:default_permissions(role_name, { action_name[, action_name...] })<br/>
<br/>
This grants the specified role permission to execute the named action(s) by<br/>
default. This may be overridden via other mechanisms external to your module.<br/>
<br/>
The built-in roles that developers should use are:<br/>
<br/>
 - prosody:user (normal user)<br/>
 - prosody:admin (host admin)<br/>
 - prosody:operator (global admin)<br/>
<br/>
The new prosody:operator role is intended for server-wide actions (such as<br/>
shutting down Prosody).<br/>
<br/>
Finally, all usage of is_admin() in modules has been fixed by this commit.<br/>
Some of these changes were trickier than others, but no change is expected to<br/>
break existing deployments.<br/>
<br/>
EXCEPT: mod_auth_ldap no longer supports the ldap_admin_filter option. It's<br/>
very possible nobody is using this, but if someone is then we can later update<br/>
it to pull roles from LDAP somehow.]]></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, 15 Jun 2022 12:15:01 +0100</pubDate>
</item>
<item>
    <title>mod_adhoc: Simplify variable references</title>
    <link>http://hg.omfa.de/prosody-hg/log/0c1684c65716/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Simplify variable references<br/>
<br/>
Since commands[node] was already stored in a local a few lines up]]></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 Mar 2022 18:07:11 +0100</pubDate>
</item>
<item>
    <title>Spelling: Fix various spelling mistakes (thanks timeless)</title>
    <link>http://hg.omfa.de/prosody-hg/log/05c250fa335a/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[Spelling: Fix various spelling mistakes (thanks timeless)<br/>
<br/>
Words, sometimes I wonder how they even work<br/>
<br/>
Maybe I missed 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>Mon, 07 Mar 2022 00:13:56 +0100</pubDate>
</item>
<item>
    <title>mod_adhoc: Log commands provided at debug level</title>
    <link>http://hg.omfa.de/prosody-hg/log/f6661fac7e9a/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Log commands provided at debug level]]></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, 22 Nov 2020 00:52:49 +0100</pubDate>
</item>
<item>
    <title>mod_adhoc: Improve permission setting (fix #1482) BC</title>
    <link>http://hg.omfa.de/prosody-hg/log/421b2f8369fd/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Improve permission setting (fix #1482) BC<br/>
<br/>
Rename 'user' permission mode to 'any' for clarity, too easily mistaken<br/>
for what the 'local_user' setting does.<br/>
<br/>
It is also removed as a default and made a required argument.]]></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, 20 Dec 2019 22:47:34 +0100</pubDate>
</item>
<item>
    <title>mod_adhoc: Remove unused variable [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/f1886a48a6d4/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Remove unused 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>Mon, 23 Dec 2019 21:34:34 +0100</pubDate>
</item>
<item>
    <title>mod_adhoc: Add compat marker for older handling of adhoc items</title>
    <link>http://hg.omfa.de/prosody-hg/log/5c475f6e89a4/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Add compat marker for older handling of adhoc items<br/>
<br/>
Most modules use the module:provides() API which add the '-provides'<br/>
suffix. Previously module:add_item() was used.<br/>
<br/>
See 58714123f600]]></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, 27 Oct 2018 17:25:50 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: Use util.iterators.sorted_pairs() to sort commands</title>
    <link>http://hg.omfa.de/prosody-hg/log/2f634cc02eac/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Use util.iterators.sorted_pairs() to sort commands]]></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, 21 Sep 2018 14:37:18 +0100</pubDate>
</item>
<item>
    <title>mod_adhoc: Simplify iq handling by hooking on iq-set/ instead of iq/.</title>
    <link>http://hg.omfa.de/prosody-hg/log/fe8abac62682/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Simplify iq handling by hooking on iq-set/ instead of iq/.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Fri, 24 Aug 2018 20:34:00 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: Remove unused local [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/50f2ad088589/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Remove unused local [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>Tue, 06 Mar 2018 19:11:23 +0100</pubDate>
</item>
<item>
    <title>mod_adhoc: Rename variable to avoid name clash [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/77e59f8057bf/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Rename variable to avoid name clash [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>Tue, 05 Dec 2017 12:32:51 +0100</pubDate>
</item>
<item>
    <title>plugins: Explicitly return to halt event propagation (session.send sometimes does not return true)</title>
    <link>http://hg.omfa.de/prosody-hg/log/be87ab2d611c/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[plugins: Explicitly return to halt event propagation (session.send sometimes does not return true)]]></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 Sep 2015 23:06:22 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: Add local_user permission</title>
    <link>http://hg.omfa.de/prosody-hg/log/785da1854eb9/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Add local_user permission]]></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>Wed, 24 Jul 2013 23:30:32 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: Use mod_disco for disco handling</title>
    <link>http://hg.omfa.de/prosody-hg/log/91f8cd53584c/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Use mod_disco for disco handling]]></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>Wed, 24 Jul 2013 22:58:44 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: Sort commands by node. This guarantees the order remains the same across restarts etc.</title>
    <link>http://hg.omfa.de/prosody-hg/log/e599d9a367cf/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Sort commands by node. This guarantees the order remains the same across restarts etc.]]></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>Wed, 24 Jul 2013 22:08:07 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc, mod_admin_adhoc, mod_announce: Use module:provides() to manage Ad-Hoc commands</title>
    <link>http://hg.omfa.de/prosody-hg/log/58714123f600/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc, mod_admin_adhoc, mod_announce: Use module:provides() to manage Ad-Hoc commands]]></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>Tue, 12 Jun 2012 14:29:04 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: Use module:handle_items()</title>
    <link>http://hg.omfa.de/prosody-hg/log/15547fba1f09/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Use module:handle_items()]]></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, 10 Dec 2011 05:45:07 +0000</pubDate>
</item>
<item>
    <title>mod_adhoc: Add support for commands only executable by global administrators</title>
    <link>http://hg.omfa.de/prosody-hg/log/122f142da281/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Add support for commands only executable by global administrators]]></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>Thu, 02 Jun 2011 21:56:24 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: Answer disco#info for node=xmlns_cmd</title>
    <link>http://hg.omfa.de/prosody-hg/log/4495403470cb/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Answer disco#info for node=xmlns_cmd]]></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, 01 Oct 2010 16:44:49 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: remove 0.7 compat code</title>
    <link>http://hg.omfa.de/prosody-hg/log/3eee60c6a436/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: remove 0.7 compat code]]></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>Wed, 01 Sep 2010 22:46:35 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: Answer disco#info (This is a MUST in XEP-0050)</title>
    <link>http://hg.omfa.de/prosody-hg/log/24d2c9be0149/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Answer disco#info (This is a MUST in XEP-0050)]]></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>Sun, 22 Aug 2010 20:53:40 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: Code restructuring</title>
    <link>http://hg.omfa.de/prosody-hg/log/1201a743fe63/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Code restructuring]]></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>Sun, 22 Aug 2010 20:48:47 +0200</pubDate>
</item>
<item>
    <title>mod_adhoc: Update for new is_admin usage</title>
    <link>http://hg.omfa.de/prosody-hg/log/e5234625fc42/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Update for new is_admin usage]]></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, 22 Jun 2010 19:04:10 +0100</pubDate>
</item>
<item>
    <title>mod_adhoc: Scan through list of items on load, in case items have been added before we were loaded</title>
    <link>http://hg.omfa.de/prosody-hg/log/ad3fbed1dda5/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Scan through list of items on load, in case items have been added before we were loaded]]></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, 11 Jun 2010 13:23:10 +0100</pubDate>
</item>
<item>
    <title>mod_adhoc: Imported from prosody-modules, thanks Florob!</title>
    <link>http://hg.omfa.de/prosody-hg/log/b3772f9bc359/plugins/adhoc/mod_adhoc.lua</link>
    <description><![CDATA[mod_adhoc: Imported from prosody-modules, thanks Florob!]]></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, 09 Jun 2010 21:27:43 +0100</pubDate>
</item>

  </channel>
</rss>
