X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fset%2Fprivilege.pl;h=865819e7efcfb5c6232bd69ddd7eae163484990a;hb=ab811a0c902225075a9bd69749f65594079433a9;hp=4e30229775a901663e59cea75cd20cc53f9db5ed;hpb=80a2dd317e5d6b24250388b5177cbf85abee5a85;p=spider.git diff --git a/cmd/set/privilege.pl b/cmd/set/privilege.pl index 4e302297..865819e7 100644 --- a/cmd/set/privilege.pl +++ b/cmd/set/privilege.pl @@ -5,7 +5,7 @@ # # Copyright (c) 1998 Dirk Koopman G1TLH # -# $Id$ +# # my ($self, $line) = @_; my @args = split /\s+/, $line; @@ -15,31 +15,36 @@ my @out; my $user; my $ref; -return (0) if $self->priv < 9; +if ($self->priv < 9 || $self->remotecmd || $self->inscript) { + Log('DXCommand', $self->call . " attempted to set privilege $priv for @args"); + return (1, $self->msg('e5')); +} if ($priv < 0 || $priv > 9) { - return (0, $self->msg('e5')); + return (1, $self->msg('e5')); } foreach $call (@args) { $call = uc $call; - unless ($self->remotecmd) { - if ($ref = DXChannel->get($call)) { + unless ($self->remotecmd || $self->inscript) { + if ($ref = DXChannel::get($call)) { $ref->priv($priv); $ref->user->priv($priv); $ref->user->put(); } - if (!$ref && ($user = DXUser->get($call))) { + if (!$ref && ($user = DXUser::get($call))) { $user->priv($priv); $user->put(); } if ($ref || $user) { push @out, $self->msg('priv', $call); + Log('DXCommand', "Privilege set to $priv on $call by " . $self->call); } else { push @out, $self->msg('e3', "Set Privilege", $call); } } else { push @out, $self->msg('sorry'); + Log('DXCommand', $self->call . " attempted to set privilege $priv for $call remotely"); } } return (1, @out);