Software /
code /
prosody
Diff
plugins/mod_console.lua @ 1241:9c53fb182044
mod_console: c2s:show(), c2s:show_secure(), c2s:show_insecure()
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 30 May 2009 15:25:27 +0100 |
parent | 1240:397b6e9c1568 |
child | 1315:bfcd3f0a49df |
line wrap: on
line diff
--- a/plugins/mod_console.lua Sat May 30 14:33:40 2009 +0100 +++ b/plugins/mod_console.lua Sat May 30 15:25:27 2009 +0100 @@ -194,6 +194,53 @@ function def_env.hosts:add(name) end +def_env.c2s = {}; + +local function show_c2s(callback) + for hostname, host in pairs(hosts) do + for username, user in pairs(host.sessions or {}) do + for resource, session in pairs(user.sessions or {}) do + local jid = username.."@"..hostname.."/"..resource; + callback(jid, session); + end + end + end +end + +function def_env.c2s:show(match_jid) + local print, count = self.session.print, 0; + show_c2s(function (jid) + if (not match_jid) or jid:match(match_jid) then + count = count + 1; + print(jid); + end + end); + return true, "Total: "..count.." clients"; +end + +function def_env.c2s:show_insecure(match_jid) + local print, count = self.session.print, 0; + show_c2s(function (jid, session) + if ((not match_jid) or jid:match(match_jid)) and not session.secure then + count = count + 1; + print(jid); + end + end); + return true, "Total: "..count.." insecure client connections"; +end + +function def_env.c2s:show_secure(match_jid) + local print, count = self.session.print, 0; + show_c2s(function (jid, session) + if ((not match_jid) or jid:match(match_jid)) and session.secure then + count = count + 1; + print(jid); + end + end); + return true, "Total: "..count.." secure client connections"; +end + + def_env.s2s = {}; function def_env.s2s:show(match_jid) local _print = self.session.print;