mailman breaks CC field incorrectly when spread over multiple lines
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mailman (Debian) |
New
|
Unknown
|
|||
mailman (Ubuntu) |
Fix Released
|
Low
|
James Page | ||
Hardy |
Fix Released
|
Low
|
James Page |
Bug Description
--------- Information for SRU ---------
IMPACT:
The version of mail in 8.04 does not parse email addresses which are broken over a '\n' correctly; as a result two emails are generated by the AvoidDuplicates handler which is not correct:
Cc sent in email:
Cc: <email address hidden>, "user two" <email address hidden>, user
three <email address hidden>
Cc generated by AvoidDuplicates handler:
Cc: three <email address hidden>,
<email address hidden>, <email address hidden>
This is due to a bug in the bundled version (2.5.8) of the Python email package that is distributed with this version of mailman.
FIX:
The _parseaddr.py function has been extracted from the bundled version of the Python email package and patched to resolve this issue. This brings this function in-line with later versions of Python.
This file resides in the debian directory is overlaid on-top of the extracted tar.gz during the package build process.
In actual fact the version of Python distributed on 8.04 already contains this fix; however I believe this approach is the least risk as it is the most light touch.
PATCH:
See linked branch
TEST CASE:
Using a standalone mailman + postfix setup on Hardy use the following procedure (generated from Ubuntu Server Guide):
Install postfix and configure as final destination for <hostname>
Setup three users (user1, user2 and user3)
Install mailman and setup default (mailman) and test-list (with user1 as list owner) lists.
Configure Apache to allow administration of mail lists.
Install and configure dovecot for local mail delivery.
Add user2 to the test-list mail list using the administration screens.
Using the attached email (test.txt), simulate the offending use case using the following command using the user1 account:
telnet localhost 25 < test.txt
REGRESSION POTENTIAL:
If other functions within mailman work around this bug they may be impacted by this fix. Due to the bundling of this package the impact should be limited to the mailman application.
--------- Information for SRU ---------
ORIGINAL BUG REPORT:
Binary package hint: mailman
Scenario:
When we send an email to a mailing list in either To: or Cc: header and an address in Cc header with unquoted display name, mailman breaks that into couple of addresses. For example:
To: <email address hidden>
Cc: <email address hidden>, display name <email address hidden>
It becomes:
Cc: <email address hidden>, display, name <email address hidden>
This is wrong because "display" becomes a different address. There seems to be bug in /usr/lib/
Same bug is reported in Debian and Redhat as well for 2.1.9 version of mailman.
https:/
http://
System Information:
lsb_release -rd
Description: Ubuntu 8.04.3 LTS
Release: 8.04
dpkg -l | grep -E '(mailman|python)'
ii mailman 1:2.1.9-9ubuntu1 Powerful, web-based mailing list manager
ii python 2.5.2-0ubuntu1 An interactive high-level object-oriented la
ii python-apt 0.7.4ubuntu7.5 Python interface to libapt-pkg
ii python-central 0.6.7ubuntu0.1 register and build utility for Python packag
ii python-gdbm 2.5.2-0ubuntu2 GNU dbm database support for Python
ii python-
ii python-minimal 2.5.2-0ubuntu1 A minimal subset of the Python language (def
ii python-support 0.7.5ubuntu1 automated rebuilding support for python modu
ii python2.5 2.5.2-2ubuntu6 An interactive high-level object-oriented la
ii python2.5-minimal 2.5.2-2ubuntu6 A minimal subset of the Python language (ver
Actual Results:
Single email address in Cc header became two addresses
Expected Results:
Single email address should remain as one address only
Related branches
- Mathias Gug: Approve
- Chuck Short: Pending requested
- Ubuntu Development Team: Pending requested
-
Diff: 513 lines (+488/-0)3 files modifieddebian/changelog (+7/-0)
debian/email-2.5.8-patches/email/_parseaddr.py (+478/-0)
debian/rules (+3/-0)
Changed in mailman (Debian): | |
status: | Unknown → New |
Changed in mailman (Ubuntu): | |
status: | Incomplete → Confirmed |
status: | Confirmed → In Progress |
description: | updated |
description: | updated |
summary: |
- mailman breaks CC field incorrectly + mailman breaks CC field incorrectly when spread over multiple lines |
description: | updated |
Changed in mailman (Ubuntu Hardy): | |
importance: | Undecided → Low |
Changed in mailman (Ubuntu Hardy): | |
assignee: | James Page (james-page) → nobody |
Changed in mailman (Ubuntu Hardy): | |
assignee: | nobody → James Page (james-page) |
tags: |
added: verification-done removed: verification-needed |
tags: | added: testcase |
This version of mailman bundles the python email package for compatibility; the patch will need to be applied within the email-2.5.8.tar.gz located in this package.