From bab0a3dfd9e3bd58abf60531096b780673f8e6c7 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 12 Feb 2021 00:05:50 -0700 Subject: filter/vger: kill trailing newlines aggressively PublicInbox::MboxReader->(mboxrd|mboxo) only deletes the last trailing newline, not every single trailing newline like InboxWritable->import_mbox does. Testing PublicInbox::MboxReader->mboxrd (next commit) with scripts/import_vger_from_mbox on the LKML archive I got 2018 for v2 development; this difference was responsible for a single spam message(*) from out of 2722831 not being filtered correctly and returning a different result. (*) dated 2014-08-25 --- lib/PublicInbox/Filter/Vger.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/PublicInbox/Filter/Vger.pm b/lib/PublicInbox/Filter/Vger.pm index 0b1f5dd3..5b3c0277 100644 --- a/lib/PublicInbox/Filter/Vger.pm +++ b/lib/PublicInbox/Filter/Vger.pm @@ -24,7 +24,7 @@ sub scrub { # the vger appender seems to only work on the raw string, # so in multipart (e.g. GPG-signed) messages, the list trailer # becomes invisible to MIME-aware email clients. - if ($s =~ s/$l0\n$l1\n$l2\n$l3\n($l4\n)?\z//os) { + if ($s =~ s/$l0\n$l1\n$l2\n$l3\n(?:$l4\n)?\n*\z//os) { $mime = PublicInbox::Eml->new(\$s); } $self->ACCEPT($mime); -- cgit v1.2.3-24-ge0c7