From 2fa6a010180e8879e1eaab6612d86ff74cbed182 Mon Sep 17 00:00:00 2001
From: Kim Alvefur <zash@zash.se>
Date: Fri, 7 Apr 2023 14:03:24 +0200
Subject: mod_admin_shell: Allow "*" as substitute for 'nil' for easier CLI
 usage

Since prosodyctl shell with additional arguments assumes the first two
are a section:command() and any following arguments are strings, passing
a bare 'nil' is not possible. In order to avoid delving into this rabbit
hole, instead produce a token that alone is not really a legal JID for
use as wildcard.
---
 plugins/mod_admin_shell.lua | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'plugins')

diff --git a/plugins/mod_admin_shell.lua b/plugins/mod_admin_shell.lua
index be494d9f..15a41b55 100644
--- a/plugins/mod_admin_shell.lua
+++ b/plugins/mod_admin_shell.lua
@@ -1017,7 +1017,7 @@ function def_env.c2s:show(match_jid, colspec)
 
 	local function match(session)
 		local jid = get_jid(session)
-		return (not match_jid) or jid_compare(jid, match_jid);
+		return (not match_jid) or match_jid == "*" or jid_compare(jid, match_jid);
 	end
 
 	local group_by_host = true;
@@ -1100,7 +1100,7 @@ function def_env.s2s:show(match_jid, colspec)
 
 	local function match(session)
 		local host, remote = get_s2s_hosts(session);
-		return not match_jid or host == match_jid or remote == match_jid;
+		return not match_jid or match_jid == "*" or host == match_jid or remote == match_jid;
 	end
 
 	local group_by_host = true;
-- 
cgit v1.2.3