1. protect against PC41s with field[3] == field[2]
[spider.git] / perl / DXProt.pm
index 9e1f7c6f880fbc54a16d4561b342ef0092101a48..615dfdd08316b24cfec90b12ef8e0da2dc878291 100644 (file)
@@ -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;