about summary refs log tree commit homepage
path: root/lib/PublicInbox/MDA.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-05-01 08:54:10 +0000
committerEric Wong <e@80x24.org>2016-05-01 08:55:21 +0000
commit2a3554b1acd18d3b2904147ce0893cfec02d83a6 (patch)
tree737087a6ae50f1595be2f60d63ec83c84c9740d5 /lib/PublicInbox/MDA.pm
parentd5a6c485f52429cf6b1b18da3c4f47e2adc6edfc (diff)
downloadpublic-inbox-2a3554b1acd18d3b2904147ce0893cfec02d83a6.tar.gz
This should allow users to change and add headers as needed.
While we're at it, add the X-Original-To header Postfix likes
to add; it seems like pointless bloat with the existence of
(important) Received: headers.
Diffstat (limited to 'lib/PublicInbox/MDA.pm')
-rw-r--r--lib/PublicInbox/MDA.pm25
1 files changed, 14 insertions, 11 deletions
diff --git a/lib/PublicInbox/MDA.pm b/lib/PublicInbox/MDA.pm
index b1471022..e1207b56 100644
--- a/lib/PublicInbox/MDA.pm
+++ b/lib/PublicInbox/MDA.pm
@@ -11,6 +11,19 @@ use Date::Parse qw(strptime);
 use constant MAX_SIZE => 1024 * 500; # same as spamc default, should be tunable
 use constant MAX_MID_SIZE => 244; # max term size - 1 in Xapian
 
+our @BAD_HEADERS = (
+        # postfix
+        qw(delivered-to x-original-to), # prevent training loops
+
+        # The rest are taken from Mailman 2.1.15:
+        # could contain passwords:
+        qw(approved approve x-approved x-approve urgent),
+        # could be used phishing:
+        qw(return-receipt-to disposition-notification-to x-confirm-reading-to),
+        # Pegasus mail:
+        qw(x-pmrqc)
+);
+
 # drop plus addressing for matching
 sub __drop_plus {
         my ($str_addr) = @_;
@@ -70,17 +83,7 @@ sub set_list_headers {
                 $simple->header_set("List-Id", "<$pa>"); # RFC2919
         }
 
-        foreach my $h (qw(delivered-to), # prevent training loops
-                        # The rest are taken from Mailman 2.1.15
-                        # could contain passwords:
-                        qw(approved approve x-approved x-approve urgent),
-                        # could be used phishing:
-                        qw(return-receipt-to disposition-notification-to
-                           x-confirm-reading-to),
-                        # Pegasus mail:
-                        qw(x-pmrqc)) {
-                $simple->header_set($h);
-        }
+        $simple->header_set($_) foreach @BAD_HEADERS;
 }
 
 1;