X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Frcmd.pl;h=8afb5b4586383d0d089e71b51a4f170f73fe49eb;hb=ae1b5c3757a468d25dc183b8fd3be88985bb34f7;hp=caa9fb83ad445c13e770a7ff9b7aa61fcc93dacb;hpb=4d3067793942b3f4518615906dde50db5b76464a;p=spider.git diff --git a/cmd/rcmd.pl b/cmd/rcmd.pl index caa9fb83..8afb5b45 100644 --- a/cmd/rcmd.pl +++ b/cmd/rcmd.pl @@ -9,12 +9,13 @@ my $self = shift; my $line = shift; my ($call) = $line =~ /^\s*(\S+)/; +return (1, $self->msg('e5')) if $self->remotecmd; # are we permitted? return (1, $self->msg('e5')) if $self->priv < 6; # is there a call? -return (1, $self->msg('e6')) if !$call; +return (1, $self->msg('e6')) unless $call; # remove the callsign from the line $line =~ s/^\s*$call\s+//; @@ -22,9 +23,13 @@ $line =~ s/^\s*$call\s+//; # can we see it? Is it a node? $call = uc $call; my $noderef = DXCluster->get_exact($call); -return (1, $self->msg('e7', $call)) if !$noderef || !$noderef->pcversion; +unless ($noderef) { + $noderef = DXChannel->get($call); + $noderef = undef unless $noderef && $noderef->is_node; +} +return (1, $self->msg('e7', $call)) unless $noderef; -# ping it -DXProt::addrcmd($self->call, $call, $line); +# rcmd it +DXProt::addrcmd($self, $call, $line); return (1, $self->msg('rcmdo', $line, $call));