1. added $actiondata to filter line to allow per action data such as no of hops
[spider.git] / perl / DXCommandmode.pm
index bce0255fd4750002963821575ccd462f5173ddda..d05af70a2936bd67c3ee9aec70b5a3142c8c0426 100644 (file)
@@ -133,6 +133,20 @@ sub normal
                } else {
                        $self->state('prompt');
                }
+       } elsif ($self->{state} eq 'sysop') {
+               my $passwd = $self->{user}->passwd;
+               my @pw = split / */, $passwd;
+               if ($passwd) {
+                       my @l = @{$self->{passwd}};
+                       my $str = "$pw[$l[0]].*$pw[$l[1]].*$pw[$l[2]].*$pw[$l[3]].*$pw[$l[4]]";
+                       if ($cmdline =~ /$str/) {
+                               $self->{priv} = $self->{user}->priv;
+                       } else {
+                               $self->send($self->msg('sorry'));
+                       }
+               }
+               delete $self->{passwd};
+               $self->state('prompt');
        } else {
                @ans = run_cmd($self, $cmdline);           # if length $cmdline;