get the basic (r)cmd thing working.
[spider.git] / perl / DXXml / Cmd.pm
index 821606afb65df2272b1df5cb966b8212cf16abcb..f56c270e80f478444c36957da15bbed5976b36f0 100644 (file)
@@ -14,8 +14,8 @@ use DXDebug;
 use DXProt;
 use IsoTime;
 use Investigate;
-use Time::HiRes qw(gettimeofday tv_interval);
 use DXXml::Text;
+use DXLog;
 
 use vars qw($VERSION $BRANCH @ISA %pings);
 $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
@@ -35,7 +35,7 @@ sub handle_input
                
                my $cmd = $self->{content};
                
-               if ($self->{o} eq $dxchan->call) {      # online user or node
+               if ($self->{u} && $self->{u} eq $dxchan->call) {        # online user or node
                        @in = (DXCommandmode::run_cmd($dxchan, $cmd));
                } else {
                        # remote command
@@ -56,8 +56,8 @@ sub handle_input
                        }
                        Log('rcmd', 'in', $ref->{priv}, $self->{o}, "$self->{content}($answer)");
                }
-               my $rep = DXXml::Text->new(u=>$self->{u}, to=>$self->{o}, content=>join('%0A', @in));
-               $rep->route($dxchan);
+               my $rep = DXXml::Text->new(u=>$self->{u}, to=>$self->{o}, content=>join('%0A', map {"$main::mycall:$_"} @in));
+               $rep->route($main::me); # because it's coming from me!
        } else {
                $self->route($dxchan);
        }