aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2020-02-22 18:32:50 +0100
committerKim Alvefur <zash@zash.se>2020-02-22 18:32:50 +0100
commit3947003b7e86a084cc725b5c68d7b4e8724e3312 (patch)
tree0b7cd3c609a965d6272be78d4fbbf50e9dd2adc3 /plugins
parent23cd82ba5fd0a00d85fb7d6a708723419fdc0cb4 (diff)
downloadprosody-3947003b7e86a084cc725b5c68d7b4e8724e3312.tar.gz
prosody-3947003b7e86a084cc725b5c68d7b4e8724e3312.zip
mod_admin_telnet: Fix host selection filter, fixes loading on components
get_hosts_with_module(a component, mod) would still filter out components since they don't have type="component" instead of "local" Introduced in 4d3549e64489
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mod_admin_telnet.lua20
1 files changed, 17 insertions, 3 deletions
diff --git a/plugins/mod_admin_telnet.lua b/plugins/mod_admin_telnet.lua
index 730053fe..2688209b 100644
--- a/plugins/mod_admin_telnet.lua
+++ b/plugins/mod_admin_telnet.lua
@@ -385,10 +385,24 @@ end
local function get_hosts_with_module(hosts, module)
local hosts_set = get_hosts_set(hosts)
/ function (host)
- if prosody.hosts[host].type == "local" or module and modulemanager.is_loaded(host, module) then
- return host;
+ if module then
+ -- Module given, filter in hosts with this module loaded
+ if modulemanager.is_loaded(host, module) then
+ return host;
+ else
+ return nil;
+ end
+ end
+ if not hosts then
+ -- No hosts given, filter in VirtualHosts
+ if prosody.hosts[host].type == "local" then
+ return host;
+ else
+ return nil
+ end
end;
- return nil;
+ -- No module given, but hosts are, don't filter at all
+ return host;
end;
if module and modulemanager.get_module("*", module) then
hosts_set:add("*");