alter the order of auto for/oper in PC11 tests
[spider.git] / perl / DXProt.pm
index 9e1f7c6f880fbc54a16d4561b342ef0092101a48..ab1e7572b45c426a374cbebd3da369d1100ec6d7 100644 (file)
@@ -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);
        }