mega-merge of major parts of mojo
[spider.git] / cmd / spoof.pl
index e8ee5c55d96ddd04b5e8fd9dbc23f7c49afcf315..d4be673fbb24a5d905785710a73a5697730f6cb0 100644 (file)
@@ -13,9 +13,9 @@ my $myuser = $self->user;
 my $mylang = $self->lang;
 
 my ($call, $newline) = split /\s+/, $line, 2;
-return (1, $self->msg('nodee1', $call)) if DXChannel->get($call);
+return (1, $self->msg('nodee1', $call)) if DXChannel::get($call);
 
-if ($self->remotecmd) {
+if ($self->remotecmd || $self->inscript) {
        Log('DXCommand', "$mycall is trying to spoof $call remotely");
        return (1, $self->msg('e5'));
 }
@@ -26,7 +26,7 @@ if ($self->priv < 9) {
 
 my @out;
 $call = uc $call;
-my $user = DXUser->get_current($call);
+my $user = DXUser::get_current($call);
 unless ($user) {
        $user = DXUser->new($call);
        push @out, $self->msg('spf1', $call);
@@ -35,7 +35,8 @@ unless ($user) {
 # set up basic environment
 $self->call($call);
 $self->user($user);
-Log('DXCommand', "spoof '$newline' as $call by $mycall");
+my $addr = $self->hostname || '127.0.0.1';
+Log('cmd', "$self->{call}|$addr|spoof|$line");
 my @in = $self->run_cmd($newline);
 push @out, map {"spoof $call: $_"} @in;
 $self->call($mycall);