aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2023-03-31 22:01:27 +0200
committerKim Alvefur <zash@zash.se>2023-03-31 22:01:27 +0200
commitf3b1b57a70a41c97cbfe42c3d98118b2bc2c9901 (patch)
tree17cb9725017d51c1d0546b03df6e46627b543167
parent4414f8402faea1b1c059487af692da7d432c68bc (diff)
downloadprosody-f3b1b57a70a41c97cbfe42c3d98118b2bc2c9901.tar.gz
prosody-f3b1b57a70a41c97cbfe42c3d98118b2bc2c9901.zip
mod_admin_shell: Allow matching on host or bare JID in c2s:show
Only supporting exact match on full JID isn't helpful if you want to list sessions per host or user. Backport of 430333198e4c Fixes #1857
-rw-r--r--plugins/mod_admin_shell.lua4
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/mod_admin_shell.lua b/plugins/mod_admin_shell.lua
index ee68a64b..f2da286b 100644
--- a/plugins/mod_admin_shell.lua
+++ b/plugins/mod_admin_shell.lua
@@ -25,7 +25,7 @@ local prosody = _G.prosody;
local unpack = table.unpack or unpack; -- luacheck: ignore 113
local iterators = require "util.iterators";
local keys, values = iterators.keys, iterators.values;
-local jid_bare, jid_split, jid_join = import("util.jid", "bare", "prepped_split", "join");
+local jid_bare, jid_split, jid_join, jid_compare = import("util.jid", "bare", "prepped_split", "join", "compare");
local set, array = require "util.set", require "util.array";
local cert_verify_identity = require "util.x509".verify_identity;
local envload = require "util.envload".envload;
@@ -940,7 +940,7 @@ function def_env.c2s:show(match_jid, colspec)
local function match(session)
local jid = get_jid(session)
- return (not match_jid) or jid == match_jid;
+ return (not match_jid) or jid_compare(jid, match_jid);
end
local group_by_host = true;