# establish slug queue, if required
$self->{sluggedpcs} = [];
$self->{isslugged} = $DXProt::pc92_slug_changes + $DXProt::last_pc92_slug + 5 if $DXProt::pc92_slug_changes;
- $self->{isslugged} = 0 if $self->{priv} || $user->registered || $user->homenode eq $main::mycall;
+ $self->{isslugged} = 0 if $self->{priv} || $user->registered || ($user->homenode && $user->homenode eq $main::mycall);
# send the relevant MOTD
$self->send_motd;
} else {
$user->homenode($homenode) if $homenode;
$user->node($homenode);
+ $user->priv(0);
}
$user->lastin($main::systime); # this make it last longer than just this invocation
$user->put; # just to make sure it gets written away!!!
# this is to fix a problem I introduced some build ago by using this function for users
# whereas it was only being used for nodes.
- if ($user->is_user && $user->lockout && $user->priv == 1) {
+ if ($user->is_user && $user->lockout && ($user->priv // 0) == 1) {
$user->priv(0);
$user->lockout(0);
dbg("DXProt: PC92 user record for $call depriv'd and unlocked");