projects
/
spider.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
04df6ca
)
send out a delayed pc92c for external node after receipt of pc22
author
minima
<minima>
Mon, 8 Jan 2007 01:04:14 +0000
(
01:04
+0000)
committer
minima
<minima>
Mon, 8 Jan 2007 01:04:14 +0000
(
01:04
+0000)
perl/DXProtHandle.pm
patch
|
blob
|
history
diff --git
a/perl/DXProtHandle.pm
b/perl/DXProtHandle.pm
index 9e5d249f33e9af00fed07ce032c3be65b4aafbab..c65ebc6d6f40a4fbca6e96268086ef7705a4d452 100644
(file)
--- a/
perl/DXProtHandle.pm
+++ b/
perl/DXProtHandle.pm
@@
-646,7
+646,8
@@
sub handle_19
# The justification for this is that most of it is wrong or out of date
# anyway.
#
# The justification for this is that most of it is wrong or out of date
# anyway.
#
- # From now on we are only going to believe PC92 data.
+ # From now on we are only going to believe PC92 data and locally connected
+ # non-pc92 nodes.
#
for ($i = 1; $i < $#_-1; $i += 4) {
my $here = $_[$i];
#
for ($i = 1; $i < $#_-1; $i += 4) {
my $here = $_[$i];
@@
-731,7
+732,7
@@
sub handle_19
if (@rout) {
$self->route_pc21($self->{call}, $line, @rout);
$self->route_pc19($self->{call}, $line, @rout);
if (@rout) {
$self->route_pc21($self->{call}, $line, @rout);
$self->route_pc19($self->{call}, $line, @rout);
- $self->route_pc92a($main::mycall, $line, $main::routeroot, @rout);
+ $self->route_pc92a($main::mycall, $line, $main::routeroot, @rout)
if $self->{state} eq 'normal'
;
}
}
}
}
@@
-816,6
+817,15
@@
sub handle_22
my $origin = shift;
$self->state('normal');
$self->{lastping} = 0;
my $origin = shift;
$self->state('normal');
$self->{lastping} = 0;
+
+ # send out delayed PC92 config for this node if it is external
+ unless ($self->{do_pc92}) {
+ my $node = Route::Node::get($self->{call});
+ if ($node) {
+ my @rout = map {my $r = Route::User::get($_); $r ? ($r) : ()} $node->users;
+ $self->route_pc92a($main::mycall, undef, $node, @rout);
+ }
+ }
}
# WWV info
}
# WWV info