Mercurial > prosody-hg
comparison plugins/mod_admin_telnet.lua @ 5586:7e1264bf7af8
mod_admin_telnet: List session flags (encryption, compression etc) the same way for c2s as s2s
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 17 May 2013 14:56:06 +0200 |
| parents | e449e6342e36 |
| children | 98a485212592 |
comparison
equal
deleted
inserted
replaced
| 5585:3e097acf82de | 5586:7e1264bf7af8 |
|---|---|
| 482 end | 482 end |
| 483 | 483 |
| 484 function def_env.hosts:add(name) | 484 function def_env.hosts:add(name) |
| 485 end | 485 end |
| 486 | 486 |
| 487 local function session_flags(session, line) | |
| 488 line = line or {}; | |
| 489 if session.cert_identity_status == "valid" then | |
| 490 line[#line+1] = "(secure)"; | |
| 491 elseif session.secure then | |
| 492 line[#line+1] = "(encrypted)"; | |
| 493 end | |
| 494 if session.compressed then | |
| 495 line[#line+1] = "(compressed)"; | |
| 496 end | |
| 497 if session.smacks then | |
| 498 line[#line+1] = "(sm)"; | |
| 499 end | |
| 500 if (session.ip or session.conn and session.conn:ip()):match(":") then | |
| 501 line[#line+1] = "(IPv6)"; | |
| 502 end | |
| 503 return table.concat(line, " "); | |
| 504 end | |
| 505 | |
| 487 def_env.c2s = {}; | 506 def_env.c2s = {}; |
| 488 | 507 |
| 489 local function show_c2s(callback) | 508 local function show_c2s(callback) |
| 490 for hostname, host in pairs(hosts) do | 509 for hostname, host in pairs(hosts) do |
| 491 for username, user in pairs(host.sessions or {}) do | 510 for username, user in pairs(host.sessions or {}) do |
| 524 status = status:get_text() or "[invalid!]"; | 543 status = status:get_text() or "[invalid!]"; |
| 525 else | 544 else |
| 526 status = "available"; | 545 status = "available"; |
| 527 end | 546 end |
| 528 end | 547 end |
| 529 print(" "..jid.." - "..status.."("..priority..")"); | 548 print(session_flags(session, { " "..jid.." - "..status.."("..priority..")" })); |
| 530 end | 549 end |
| 531 end); | 550 end); |
| 532 return true, "Total: "..count.." clients"; | 551 return true, "Total: "..count.." clients"; |
| 533 end | 552 end |
| 534 | 553 |
| 563 end | 582 end |
| 564 end); | 583 end); |
| 565 return true, "Total: "..count.." sessions closed"; | 584 return true, "Total: "..count.." sessions closed"; |
| 566 end | 585 end |
| 567 | 586 |
| 568 local function session_flags(session, line) | |
| 569 if session.cert_identity_status == "valid" then | |
| 570 line[#line+1] = "(secure)"; | |
| 571 elseif session.secure then | |
| 572 line[#line+1] = "(encrypted)"; | |
| 573 end | |
| 574 if session.compressed then | |
| 575 line[#line+1] = "(compressed)"; | |
| 576 end | |
| 577 if session.smacks then | |
| 578 line[#line+1] = "(sm)"; | |
| 579 end | |
| 580 if session.conn and session.conn:ip():match(":") then | |
| 581 line[#line+1] = "(IPv6)"; | |
| 582 end | |
| 583 return table.concat(line, " "); | |
| 584 end | |
| 585 | 587 |
| 586 def_env.s2s = {}; | 588 def_env.s2s = {}; |
| 587 function def_env.s2s:show(match_jid) | 589 function def_env.s2s:show(match_jid) |
| 588 local _print = self.session.print; | 590 local _print = self.session.print; |
| 589 local print = self.session.print; | 591 local print = self.session.print; |
