projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added TODO list
[spider.git]
/
perl
/
DXProt.pm
diff --git
a/perl/DXProt.pm
b/perl/DXProt.pm
index 4d716ce79844f486132e09d917b715381aebd070..7bffd606b25276058b368abf94b28de3cc4bc7ac 100644
(file)
--- a/
perl/DXProt.pm
+++ b/
perl/DXProt.pm
@@
-823,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;
@@
-833,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) {
@@
-1155,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;
}
@@
-1164,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;