# input filter if required
return unless $self->in_filter_route($parent);
- my @rout = $parent->del_user($uref);
-
- $self->route_pc17($parent, @rout) if @rout;
+ $parent->del_user($uref);
+ $self->route_pc17($parent, $uref);
return;
}
return;
}
+ # if I get a PC21 from the same callsign as self then treat it
+ # as a PC39: I have gone away
+ if ($call eq $self->call) {
+ $self->disconnect(1);
+ eph_del_regex("^PC(?:1[679]|21).*$field[1]");
+ return;
+ }
+
eph_del_regex("^PC1[79].*$call");
my @rout;
return;
}
if ($call ne $main::mycall) { # don't allow malicious buggers to disconnect me!
- 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) {
return;
}
@field = map { unpad($_) } @field;
- if (WCY::dup($d,@field[3..7])) {
+ if (WCY::dup($d)) {
dbg("PCPROT: Dup WCY Spot ignored\n") if isdbg('chanerr');
return;
}
my $rep;
eval {
- $rep = Local::wwv($self, @field[1..12]);
+ $rep = Local::wcy($self, @field[1..12]);
};
# dbg("Local::wcy error $@") if isdbg('local') if $@;
return if $rep;