X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=perl%2FDXCommandmode.pm;h=d0f9bb6531cf25bfffe6627e1cfc5f64807c1d69;hb=f208d56126fc1804fc3adb80a0e3ac7356e37d8d;hp=d2f4a4ff97c549b3b596ce62edf5530cb66d7d11;hpb=d572c34d7d49a76310446ca0ccae4fbbaceb8224;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index d2f4a4ff..d0f9bb65 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -252,6 +252,7 @@ sub start } $self->lastmsgpoll($main::systime); + $self->{user_interval} = $self->user->user_interval || $main::user_interval; # allow user to change idle time between prompts $self->prompt; } @@ -543,7 +544,7 @@ sub run_cmd # check for length of whole command line and any invalid characters if (length $cmdline > $maxcmdlth || $cmd =~ m|\.| || $cmd !~ m|^\w+(?:/\w+){0,1}(?:/\d+)?$|) { LogDbg('DXCommand', "cmd: $self->{call} - invalid characters in '$cmd'"); - return $self->_error_out('e40'); + return $self->_error_out('e40'); } my ($path, $fcmd); @@ -588,7 +589,7 @@ sub run_cmd return $self->_error_out('e1'); } } else { - dbg("cmd: $cmd not found") if isdbg('command'); + LogDbg('DXCommand', "$self->{call} cmd: '$cmd' not found"); return $self->_error_out('e1'); } } @@ -597,7 +598,7 @@ sub run_cmd if ($ok) { delete $self->{errors}; } else { - if (++$self->{errors} > $DXChannel::maxerrors) { + if ($self != $main::me && ++$self->{errors} > $DXChannel::maxerrors) { $self->send($self->msg('e26')); $self->disconnect; return (); @@ -627,7 +628,7 @@ sub process } # send a prompt if no activity out on this channel - if ($t >= $dxchan->t + $main::user_interval) { + if ($t >= $dxchan->t + $dxchan->{user_interval}) { $dxchan->prompt() if $dxchan->{state} =~ /^prompt/o; $dxchan->t($t); }