changed dx by to require at least privilege 1
[spider.git] / cmd / dx.pl
index a7dc99ada65910c810fb45b8d31cb339de175067..ce0c304fe87705be7194f66d46a2f1ee1e95f112 100644 (file)
--- a/cmd/dx.pl
+++ b/cmd/dx.pl
@@ -34,8 +34,9 @@ return (1, $self->msg('dx2')) unless @f >= 2;
 # can be in any order
 
 if ($f[0] =~ /^by$/i) {
+       return (1, $self->msg('e5')) unless $self->priv;
     $spotter = uc $f[1];
-    $line =~ s/^\s*$f[0]\s+$f[1]\s+//;
+    $line =~ s/^\s*\Q$f[0]\s+\Q$f[1]\s+//;
        $line = $f[2];
        @f = split /\s+/, $line;
        return (1, $self->msg('dx2')) unless @f >= 2;
@@ -103,7 +104,7 @@ return (1, @out) unless $valid;
 
 # Store it here (but only if it isn't baddx)
 my $t = (int ($main::systime/60)) * 60;
-return (1, $self->msg('dup')) if Spot::dup($freq, $spotted, $t, $line);
+return (1, $self->msg('dup')) if Spot::dup($freq, $spotted, $t, $line, $spotter);
 my @spot = Spot::prepare($freq, $spotted, $t, $line, $spotter, $main::mycall);
 
 if ($DXProt::baddx->in($spotted) || $freq =~ /^69/ || $localonly) {