Duplicate message removale using case-sensitive email address comparison
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GNU Mailman |
Fix Released
|
Undecided
|
Mark Sapiro |
Bug Description
I'm using Mailman 2.1.9 on FreeBSD 6.2.
In the General Options for a list, you can set "Filter out duplicate messages to list members (if possible)".
My understanding of this setting is: when set, mailman checks the To/Cc headers of an incoming message. If the To or CC contains the email address of a list member, that member is NOT sent a copy of that message.
My testing seems to confirm that it behaves this way, unless the case of the address in the To/Cc headers does not match the way the member's address is stored on the list.
Example 1:
* List "<email address hidden>" has two members: <email address hidden>, <email address hidden>
* A message is sent to <email address hidden> with a CC to <email address hidden>
* Mailman sends the message to all list members except bob (in this case, just <email address hidden>)
Example 2:
* List "<email address hidden>" has two members: <email address hidden>, <email address hidden>
* A message is sent to <email address hidden> with a CC to <email address hidden>
* Mailman sends the message to all list members, including <email address hidden>
The situation in Example 2 generally happens when someone posts to the list and has a Reply-To header which has their email address in a different case from the way it appears on the mailman subscription list.
I think this should be a fairly simple fix: make the comparison of addresses in the duplicate-removal logic be case-insensitive.
Is that right? Or is there some aspect to this that I'm not understanding?
Thanks,
Mark
Changed in mailman: | |
status: | Confirmed → Fix Committed |
Changed in mailman: | |
milestone: | none → 2.1.12 |
status: | Fix Committed → Fix Released |
Actually, the setting on the list's General Options page is only the default setting for new list members. Whether or not any individual member receives a duplicate of a message which addresses her explicitly in To: or Cc: is controlled by her individual "Avoid duplicate copies of messages?" user option which is reflected as the "nodups" setting on the Membership List page.
With that exception, your understanding is correct and the failure to avoid the duplicate in your example 2 is a bug.
Unfortunately, the fix is not as simple as it might seem because of case-preservation considerations with mixed or upper case address local parts, but I will work on it.