about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/Filter.pm5
-rw-r--r--t/filter.t20
2 files changed, 24 insertions, 1 deletions
diff --git a/lib/PublicInbox/Filter.pm b/lib/PublicInbox/Filter.pm
index 6cccd930..a83ecc83 100644
--- a/lib/PublicInbox/Filter.pm
+++ b/lib/PublicInbox/Filter.pm
@@ -26,7 +26,10 @@ sub run {
         # kill potentially bad/confusing headers
         # Note: ssoma already does this, but since we mangle the message,
         # we should do this before it gets to ssoma.
-        foreach my $d (qw(status lines content-length)) {
+        # We also kill Mail-{Followup,Reply}-To and Reply-To headers due to
+        # the nature of public-inbox having no real subscribers.
+        foreach my $d (qw(status lines content-length
+                        mail-followup-to mail-reply-to reply-to)) {
                 $simple->header_set($d);
         }
 
diff --git a/t/filter.t b/t/filter.t
index 9c71b11f..12f4ed6f 100644
--- a/t/filter.t
+++ b/t/filter.t
@@ -259,4 +259,24 @@ sub count_body_parts {
         like($f->simple->as_string, qr/scrubbed/, "scrubbed message");
 }
 
+{
+        my $s = Email::Simple->create(
+                header => [
+                        From => 'a@example.com',
+                        To => 'b@example.com',
+                        'Content-Type' => 'text/plain',
+                        'Mail-Followup-To' => 'c@example.com',
+                        Subject => 'mfttest',
+                ],
+                body => "mft\n",
+        );
+
+        is('c@example.com', $s->header("Mail-Followup-To"),
+                "mft set correctly");
+        my $f = Email::Filter->new(data => $s->as_string);
+        is(1, PublicInbox::Filter->run($f->simple), "run succeeded for mft");
+        is(undef, $f->simple->header("Mail-Followup-To"), "mft stripped");
+}
+
+
 done_testing();