Comparison

plugins/mod_console.lua @ 1322:33d103b0283f

mod_console: Show total incoming/outgoing s2s connections
author Matthew Wild <mwild1@gmail.com>
date Sat, 06 Jun 2009 21:29:34 +0100
parent 1317:f6e56a555c37
child 1340:f707d0957155
comparison
equal deleted inserted replaced
1321:0698d0d39b35 1322:33d103b0283f
316 316
317 def_env.s2s = {}; 317 def_env.s2s = {};
318 function def_env.s2s:show(match_jid) 318 function def_env.s2s:show(match_jid)
319 local _print = self.session.print; 319 local _print = self.session.print;
320 local print = self.session.print; 320 local print = self.session.print;
321
322 local count_in, count_out = 0,0;
323
321 for host, host_session in pairs(hosts) do 324 for host, host_session in pairs(hosts) do
322 print = function (...) _print(host); _print(...); print = _print; end 325 print = function (...) _print(host); _print(...); print = _print; end
323 for remotehost, session in pairs(host_session.s2sout) do 326 for remotehost, session in pairs(host_session.s2sout) do
324 if (not match_jid) or remotehost:match(match_jid) or host:match(match_jid) then 327 if (not match_jid) or remotehost:match(match_jid) or host:match(match_jid) then
328 count_out = count_out + 1;
325 print(" "..host.." -> "..remotehost); 329 print(" "..host.." -> "..remotehost);
326 if session.sendq then 330 if session.sendq then
327 print(" There are "..#session.sendq.." queued outgoing stanzas for this connection"); 331 print(" There are "..#session.sendq.." queued outgoing stanzas for this connection");
328 end 332 end
329 if session.type == "s2sout_unauthed" then 333 if session.type == "s2sout_unauthed" then
352 end 356 end
353 357
354 for session in pairs(incoming_s2s) do 358 for session in pairs(incoming_s2s) do
355 if session.to_host == host and ((not match_jid) or host:match(match_jid) 359 if session.to_host == host and ((not match_jid) or host:match(match_jid)
356 or (session.from_host and session.from_host:match(match_jid))) then 360 or (session.from_host and session.from_host:match(match_jid))) then
361 count_in = count_in + 1;
357 print(" "..host.." <- "..(session.from_host or "(unknown)")); 362 print(" "..host.." <- "..(session.from_host or "(unknown)"));
358 if session.type == "s2sin_unauthed" then 363 if session.type == "s2sin_unauthed" then
359 print(" Connection not yet authenticated"); 364 print(" Connection not yet authenticated");
360 end 365 end
361 for name in pairs(session.hosts) do 366 for name in pairs(session.hosts) do
369 print = _print; 374 print = _print;
370 end 375 end
371 376
372 for session in pairs(incoming_s2s) do 377 for session in pairs(incoming_s2s) do
373 if not session.to_host and ((not match_jid) or session.from_host and session.from_host:match(match_jid)) then 378 if not session.to_host and ((not match_jid) or session.from_host and session.from_host:match(match_jid)) then
379 count_in = count_in + 1;
374 print("Other incoming s2s connections"); 380 print("Other incoming s2s connections");
375 print(" (unknown) <- "..(session.from_host or "(unknown)")); 381 print(" (unknown) <- "..(session.from_host or "(unknown)"));
376 end 382 end
377 end 383 end
384
385 return true, "Total: "..count_out.." outgoing, "..count_in.." incoming connections";
378 end 386 end
379 387
380 ------------- 388 -------------
381 389
382 function printbanner(session) 390 function printbanner(session)