lib/PublicInbox/Config.pm | 3 ++- t/mda.t | 2 +- diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index abc525dbbd5dca1cb6cb9e6c2adac0a4104d6f36..d57c361ad90cd8364629201021b485c7b715cb46 100644 --- a/lib/PublicInbox/Config.pm +++ b/lib/PublicInbox/Config.pm @@ -424,8 +424,9 @@ $self->{-by_addr}->{$lc_addr} = $ibx; $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 c7caf3e0cca455e3eb40088492b62f26f167ecc4..c5b35eec21cf40d30a5c0dc2abc829afab7b05d5 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');