X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=f75d55c231e0c9b0e51ec79896d4c5de1ae48ff9;hb=8f391050421dd665bbf5fdcb3279a6074d97a74e;hp=26d1b169854b585ee1cd94a136da525cb1ff47d7;hpb=29ec5bb85c591182dd868e7a3d87f510d7b47e9b;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 26d1b169..f75d55c2 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -239,7 +239,7 @@ sub start # send initialisation string unless ($self->{outbound}) { - $self->send(pc38()) if DXNode->get_all(); +# $self->send(pc38()) if DXNode->get_all(); $self->send(pc18()); $self->{lastping} = $main::systime; } else { @@ -617,12 +617,16 @@ sub normal if ($call ne $main::mycall) { # don't allow malicious buggers to disconnect me! my $node = DXCluster->get_exact($call); if ($node) { + if ($call eq $self->{call}) { + dbg('chan', "LOOP: Trying to disconnect myself with PC21"); + return; + } if ($node->dxchan != $self) { dbg('chan', "LOOP: $call come in on wrong channel"); return; } my $dxchan; - if (($dxchan = DXChannel->get($call)) && $dxchan != $self) { + if ($dxchan = DXChannel->get($call)) { dbg('chan', "LOOP: $call connected locally"); return; }