projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make set/isolate work in BOTH directions
[spider.git]
/
perl
/
DXProtHandle.pm
diff --git
a/perl/DXProtHandle.pm
b/perl/DXProtHandle.pm
index eacd9225d7ca197a9c0acf4b3accbd9968574d35..cd229c0f2d113370a11869e7d06de450efc76edb 100644
(file)
--- a/
perl/DXProtHandle.pm
+++ b/
perl/DXProtHandle.pm
@@
-405,6
+405,12
@@
sub handle_16
return;
}
return;
}
+ # isolate now means only accept stuff from this call only
+ if ($self->{isolate} && $ncall ne $self->{call}) {
+ dbg("PCPROT: $self->{call} isolated, $ncall ignored") if isdbg('chanerr');
+ return;
+ }
+
my $parent = Route::Node::get($ncall);
if ($parent) {
my $parent = Route::Node::get($ncall);
if ($parent) {
@@
-503,6
+509,12
@@
sub handle_17
return;
}
return;
}
+ # isolate now means only accept stuff from this call only
+ if ($self->{isolate} && $ncall ne $self->{call}) {
+ dbg("PCPROT: $self->{call} isolated, $ncall ignored") if isdbg('chanerr');
+ return;
+ }
+
RouteDB::delete($ncall, $self->{call});
my $uref = Route::User::get($ucall);
RouteDB::delete($ncall, $self->{call});
my $uref = Route::User::get($ucall);
@@
-684,6
+696,12
@@
sub handle_19
}
}
}
}
+ # isolate now means only accept stuff from this call only
+ if ($self->{isolate} && $call ne $self->{call}) {
+ dbg("PCPROT: $self->{call} isolated, $call ignored") if isdbg('chanerr');
+ next;
+ }
+
my $user = check_add_node($call);
# if (eph_dup($genline)) {
my $user = check_add_node($call);
# if (eph_dup($genline)) {
@@
-787,11
+805,16
@@
sub handle_21
eph_del_regex("^PC1[679].*$call");
# if I get a PC21 from the same callsign as self then ignore it
eph_del_regex("^PC1[679].*$call");
# if I get a PC21 from the same callsign as self then ignore it
- if ($call eq $self->
call
) {
+ if ($call eq $self->
{call}
) {
dbg("PCPROT: self referencing PC21 from $self->{call}");
return;
}
dbg("PCPROT: self referencing PC21 from $self->{call}");
return;
}
+ # for the above reason and also because of the check for PC21s coming
+ # in for self->call from outside being ignored further down
+ # we don't need any isolation code here, because we will never
+ # act on a PC21 with self->call in it.
+
RouteDB::delete($call, $self->{call});
my $parent = Route::Node::get($self->{call});
RouteDB::delete($call, $self->{call});
my $parent = Route::Node::get($self->{call});