From d94b6dd63438174888db27f3a61ffdcf7d1a99da Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 21 Sep 2020 20:58:09 +0000 Subject: [PATCH] mda: match List-Id insensitively This follows -watch commit b70473ab8296d31ebb600adb4fa8fe0ac5935ca8 to match List-Id headers case-insensitively. Reported-by: Konstantin Ryabitsev Link: https://public-inbox.org/meta/20200921180152.uyqluod7qxbwqubo@chatter.i7.local/ (cherry picked from commit 8b06cda3a3af3f0e88b599a01f03edb7fec4f2c4) --- lib/PublicInbox/Config.pm | 3 ++- t/mda.t | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index abc525db..d57c361a 100644 --- a/lib/PublicInbox/Config.pm +++ b/lib/PublicInbox/Config.pm @@ -424,8 +424,9 @@ EOF $self->{-no_obfuscate}->{$lc_addr} = 1; } if (my $listids = $ibx->{listid}) { + # RFC2919 section 6 stipulates "case insensitive equality" foreach my $list_id (@$listids) { - $self->{-by_list_id}->{$list_id} = $ibx; + $self->{-by_list_id}->{lc($list_id)} = $ibx; } } if (my $ng = $ibx->{newsgroup}) { diff --git a/t/mda.t b/t/mda.t index c7caf3e0..c5b35eec 100644 --- a/t/mda.t +++ b/t/mda.t @@ -261,7 +261,7 @@ Subject: this message will be trained as spam Date: Thu, 01 Jan 1970 00:00:00 +0000 EOF - xsys(qw(git config --file), $pi_config, "$cfgpfx.listid", $list_id); + xsys(qw(git config --file), $pi_config, "$cfgpfx.listid", uc $list_id); $? == 0 or die "failed to set listid $?"; ok(run_script(['-mda'], undef, { 0 => \$in }), 'mda OK with List-Id match'); -- 2.44.0