<?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_announce.lua history</title>
    <description>plugins/mod_announce.lua revision history</description>
    <item>
    <title>mod_announce: Suppress luacheck warnings</title>
    <link>http://hg.omfa.de/prosody-hg/log/3bdbaba15c00/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Suppress luacheck warnings]]></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, 26 Apr 2024 10:37:20 +0100</pubDate>
</item>
<item>
    <title>mod_announce: Add shell commands and APIs for sending to all/online/roles</title>
    <link>http://hg.omfa.de/prosody-hg/log/e22609460975/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Add shell commands and APIs for sending to all/online/roles]]></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, 24 Apr 2024 11:50:13 +0100</pubDate>
</item>
<item>
    <title>plugins: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/74b9e05af71e/plugins/mod_announce.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/mod_announce.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_announce: Silence luacheck warning about unused variable</title>
    <link>http://hg.omfa.de/prosody-hg/log/2fbcdf6da331/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Silence luacheck warning about unused variable]]></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:43:34 +0100</pubDate>
</item>
<item>
    <title>mod_announce: Check for admin on current virtualhost instead of global (fixes #1365) (thanks yc)</title>
    <link>http://hg.omfa.de/prosody-hg/log/1117138fa372/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Check for admin on current virtualhost instead of global (fixes #1365) (thanks yc)]]></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, 27 May 2019 12:05:35 +0200</pubDate>
</item>
<item>
    <title>mod_announce: Fix luacheck warnings</title>
    <link>http://hg.omfa.de/prosody-hg/log/71500c68fed4/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Fix 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>Fri, 06 Jul 2018 00:16:48 +0200</pubDate>
</item>
<item>
    <title>mod_announce: Depend on mod_adhoc for consistent behaviour (thanks meaz, Link Mauve)</title>
    <link>http://hg.omfa.de/prosody-hg/log/9d0d1e427b82/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Depend on mod_adhoc for consistent behaviour (thanks meaz, Link Mauve)]]></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, 02 Jul 2018 23:41:36 +0200</pubDate>
</item>
<item>
    <title>mod_announce: Remove unreachable return statement [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/1cc9a293e958/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Remove unreachable return statement [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, 23 Mar 2018 14:01:42 +0100</pubDate>
</item>
<item>
    <title>Remove all trailing whitespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/bd0ff8ae98a8/plugins/mod_announce.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>mod_announce, mod_auth_anonymous, mod_c2s, mod_c2s, mod_component, mod_iq, mod_message, mod_presence, mod_tls: Access prosody.{hosts,bare_sessions,full_sessions} instead of the old globals</title>
    <link>http://hg.omfa.de/prosody-hg/log/7838acadb0fa/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce, mod_auth_anonymous, mod_c2s, mod_c2s, mod_component, mod_iq, mod_message, mod_presence, mod_tls: Access prosody.{hosts,bare_sessions,full_sessions} instead of the old globals]]></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, 23 Mar 2013 01:27:16 +0100</pubDate>
</item>
<item>
    <title>mod_admin_adhoc, mod_announce: Explicitly specify possible actions for ad-hoc commands</title>
    <link>http://hg.omfa.de/prosody-hg/log/88fb94df9b18/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_admin_adhoc, mod_announce: Explicitly specify possible actions for 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>Thu, 02 Aug 2012 21:42:00 +0200</pubDate>
</item>
<item>
    <title>mod_announce, mod_motd, mod_pubsub, mod_register, mod_watchregistrations, mod_welcome: Use module:send() instead of core_*_stanza()</title>
    <link>http://hg.omfa.de/prosody-hg/log/b2006c1cfa85/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce, mod_motd, mod_pubsub, mod_register, mod_watchregistrations, mod_welcome: Use module:send() instead of core_*_stanza()]]></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, 26 Jul 2012 04:35:13 +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/mod_announce.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_announce: A little cleanup.</title>
    <link>http://hg.omfa.de/prosody-hg/log/5ca2ed58788f/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: A little cleanup.]]></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>Fri, 18 Jun 2010 14:29:28 +0500</pubDate>
</item>
<item>
    <title>mod_announce: Removed unused variables.</title>
    <link>http://hg.omfa.de/prosody-hg/log/4e44469b0583/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Removed unused variables.]]></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>Fri, 18 Jun 2010 14:20:00 +0500</pubDate>
</item>
<item>
    <title>mod_announce: Changed a global variable to local.</title>
    <link>http://hg.omfa.de/prosody-hg/log/05c1d8269043/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Changed a global variable to local.]]></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>Fri, 18 Jun 2010 14:19:09 +0500</pubDate>
</item>
<item>
    <title>mod_announce: Add ad-hoc command for sending announcements \o/</title>
    <link>http://hg.omfa.de/prosody-hg/log/65e5dfcf5a9f/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Add ad-hoc command for sending announcements \o/]]></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 12:07:25 +0100</pubDate>
</item>
<item>
    <title>mod_announce: Fixed an edge case where non-admins attempting to announce would get two error replies.</title>
    <link>http://hg.omfa.de/prosody-hg/log/0badae62de28/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Fixed an edge case where non-admins attempting to announce would get two error replies.]]></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>Tue, 08 Jun 2010 16:26:01 +0500</pubDate>
</item>
<item>
    <title>Update copyright headers for 2010</title>
    <link>http://hg.omfa.de/prosody-hg/log/b7049746bd29/plugins/mod_announce.lua</link>
    <description><![CDATA[Update copyright headers for 2010]]></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, 22 Mar 2010 17:06:15 +0000</pubDate>
</item>
<item>
    <title>Add copyright header to those files missing one</title>
    <link>http://hg.omfa.de/prosody-hg/log/569d58d21612/plugins/mod_announce.lua</link>
    <description><![CDATA[Add copyright header to those files missing one]]></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 Jul 2009 03:08:38 +0100</pubDate>
</item>
<item>
    <title>mod_announce: Work with non-local admins</title>
    <link>http://hg.omfa.de/prosody-hg/log/4c7b8b8ab569/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Work with non-local admins]]></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>Tue, 23 Jun 2009 23:59:21 +0500</pubDate>
</item>
<item>
    <title>mod_announce: Use usermanager.is_admin to verify admin status</title>
    <link>http://hg.omfa.de/prosody-hg/log/ce3eb5f71899/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: Use usermanager.is_admin to verify admin status]]></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>Tue, 23 Jun 2009 23:55:56 +0500</pubDate>
</item>
<item>
    <title>mod_announce: New module to send a message to all online users</title>
    <link>http://hg.omfa.de/prosody-hg/log/8999dd4253f9/plugins/mod_announce.lua</link>
    <description><![CDATA[mod_announce: New module to send a message to all online users]]></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, 22 Jun 2009 18:05:36 +0100</pubDate>
</item>

  </channel>
</rss>
