X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FFilter.pm;h=9b1b1d50196fdf84cf870185a2954f46f5aba3f3;hb=82236b001650f0e9770d25566a033501ec4fb6f4;hp=fbdb4f300fb579162fa34708504bac792f59a1a9;hpb=3f93e02718a31f272434796e151cb3358a1fd7ed;p=spider.git diff --git a/perl/Filter.pm b/perl/Filter.pm index fbdb4f30..9b1b1d50 100644 --- a/perl/Filter.pm +++ b/perl/Filter.pm @@ -187,10 +187,15 @@ sub it my $filter; my @keys = sort $self->getfilkeys; my $key; + my $type = 'Dunno'; + my $asc = '?'; + my $r = @keys > 0 ? 0 : 1; foreach $key (@keys) { $filter = $self->{$key}; if ($filter->{reject} && exists $filter->{reject}->{code}) { + $type = 'reject'; + $asc = $filter->{reject}->{user}; if (&{$filter->{reject}->{code}}(\@_)) { $r = 0; last; @@ -199,6 +204,8 @@ sub it } } if ($filter->{accept} && exists $filter->{accept}->{code}) { + $type = 'accept'; + $asc = $filter->{accept}->{user}; if (&{$filter->{accept}->{code}}(\@_)) { $r = 1; last; @@ -211,6 +218,13 @@ sub it # hops are done differently (simply) my $hops = $self->{hops} if exists $self->{hops}; + if (isdbg('filter')) { + my $args = join '\',\'', @_; + my $true = $r ? "OK" : "REJ"; + my $sort = $self->{sort}; + $hops ||= "none"; + dbg('filter', "Filter: $type/$sort with $asc on '$args': $true hops: $hops"); + } return ($r, $hops); }