Software /
code /
prosody
Comparison
plugins/mod_admin_telnet.lua @ 4514:ae48e0abc233
mod_admin_telnet: Commond and flexible way to show stream properties.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 05 Mar 2012 22:07:40 +0100 |
parent | 4328:c71777a8b9c7 |
child | 4515:e2774644688d |
comparison
equal
deleted
inserted
replaced
4513:23b540ab346a | 4514:ae48e0abc233 |
---|---|
485 end | 485 end |
486 end); | 486 end); |
487 return true, "Total: "..count.." sessions closed"; | 487 return true, "Total: "..count.." sessions closed"; |
488 end | 488 end |
489 | 489 |
490 local function session_flags(session, line) | |
491 if session.cert_identity_status == "valid" then | |
492 line[#line+1] = "(secure)"; | |
493 end | |
494 if session.secure then | |
495 line[#line+1] = "(encrypted)"; | |
496 end | |
497 if session.compressed then | |
498 line[#line+1] = "(compressed)"; | |
499 end | |
500 return table.concat(line, " "); | |
501 end | |
502 | |
490 def_env.s2s = {}; | 503 def_env.s2s = {}; |
491 function def_env.s2s:show(match_jid) | 504 function def_env.s2s:show(match_jid) |
492 local _print = self.session.print; | 505 local _print = self.session.print; |
493 local print = self.session.print; | 506 local print = self.session.print; |
494 | 507 |
497 for host, host_session in pairs(hosts) do | 510 for host, host_session in pairs(hosts) do |
498 print = function (...) _print(host); _print(...); print = _print; end | 511 print = function (...) _print(host); _print(...); print = _print; end |
499 for remotehost, session in pairs(host_session.s2sout) do | 512 for remotehost, session in pairs(host_session.s2sout) do |
500 if (not match_jid) or remotehost:match(match_jid) or host:match(match_jid) then | 513 if (not match_jid) or remotehost:match(match_jid) or host:match(match_jid) then |
501 count_out = count_out + 1; | 514 count_out = count_out + 1; |
502 print(" "..host.." -> "..remotehost..(session.cert_identity_status == "valid" and " (secure)" or "")..(session.secure and " (encrypted)" or "")..(session.compressed and " (compressed)" or "")); | 515 print(session_flags(session, {" ", host, "->", remotehost})); |
503 if session.sendq then | 516 if session.sendq then |
504 print(" There are "..#session.sendq.." queued outgoing stanzas for this connection"); | 517 print(" There are "..#session.sendq.." queued outgoing stanzas for this connection"); |
505 end | 518 end |
506 if session.type == "s2sout_unauthed" then | 519 if session.type == "s2sout_unauthed" then |
507 if session.connecting then | 520 if session.connecting then |
534 if session.to_host == host and ((not match_jid) or host:match(match_jid) | 547 if session.to_host == host and ((not match_jid) or host:match(match_jid) |
535 or (session.from_host and session.from_host:match(match_jid)) | 548 or (session.from_host and session.from_host:match(match_jid)) |
536 -- Pft! is what I say to list comprehensions | 549 -- Pft! is what I say to list comprehensions |
537 or (session.hosts and #array.collect(keys(session.hosts)):filter(subhost_filter)>0)) then | 550 or (session.hosts and #array.collect(keys(session.hosts)):filter(subhost_filter)>0)) then |
538 count_in = count_in + 1; | 551 count_in = count_in + 1; |
539 print(" "..host.." <- "..(session.from_host or "(unknown)")..(session.cert_identity_status == "valid" and " (secure)" or "")..(session.secure and " (encrypted)" or "")..(session.compressed and " (compressed)" or "")); | 552 print(session_flags(session, {" ", host, "<-", session.from_host or "(unknown)"})); |
540 if session.type == "s2sin_unauthed" then | 553 if session.type == "s2sin_unauthed" then |
541 print(" Connection not yet authenticated"); | 554 print(" Connection not yet authenticated"); |
542 end | 555 end |
543 for name in pairs(session.hosts) do | 556 for name in pairs(session.hosts) do |
544 if name ~= session.from_host then | 557 if name ~= session.from_host then |