From 2b25fcb73270575573ac27723385ea0ebe6a5a48 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 7 May 2023 13:13:42 +0200 Subject: mod_adhoc: Silence permission errors when listing commands Since throwing a pile of 'access denied', even at debug level, seems akin to calling wolf :) Cutting down on debug noise is also good. Passing a flag instead of using module:could seemed easier here. --- plugins/adhoc/mod_adhoc.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/adhoc/mod_adhoc.lua b/plugins/adhoc/mod_adhoc.lua index 4482682d..8abfff99 100644 --- a/plugins/adhoc/mod_adhoc.lua +++ b/plugins/adhoc/mod_adhoc.lua @@ -14,8 +14,8 @@ local commands = {}; module:add_feature(xmlns_cmd); -local function check_permissions(event, node, command) - return (command.permission == "check" and module:may("adhoc:"..node, event)) +local function check_permissions(event, node, command, execute) + return (command.permission == "check" and module:may("adhoc:"..node, event, not execute)) or (command.permission == "local_user" and jid_host(event.stanza.attr.from) == module.host) or (command.permission == "any"); end @@ -62,7 +62,7 @@ module:hook("iq-set/host/"..xmlns_cmd..":command", function (event) local node = stanza.tags[1].attr.node local command = commands[node]; if command then - if not check_permissions(event, node, command) then + if not check_permissions(event, node, command, true) then origin.send(st.error_reply(stanza, "auth", "forbidden", "You don't have permission to execute this command"):up() :add_child(command:cmdtag("canceled") :tag("note", {type="error"}):text("You don't have permission to execute this command"))); -- cgit v1.2.3