X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=d6a81ec4328ff0e4d8db67eda6010474df64bca2;hb=1fd948e7dfd70949e959dd0a633d4e5b762d07e0;hp=f8e2b4b99ee9d0c85c1f1a8d75880fde8f5b6b0c;hpb=75abae88c65a19102d4a633a273a71750aa97728;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index f8e2b4b9..d6a81ec4 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -825,20 +825,21 @@ sub normal $self->disconnect; return; } - my $node = Route::Node::get($call); if ($call ne $main::mycall) { # don't allow malicious buggers to disconnect me! - my $dxchan = $node->dxchan; - if ($dxchan && $dxchan ne $self) { - dbg("PCPROT: PC21 from $self->{call} trying to alter locally connected $call, ignored!") if isdbg('chanerr'); - return; - } - if ($call eq $self->{call}) { dbg("PCPROT: Trying to disconnect myself with PC21") if isdbg('chanerr'); return; } + my $node = Route::Node::get($call); if ($node) { + + my $dxchan = $node->dxchan; + if ($dxchan && $dxchan ne $self) { + dbg("PCPROT: PC21 from $self->{call} trying to alter locally connected $call, ignored!") if isdbg('chanerr'); + return; + } + # input filter it return unless $self->in_filter_route($node);