lib/PublicInbox/Filter/Base.pm | 9 ++++++++- lib/PublicInbox/Filter/Vger.pm | 7 ++++++- diff --git a/lib/PublicInbox/Filter/Base.pm b/lib/PublicInbox/Filter/Base.pm index 0991e8748820e11b8a112728fbca2b6083c925c2..37f1ee7e59ea76d0211f82c42206a6268b792842 100644 --- a/lib/PublicInbox/Filter/Base.pm +++ b/lib/PublicInbox/Filter/Base.pm @@ -62,6 +62,13 @@ } sub err ($) { $_[0]->{err} } +# by default, scrub is a no-op, see PublicInbox::Filter::Vger::scrub +# for an example of the override +sub scrub { + my ($self, $mime) = @_; + $self->ACCEPT($mime); +} + # for MDA sub delivery { my ($self, $mime) = @_; @@ -94,7 +101,7 @@ if (keys %sfx) { push @r, 'Rejected suffixes(s): '.join(', ', sort keys %sfx); } - @r ? $self->reject(join("\n", @r)) : $self->ACCEPT; + @r ? $self->reject(join("\n", @r)) : $self->scrub($mime); } 1; diff --git a/lib/PublicInbox/Filter/Vger.pm b/lib/PublicInbox/Filter/Vger.pm index 9498081a1dc98617c5b7f0721d69a954f9ffc1aa..2ffed184a238e18624320b7d3fb3102bf98f4deb 100644 --- a/lib/PublicInbox/Filter/Vger.pm +++ b/lib/PublicInbox/Filter/Vger.pm @@ -17,7 +17,7 @@ # only LKML had this, and LKML nowadays has no list trailer since Jan 2016 my $l4 = qr!Please read the FAQ at +http://www\.tux\.org/lkml/!; -sub delivery { +sub scrub { my ($self, $mime) = @_; my $s = $mime->as_string; @@ -28,6 +28,11 @@ if ($s =~ s/$l0\n$l1\n$l2\n$l3\n($l4\n)?\z//os) { $mime = Email::MIME->new(\$s); } $self->ACCEPT($mime); +} + +sub delivery { + my ($self, $mime) = @_; + $self->scrub($mime); } 1;