From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-3.4 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, RP_MATCHES_RCVD,URIBL_BLOCKED shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: meta@public-inbox.org Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 4462D202FD for ; Thu, 21 Apr 2016 22:49:02 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] mda: reject multiple Message-IDs up front Date: Thu, 21 Apr 2016 22:49:02 +0000 Message-Id: <20160421224902.28903-1-e@80x24.org> List-Id: 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(-) diff --git a/lib/PublicInbox/MDA.pm b/lib/PublicInbox/MDA.pm index 003bac6..26681c2 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); -- EW