From 837323706d89660923ac2aed21f07f12ad80be72 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 25 Apr 2016 05:07:26 +0000 Subject: mda: don't clobber existing List-Id header We may be importing mail from other lists, so do not clobber the existing List-Id header. --- lib/PublicInbox/MDA.pm | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'lib/PublicInbox/MDA.pm') diff --git a/lib/PublicInbox/MDA.pm b/lib/PublicInbox/MDA.pm index 26681c2f..2d3b9bd8 100644 --- a/lib/PublicInbox/MDA.pm +++ b/lib/PublicInbox/MDA.pm @@ -66,15 +66,20 @@ sub alias_specified { sub set_list_headers { my ($class, $simple, $dst) = @_; - my $pa = $dst->{-primary_address}; - - $simple->header_set("List-Id", "<$pa>"); # RFC2919 + unless (defined $simple->header('List-Id')) { + my $pa = $dst->{-primary_address}; + $simple->header_set("List-Id", "<$pa>"); # RFC2919 + } - # remove Delivered-To: prevent training loops - # The rest are taken from Mailman 2.1.15, some may be used for phishing - foreach my $h (qw(delivered-to approved approve x-approved x-approve - urgent return-receipt-to disposition-notification-to - x-confirm-reading-to x-pmrqc)) { + 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); } } -- cgit v1.2.3-24-ge0c7