383 end |
383 end |
384 |
384 |
385 return true, "Total: "..count_out.." outgoing, "..count_in.." incoming connections"; |
385 return true, "Total: "..count_out.." outgoing, "..count_in.." incoming connections"; |
386 end |
386 end |
387 |
387 |
|
388 function def_env.s2s:close(from, to) |
|
389 local print, count = self.session.print, 0; |
|
390 |
|
391 if not (from and to) then |
|
392 return false, "Syntax: s2s:close('from', 'to') - Closes all s2s sessions from 'from' to 'to'"; |
|
393 elseif from == to then |
|
394 return false, "Both from and to are the same... you can't do that :)"; |
|
395 end |
|
396 |
|
397 if hosts[from] and not hosts[to] then |
|
398 -- Is an outgoing connection |
|
399 local session = hosts[from].s2sout[to]; |
|
400 if not session then |
|
401 print("No outgoing connection from "..from.." to "..to) |
|
402 else |
|
403 s2smanager.destroy_session(session); |
|
404 count = count + 1; |
|
405 print("Closed outgoing session from "..from.." to "..to); |
|
406 end |
|
407 elseif hosts[to] and not hosts[from] then |
|
408 -- Is an incoming connection |
|
409 for session in pairs(incoming_s2s) do |
|
410 if session.to_host == to and session.from_host == from then |
|
411 s2smanager.destroy_session(session); |
|
412 count = count + 1; |
|
413 end |
|
414 end |
|
415 |
|
416 if count == 0 then |
|
417 print("No incoming connections from "..from.." to "..to); |
|
418 else |
|
419 print("Closed "..count.." incoming session"..((count == 1 and "") or "s").." from "..from.." to "..to); |
|
420 end |
|
421 elseif hosts[to] and hosts[from] |
|
422 return false, "Both of the hostnames you specified are local, there are no s2s sessions to close"; |
|
423 else |
|
424 return false, "Neither of the hostnames you specified are being used on this server"; |
|
425 end |
|
426 |
|
427 return true, "Closed "..count.." s2s session"..((count == 1 and "") or "s"); |
|
428 end |
|
429 |
388 ------------- |
430 ------------- |
389 |
431 |
390 function printbanner(session) |
432 function printbanner(session) |
391 session.print [[ |
433 session.print [[ |
392 ____ \ / _ |
434 ____ \ / _ |