Changeset

12645:a741183eec97

core.moduleapi: Expand permission name ':' prefix earlier Ensures it applies to the context as string case Somehow this fixes everything
author Kim Alvefur <zash@zash.se>
date Wed, 15 Jun 2022 23:04:17 +0200
parents 12644:4262ce516e6c
children 12646:3f38f4735c7a
files core/moduleapi.lua
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/core/moduleapi.lua	Wed Jun 15 23:03:15 2022 +0200
+++ b/core/moduleapi.lua	Wed Jun 15 23:04:17 2022 +0200
@@ -615,6 +615,9 @@
 end
 
 function api:may(action, context)
+	if action:byte(1) == 58 then -- action begins with ':'
+		action = self.name..action; -- prepend module name
+	end
 	if type(context) == "string" then -- check JID permissions
 		local role;
 		local node, host = jid_split(context);
@@ -638,9 +641,6 @@
 	if not session then
 		error("Unable to identify actor session from context");
 	end
-	if action:byte(1) == 58 then -- action begins with ':'
-		action = self.name..action; -- prepend module name
-	end
 	if session.type == "s2sin" or (session.type == "c2s" and session.host ~= self.host) then
 		local actor_jid = context.stanza.attr.from;
 		local role = hosts[self.host].authz.get_jid_role(actor_jid);