projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
leave the pc19 in the list for longer
[spider.git]
/
perl
/
DXProt.pm
diff --git
a/perl/DXProt.pm
b/perl/DXProt.pm
index 66434a0e723bf9ca89d748b79da3402cffa2a712..5f910bbbc4cc6ffd99ef40426f447797ce6b49b8 100644
(file)
--- a/
perl/DXProt.pm
+++ b/
perl/DXProt.pm
@@
-645,7
+645,9
@@
sub normal
# if there is a parent, proceed, otherwise if there is a latent PC19 in the PC19list,
# fix it up in the routing tables and issue it forth before the PC16
unless ($parent) {
# if there is a parent, proceed, otherwise if there is a latent PC19 in the PC19list,
# fix it up in the routing tables and issue it forth before the PC16
unless ($parent) {
- if (my $nl = $pc19list{$ncall}) {
+ my $nl = $pc19list{$ncall};
+
+ if ($nl && @field > 3) { # 3 because of the hop count!
# this is a new (remembered) node, now attach it to me if it isn't in filtered
# and we haven't disallowed it
# this is a new (remembered) node, now attach it to me if it isn't in filtered
# and we haven't disallowed it
@@
-659,8
+661,6
@@
sub normal
$user->node($ncall);
}
$user->node($ncall);
}
- delete $pc19list{$ncall}; # whatever happens - it goes
-
my $wantpc19 = $user->wantroutepc19;
if ($wantpc19 || !defined $wantpc19) {
my $new = Route->new($ncall); # throw away
my $wantpc19 = $user->wantroutepc19;
if ($wantpc19 || !defined $wantpc19) {
my $new = Route->new($ncall); # throw away
@@
-688,6
+688,7
@@
sub normal
} else {
return;
}
} else {
return;
}
+ delete $pc19list{$ncall};
}
} else {
dbg("PCPROT: Node $ncall not in config") if isdbg('chanerr');
}
} else {
dbg("PCPROT: Node $ncall not in config") if isdbg('chanerr');
@@
-916,7
+917,8
@@
sub normal
}
} else {
$pc19list{$call} = [] unless exists $pc19list{$call};
}
} else {
$pc19list{$call} = [] unless exists $pc19list{$call};
- push @{$pc19list{$call}}, [$self->{call}, $ver, $flags];
+ my $nl = $pc19list{$call};
+ push @{$pc19list{$call}}, [$self->{call}, $ver, $flags] unless grep $_->[0] eq $self->{call}, @$nl;
}
}
}
}