fix a crash on receiving an rcmd from a new node
[spider.git] / perl / DXProt.pm
index eafb591dac4d64a5d3da6db501a150b116130794..4d79ecf58110370494b0203523773dcb248b3013 100644 (file)
@@ -1124,8 +1124,8 @@ sub process_rcmd
        if ($tonode eq $main::mycall) {
                my $ref = DXUser->get_current($fromnode);
                my $cref = Route::Node::get($fromnode);
-               Log('rcmd', 'in', $ref->{priv}, $fromnode, $cmd);
-               if ($cmd !~ /^\s*rcmd/i && $cref && $ref && $cref->call eq $ref->homenode) { # not allowed to relay RCMDS!
+               Log('rcmd', 'in', ($ref->{priv}||0), $fromnode, $cmd);
+               if ($cmd !~ /^\s*rcmd/i && $cref && $ref && $ref->homenode && $cref->call eq $ref->homenode) { # not allowed to relay RCMDS!
                        if ($ref->{priv}) {             # you have to have SOME privilege, the commands have further filtering
                                $self->{remotecmd} = 1; # for the benefit of any command that needs to know
                                my $oldpriv = $self->{priv};