X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fset%2Fprivilege.pl;h=183c101b948cea8ebd8c9458d8f58b5524f94673;hb=16d19a14ff3c7622cb81ab0312d674fde6b2af83;hp=4e30229775a901663e59cea75cd20cc53f9db5ed;hpb=80a2dd317e5d6b24250388b5177cbf85abee5a85;p=spider.git diff --git a/cmd/set/privilege.pl b/cmd/set/privilege.pl index 4e302297..183c101b 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,16 +15,19 @@ 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(); @@ -35,11 +38,13 @@ foreach $call (@args) { } 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);