X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FFilter.pm;h=867c8ddfe73533fea29a6e3b09f5f0dcd106e2d5;hb=a6a9fc181ae90c318bf47a84c8bb9695ec7a39c6;hp=898b004a71c2cc664373f68d3665d02b03032922;hpb=0bd7ac4e24ce9e81232545b69ce8b98db605984b;p=spider.git diff --git a/perl/Filter.pm b/perl/Filter.pm index 898b004a..867c8ddf 100644 --- a/perl/Filter.pm +++ b/perl/Filter.pm @@ -231,13 +231,15 @@ sub it my $hops = $self->{hops} if exists $self->{hops}; if (isdbg('filter')) { + my $call = $self->{name}; my $args = join '\',\'', map {defined $_ ? $_ : 'undef'} (ref $_[0] ? @{$_[0]} : @_); my $true = $r ? "OK " : "REJ"; my $sort = $self->{sort}; my $dir = $self->{name} =~ /^in_/i ? "IN " : "OUT"; - + + $call =~ s/\.PL$//i; my $h = $hops || ''; - dbg("$true $dir: $type/$sort with $asc on '$args' $h") if isdbg('filter'); + dbg("Filter: $call $true $dir: $type/$sort with '$asc' on '$args' $h") if isdbg('filter'); } return ($r, $hops); } @@ -540,9 +542,9 @@ sub parse last; } } - return (0, $dxchan->msg('e20', $tok)) unless $found; + return (1, $dxchan->msg('e20', $tok)) unless $found; } else { - return (0, $dxchan->msg('filter2', $tok)); + return (1, $dxchan->msg('filter2', $tok)); } $lasttok = $tok; } @@ -561,13 +563,13 @@ sub parse sub cmd { my ($self, $dxchan, $sort, $type, $line) = @_; - return $dxchan->msg('filter5') unless $line; my ($r, $filter, $fno, $user, $s) = $self->parse($dxchan, $sort, $line); + return (1, $filter) if $r; + my $u = DXUser::get_current($user); return (1, $dxchan->msg('isow', $user)) if $u && $u->isolate; - return (1, $filter) if $r; my $fn = "filter$fno"; @@ -581,7 +583,8 @@ sub cmd $r = $filter->write; return (1,$r) if $r; - + + $filter->install(1); # 'delete' $filter->install; return (0, $filter, $fno);