From 1ef09f609adb0afc9efa5a3ff1600bae3c9587e6 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 21 Apr 2016 22:46:04 +0000 Subject: mda: reject multiple Message-IDs up front While ssoma now documents it uses the first Message-ID, they are confusing and could be a sign of a broken mail software, and broken mail software is often a sign of spam... ref: http://public-inbox.org/meta/20160421221128.4910-1-e@80x24.org/ --- lib/PublicInbox/MDA.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/PublicInbox/MDA.pm b/lib/PublicInbox/MDA.pm index 003bac65..26681c2f 100644 --- a/lib/PublicInbox/MDA.pm +++ b/lib/PublicInbox/MDA.pm @@ -23,7 +23,9 @@ sub __drop_plus { sub precheck { my ($klass, $filter, $address) = @_; my Email::Simple $simple = $filter->simple; - my $mid = $simple->header("Message-ID"); + my @mid = $simple->header('Message-ID'); + return 0 if scalar(@mid) != 1; + my $mid = $mid[0]; return 0 if (length($mid) > MAX_MID_SIZE); return 0 unless usable_str(length(''), $mid) && $mid =~ /\@/; return 0 unless usable_str(length('u@h'), $filter->from); -- cgit v1.2.3-24-ge0c7