diff --git a/src/ejabberd_s2s.erl b/src/ejabberd_s2s.erl index ef17fc89f..b5604eb7c 100644 --- a/src/ejabberd_s2s.erl +++ b/src/ejabberd_s2s.erl @@ -531,6 +531,7 @@ commands() -> desc = "Number of incoming s2s connections on " "the node", + policy = admin, module = ?MODULE, function = incoming_s2s_number, args = [], result = {s2s_incoming, integer}}, #ejabberd_commands{name = outgoing_s2s_number, @@ -538,6 +539,7 @@ commands() -> desc = "Number of outgoing s2s connections on " "the node", + policy = admin, module = ?MODULE, function = outgoing_s2s_number, args = [], result = {s2s_outgoing, integer}}]. diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index e25902374..cfaf24dfa 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -763,18 +763,21 @@ commands() -> [#ejabberd_commands{name = connected_users, tags = [session], desc = "List all established sessions", + policy = admin, module = ?MODULE, function = connected_users, args = [], result = {connected_users, {list, {sessions, string}}}}, #ejabberd_commands{name = connected_users_number, tags = [session, stats], desc = "Get the number of established sessions", + policy = admin, module = ?MODULE, function = connected_users_number, args = [], result = {num_sessions, integer}}, #ejabberd_commands{name = user_resources, tags = [session], desc = "List user's connected resources", + policy = user, module = ?MODULE, function = user_resources, - args = [{user, binary}, {host, binary}], + args = [], result = {resources, {list, {resource, string}}}}, #ejabberd_commands{name = kick_user, tags = [session], diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl index 436108ead..30e2a32eb 100644 --- a/src/mod_admin_extra.erl +++ b/src/mod_admin_extra.erl @@ -115,6 +115,7 @@ commands() -> #ejabberd_commands{name = num_active_users, tags = [accounts, stats], desc = "Get number of users active in the last days", + policy = admin, module = ?MODULE, function = num_active_users, args = [{host, binary}, {days, integer}], result = {users, integer}}, @@ -173,11 +174,13 @@ commands() -> result = {res, rescode}}, #ejabberd_commands{name = status_num_host, tags = [session, stats], desc = "Number of logged users with this status in host", + policy = admin, module = ?MODULE, function = status_num, args = [{host, binary}, {status, binary}], result = {users, integer}}, #ejabberd_commands{name = status_num, tags = [session, stats], desc = "Number of logged users with this status", + policy = admin, module = ?MODULE, function = status_num, args = [{status, binary}], result = {users, integer}}, @@ -361,8 +364,9 @@ commands() -> }}}, #ejabberd_commands{name = get_roster, tags = [roster], desc = "Get roster of a local user", + policy = user, module = ?MODULE, function = get_roster, - args = [{user, binary}, {host, binary}], + args = [], result = {contacts, {list, {contact, {tuple, [ {jid, string}, {nick, string}, @@ -456,6 +460,13 @@ commands() -> args = [{user, binary}, {host, binary}, {group, binary}, {grouphost, binary}], result = {res, rescode}}, + #ejabberd_commands{name = get_offline_count, + tags = [offline], + desc = "Get the number of unread offline messages", + policy = user, + module = mod_offline, function = get_queue_length, + args = [], + result = {res, integer}}, #ejabberd_commands{name = send_message, tags = [stanza], desc = "Send a message to a local or remote bare of full JID", module = ?MODULE, function = send_message, @@ -475,11 +486,13 @@ commands() -> #ejabberd_commands{name = stats, tags = [stats], desc = "Get statistical value: registeredusers onlineusers onlineusersnode uptimeseconds", + policy = admin, module = ?MODULE, function = stats, args = [{name, binary}], result = {stat, integer}}, #ejabberd_commands{name = stats_host, tags = [stats], desc = "Get statistical value for this host: registeredusers onlineusers", + policy = admin, module = ?MODULE, function = stats, args = [{name, binary}, {host, binary}], result = {stat, integer}} diff --git a/src/mod_muc_admin.erl b/src/mod_muc_admin.erl index b779f4e0b..923428b3f 100644 --- a/src/mod_muc_admin.erl +++ b/src/mod_muc_admin.erl @@ -59,6 +59,7 @@ commands() -> [ #ejabberd_commands{name = muc_online_rooms, tags = [muc], desc = "List existing rooms ('global' to get all vhosts)", + policy = admin, module = ?MODULE, function = muc_online_rooms, args = [{host, binary}], result = {rooms, {list, {room, string}}}},