projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1. make PC21 coming from the channel's node call then treat it as a PC39 and
[spider.git]
/
perl
/
DXProt.pm
diff --git
a/perl/DXProt.pm
b/perl/DXProt.pm
index ec18e19f499f4298921d127909f01ab6644c14fe..7bffd606b25276058b368abf94b28de3cc4bc7ac 100644
(file)
--- a/
perl/DXProt.pm
+++ b/
perl/DXProt.pm
@@
-693,9
+693,8
@@
sub normal
# input filter if required
return unless $self->in_filter_route($parent);
# 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;
}
@@
-824,6
+823,14
@@
sub normal
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;
eph_del_regex("^PC1[79].*$call");
my @rout;
@@
-834,11
+841,6
@@
sub normal
return;
}
if ($call ne $main::mycall) { # don't allow malicious buggers to disconnect me!
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) {
my $node = Route::Node::get($call);
if ($node) {
@@
-1156,7
+1158,7
@@
sub normal
return;
}
@field = map { unpad($_) } @field;
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;
}
dbg("PCPROT: Dup WCY Spot ignored\n") if isdbg('chanerr');
return;
}
@@
-1165,7
+1167,7
@@
sub normal
my $rep;
eval {
my $rep;
eval {
- $rep = Local::w
wv
($self, @field[1..12]);
+ $rep = Local::w
cy
($self, @field[1..12]);
};
# dbg("Local::wcy error $@") if isdbg('local') if $@;
return if $rep;
};
# dbg("Local::wcy error $@") if isdbg('local') if $@;
return if $rep;