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);
}
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;
}
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";
$r = $filter->write;
return (1,$r) if $r;
-
+
+ $filter->install(1); # 'delete'
$filter->install;
return (0, $filter, $fno);