X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=perl%2Fcluster.pl;h=50e860d29d57899df6289f50b4036e2f1b14f911;hb=d7b9494c9717fe1f8309355c428966e951a187b5;hp=d34a3337b270cf27a1c912e2a17594f1047ed77e;hpb=1efae85edb9fd00107a5c3105d7b0d70807de348;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index d34a3337..50e860d2 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -129,7 +129,7 @@ sub rec # is there one already connected to me - locally? my $user = DXUser->get($call); if (DXChannel->get($call)) { - my $mess = DXM::msg($lang, ($user && $user->is_node) ? 'concluster' : 'conother', $call); + my $mess = DXM::msg($lang, ($user && $user->is_node) ? 'concluster' : 'conother', $call, $main::mycall); already_conn($conn, $call, $mess); return; } @@ -139,16 +139,16 @@ sub rec if (($user->is_node || $call eq $myalias) && !DXCluster->get_exact($call)) { ; } else { - if (DXCluster->get_exact($call)) { - my $mess = DXM::msg($lang, $user->is_node ? 'concluster' : 'conother', $call); + if (my $ref = DXCluster->get_exact($call)) { + my $mess = DXM::msg($lang, 'concluster', $call, $ref->mynode->call); already_conn($conn, $call, $mess); return; } } $user->{lang} = $main::lang if !$user->{lang}; # to autoupdate old systems } else { - if (DXCluster->get_exact($call)) { - my $mess = DXM::msg($lang, 'conother', $call); + if (my $ref = DXCluster->get_exact($call)) { + my $mess = DXM::msg($lang, 'concluster', $call, $ref->mynode->call); already_conn($conn, $call, $mess); return; } @@ -159,6 +159,7 @@ sub rec if ($user->lockout) { Log('DXCommand', "$call is locked out, disconnected"); $conn->send_now("Z$call|bye"); # this will cause 'client' to disconnect + $conn->disconect; return; }