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) |