From 9bc8cf2e9866393470cdb76a2af39d63f4246204 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 3 Oct 2015 10:18:07 +0000 Subject: mda: support a 'filter=scrub' option for external lists For list where we are not the primary archival entry point, defaulting to filter=scrub makes sense since their list conventions may be more tolerant of HTML and other crap than we are. --- public-inbox-mda | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'public-inbox-mda') diff --git a/public-inbox-mda b/public-inbox-mda index 1a9469ba..df8ca38c 100755 --- a/public-inbox-mda +++ b/public-inbox-mda @@ -38,7 +38,18 @@ if (PublicInbox::MDA->precheck($filter, $dst->{address}) && $filtered = undef; $filter->simple($msg); - if (PublicInbox::Filter->run($msg, $filter)) { + my $filter_arg; + my $fcfg = $dst->{filter}; + if (!defined $fcfg || $filter eq 'reject') { + $filter_arg = $filter; + } elsif ($fcfg eq 'scrub') { + $filter_arg = undef; # the default for legacy versions + } else { + warn "publicinbox.$dst->{listname}.filter=$fcfg invalid\n"; + warn "must be either 'scrub' or 'reject' (the default)\n"; + } + + if (PublicInbox::Filter->run($msg, $filter_arg)) { # run spamc again on the HTML-free message if (do_spamc($msg, \$filtered)) { $msg = Email::MIME->new(\$filtered); -- cgit v1.2.3-24-ge0c7