<?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/muc/hidden.lib.lua history</title>
    <description>plugins/muc/hidden.lib.lua revision history</description>
    <item>
    <title>core, plugins: Split prosody:user role into prosody:{guest,registered,member}</title>
    <link>http://hg.omfa.de/prosody-hg/log/082c7d856e61/plugins/muc/hidden.lib.lua</link>
    <description><![CDATA[core, plugins: Split prosody:user role into prosody:{guest,registered,member}<br/>
<br/>
This gives us more granular control over different types of user account.<br/>
Accounts registered by IBR get assigned prosody:registered by default, while<br/>
accounts provisioned by an admin (e.g. via prosodyctl shell) will receive<br/>
prosody:member by default.]]></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, 29 Jun 2023 15:36:13 +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/muc/hidden.lib.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>MUC: Allow restricting public/persistent room options to service admins (muc_room_allow_public/muc_room_allow_persistent)</title>
    <link>http://hg.omfa.de/prosody-hg/log/ea9e1f8f3013/plugins/muc/hidden.lib.lua</link>
    <description><![CDATA[MUC: Allow restricting public/persistent room options to service admins (muc_room_allow_public/muc_room_allow_persistent)]]></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, 17 Jul 2018 11:57:28 +0100</pubDate>
</item>
<item>
    <title>MUC: Add sections in room config form</title>
    <link>http://hg.omfa.de/prosody-hg/log/173c0e16e704/plugins/muc/hidden.lib.lua</link>
    <description><![CDATA[MUC: Add sections in room config form]]></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, 13 Jul 2018 15:47:08 +0100</pubDate>
</item>
<item>
    <title>MUC: Improve labels of all config form items</title>
    <link>http://hg.omfa.de/prosody-hg/log/1c709e3d2e5e/plugins/muc/hidden.lib.lua</link>
    <description><![CDATA[MUC: Improve labels of all config form 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>Fri, 13 Jul 2018 13:22:40 +0100</pubDate>
</item>
<item>
    <title>MUC: Assign priorities to config form hooks so they have a consistent order on each start</title>
    <link>http://hg.omfa.de/prosody-hg/log/e16b3fd0bd80/plugins/muc/hidden.lib.lua</link>
    <description><![CDATA[MUC: Assign priorities to config form hooks so they have a consistent order on each start]]></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, 19 Apr 2016 20:31:39 +0200</pubDate>
</item>
<item>
    <title>MUC: Save room to storage once after form processing, not in each individual setter</title>
    <link>http://hg.omfa.de/prosody-hg/log/ca31d3271cf8/plugins/muc/hidden.lib.lua</link>
    <description><![CDATA[MUC: Save room to storage once after form processing, not in each individual setter]]></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, 15 Apr 2016 11:50:55 +0200</pubDate>
</item>
<item>
    <title>MUC: Provide a noop stub room:save() method</title>
    <link>http://hg.omfa.de/prosody-hg/log/50b24b3476e6/plugins/muc/hidden.lib.lua</link>
    <description><![CDATA[MUC: Provide a noop stub room:save() 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>Thu, 14 Apr 2016 21:23:09 +0200</pubDate>
</item>
<item>
    <title>MUC: Update all config form handlers to take advantage of the new per-option events</title>
    <link>http://hg.omfa.de/prosody-hg/log/84e01dbb739e/plugins/muc/hidden.lib.lua</link>
    <description><![CDATA[MUC: Update all config form handlers to take advantage of the new per-option events]]></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 Dec 2015 15:33:58 +0000</pubDate>
</item>
<item>
    <title>plugins/muc: Move 'hidden' ('public') code to own file</title>
    <link>http://hg.omfa.de/prosody-hg/log/12537f1c1fec/plugins/muc/hidden.lib.lua</link>
    <description><![CDATA[plugins/muc: Move 'hidden' ('public') code to own file]]></description>
    <author>&#100;&#97;&#117;&#114;&#110;&#105;&#109;&#97;&#116;&#111;&#114;&#32;&#60;&#113;&#117;&#97;&#101;&#64;&#100;&#97;&#117;&#114;&#110;&#105;&#109;&#97;&#116;&#111;&#114;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 16 Apr 2014 14:16:14 -0400</pubDate>
</item>

  </channel>
</rss>
