projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add PC21 delete for locally connecting nodes
[spider.git]
/
perl
/
DXProtHandle.pm
diff --git
a/perl/DXProtHandle.pm
b/perl/DXProtHandle.pm
index f04c6958f3f658e07a7ba9b367b09c72ef2f01b9..a62c6bef77de07b90cbf6a41711cc6f58708e6e5 100644
(file)
--- a/
perl/DXProtHandle.pm
+++ b/
perl/DXProtHandle.pm
@@
-776,13
+776,14
@@
sub send_delayed_pc92
{
my $self = shift;
{
my $self = shift;
- # send out delayed PC92 config for this node if it is external
+ # send out new PC92 config to everyone else
+ my $line = gen_my_pc92_config($main::me);
+ $self->broadcast_route_pc9x($main::mycall, undef, $line, 0);
+
+ # if this is an external node then send out the external config
unless ($self->{do_pc92}) {
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_pc92c($main::mycall, undef, $node, @rout);
- }
+ $line = gen_my_pc92_config(Route::Node::get($self->{call}));
+ $self->broadcast_route_pc9x($main::mycall, undef, $line, 0);
}
}
}
}
@@
-879,17
+880,17
@@
sub handle_22
my $line = shift;
my $origin = shift;
my $line = shift;
my $origin = shift;
- if ($self->{do_pc92} && $self->{state} ne 'init92') {
- dbg("PCPROT: disconnecting because login call not sent in any pc92") if isdbg('chanerr');
- $self->send("**** You logged in with $self->{call} but that is NOT your \$mycall");
- $self->disconnect;
- return;
+ if ($self->{do_pc92}) {
+ if ($self->{state} ne 'init92') {
+ dbg("PCPROT: disconnecting because login call not sent in any pc92") if isdbg('chanerr');
+ $self->send("**** You logged in with $self->{call} but that is NOT your \$mycall");
+ $self->disconnect;
+ return;
+ }
}
}
-
- $self->state('normal');
$self->{lastping} = 0;
$self->{lastping} = 0;
-
- $self->send_delayed_pc92
+ $self->state('normal');
+ $self->send_delayed_pc92
;
}
# WWV info
}
# WWV info
@@
-1379,11
+1380,11
@@
sub _add_thingy
if ($call) {
if ($is_node) {
if ($call) {
if ($is_node) {
+ dbg("ROUTE: added node $call to " . $parent->call) if isdbg('routelow');
@rout = $parent->add($call, $version, Route::here($here));
@rout = $parent->add($call, $version, Route::here($here));
- dbg("ROUTE: added node $call to " . $parent->call) if isdbg('route');
} else {
} else {
+ dbg("ROUTE: added user $call to " . $parent->call) if isdbg('routelow');
@rout = $parent->add_user($call, Route::here($here));
@rout = $parent->add_user($call, Route::here($here));
- dbg("ROUTE: added user $call to " . $parent->call) if isdbg('route');
}
}
return @rout;
}
}
return @rout;
@@
-1398,12
+1399,12
@@
sub _del_thingy
if ($call) {
if ($is_node) {
my $nref = Route::Node::get($call);
if ($call) {
if ($is_node) {
my $nref = Route::Node::get($call);
+ dbg("ROUTE: deleting node $call from " . $parent->call) if isdbg('routelow');
@rout = $nref->del($parent) if $nref;
@rout = $nref->del($parent) if $nref;
- dbg("ROUTE: deleting node $call from " . $parent->call) if isdbg('route');
} else {
my $uref = Route::User::get($call);
} else {
my $uref = Route::User::get($call);
+ dbg("ROUTE: deleting user $call from " . $parent->call) if isdbg('routelow');
@rout = $parent->del_user($uref) if $uref;
@rout = $parent->del_user($uref) if $uref;
- dbg("ROUTE: deleting user $call from " . $parent->call) if isdbg('route');
}
}
return @rout;
}
}
return @rout;
@@
-1454,6
+1455,8
@@
sub handle_92
my $line = shift;
my $origin = shift;
my $line = shift;
my $origin = shift;
+ my (@radd, @rdel);
+
$self->{do_pc92} ||= 1;
my $pcall = $_[1];
$self->{do_pc92} ||= 1;
my $pcall = $_[1];
@@
-1527,8
+1530,6
@@
sub handle_92
push @nent, $_;
}
push @nent, $_;
}
- my (@radd, @rdel);
-
if ($sort eq 'A') {
for (@nent) {
push @radd, _add_thingy($parent, $_);
if ($sort eq 'A') {
for (@nent) {
push @radd, _add_thingy($parent, $_);