X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXProt.pm;h=ab1e7572b45c426a374cbebd3da369d1100ec6d7;hb=775fd16897916dccc374098ba6130b0f8858b636;hp=9e1f7c6f880fbc54a16d4561b342ef0092101a48;hpb=86316dcf45d7cbdcd8e3f512be655242ab1701ff;p=spider.git diff --git a/perl/DXProt.pm b/perl/DXProt.pm index 9e1f7c6f..ab1e7572 100644 --- a/perl/DXProt.pm +++ b/perl/DXProt.pm @@ -422,7 +422,7 @@ sub normal my $node; my $to = $user->homenode; my $last = $user->lastoper || 0; - if ($to ne $main::mycall && $send_opernam && $main::systime > $last + $DXUser::lastoperinterval && $to && ($node = Route::Node::get($to)) ) { + if ($send_opernam && $to && $to ne $main::mycall && $main::systime > $last + $DXUser::lastoperinterval && ($node = Route::Node::get($to)) ) { my $cmd = "forward/opernam $spot[4]"; # send the rcmd but we aren't interested in the replies... my $dxchan = $node->dxchan; @@ -906,7 +906,7 @@ sub normal if ($pcno == 39) { # incoming disconnect if ($field[1] eq $self->{call}) { $self->disconnect(1); - eph_dup_regex("^PC(?:1[679]|21).*$field[1]"); + eph_del_regex("^PC(?:1[679]|21).*$field[1]"); } else { dbg("PCPROT: came in on wrong channel") if isdbg('chanerr'); } @@ -920,6 +920,11 @@ sub normal # my $ref = Route::get($call) || Route->new($call); # return unless $self->in_filter_route($ref); + if ($field[3] eq $field[2]) { + dbg('PCPROT: invalid value') if isdbg('chanerr'); + return; + } + # add this station to the user database, if required my $user = DXUser->get_current($call); $user = DXUser->new($call) if !$user; @@ -1713,7 +1718,7 @@ sub disconnect my $node = Route::Node::get($call); my @rout; if ($node) { - @rout = $node->del_nodes; # at the next level +# @rout = $node->del_nodes; # at the next level @rout = $node->del($main::routeroot); }