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.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 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 3CFB620A21 for ; Mon, 25 Apr 2016 05:26:51 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] mda: don't clobber existing List-Id header Date: Mon, 25 Apr 2016 05:26:51 +0000 Message-Id: <20160425052651.32317-1-e@80x24.org> List-Id: 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(-) diff --git a/lib/PublicInbox/MDA.pm b/lib/PublicInbox/MDA.pm index 26681c2..2d3b9bd 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); } } -- EW