25Jun06=======================================================================
1. make sure that a C record is sent for node call every update period.
2. make announces work again (probably).
+3. Fix long standing possibility of a crash with a new user.
24Jun06=======================================================================
1. Fix the routing algorithms to allow route selection in the face of
incomplete trees of nodes (trees as produced by sh/newc).
push @rout, @ans if $h && @ans;
}
- # send info to all logged in thingies
- $self->tell_login('loginu', "$ncall: $call") if DXUser->get_current($ncall)->is_local_node;
- $self->tell_buddies('loginb', $call, $ncall);
-
# add this station to the user database, if required
-# $call =~ s/-\d+$//o; # remove ssid for users
- my $user = DXUser->get_current($call);
- $user = DXUser->new($call) if !$user;
+ my $user = DXUser->get_current($ncall);
+ $user = DXUser->new($call) unless $user;
$user->homenode($parent->call) if !$user->homenode;
$user->node($parent->call);
$user->lastin($main::systime) unless DXChannel::get($call);
$user->put;
+
+ # send info to all logged in thingies
+ $self->tell_login('loginu', "$ncall: $call") if $user->is_local_node;
+ $self->tell_buddies('loginb', $call, $ncall);
}
if (@rout) {
$self->route_pc16($origin, $line, $parent, @rout) if @rout;
$parent->del_user($uref);
# send info to all logged in thingies
- $self->tell_login('logoutu', "$ncall: $ucall") if DXUser->get_current($ncall)->is_local_node;
+ my $user = DXUser->get_current($ncall);
+ $self->tell_login('logoutu', "$ncall: $ucall") if $user && $user->is_local_node;
$self->tell_buddies('logoutb', $ucall, $ncall);
if (eph_dup($line)) {