diff options
author | Eric Wong <normalperson@yhbt.net> | 2014-02-25 22:26:35 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2014-02-25 22:26:35 +0000 |
commit | b5f82d05569c228544f31627a03477f2a464f74f (patch) | |
tree | dc3060bb1a75c7ca862f21ba1f84725051da9e04 | |
parent | 25cc5a69a4a38076ea9e587dfa75165fef2273da (diff) | |
download | public-inbox-b5f82d05569c228544f31627a03477f2a464f74f.tar.gz |
Valid emails should not arrive without a Message-ID.
-rw-r--r-- | lib/PublicInbox.pm | 4 | ||||
-rw-r--r-- | t/precheck.t | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/PublicInbox.pm b/lib/PublicInbox.pm index 899027be..56137d14 100644 --- a/lib/PublicInbox.pm +++ b/lib/PublicInbox.pm @@ -16,8 +16,10 @@ sub __drop_plus { # do not allow Bcc, only Cc and To if ORIGINAL_RECIPIENT (postfix) env is set sub precheck { my ($klass, $filter) = @_; + my $simple = $filter->simple; + return 0 unless $simple->header("Message-ID"); return 0 unless defined($filter->from); - return 0 if length($filter->simple->as_string) > MAX_SIZE; + return 0 if length($simple->as_string) > MAX_SIZE; recipient_specified($filter); } diff --git a/t/precheck.t b/t/precheck.t index 6deead98..f9d61d8e 100644 --- a/t/precheck.t +++ b/t/precheck.t @@ -38,6 +38,7 @@ sub do_checks { Cc => 'c@example.com', 'Content-Type' => 'text/plain', Subject => 'this is a subject', + 'Message-ID' => '<MID>', ], body => "hello world\n", )); @@ -51,6 +52,7 @@ sub do_checks { Cc => 'John Doe <c@example.com>', 'Content-Type' => 'text/plain', Subject => 'this is a subject', + 'Message-ID' => '<MID>', ], body => "hello world\n", )); @@ -64,6 +66,7 @@ sub do_checks { Cc => 'c@example.com', 'Content-Type' => 'text/plain', Subject => 'this is a subject', + 'Message-ID' => '<MID>', ], body => "hello world\n", ); |