[Bug 659975] Re: mailman breaks CC field incorrectly

James Page 659975 at bugs.launchpad.net
Mon Oct 18 12:24:39 BST 2010


** Description changed:

+ 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: test-list at hardy-mailman.example.com, "user two" <user2 at hardy-mailman.example.com>, user 
+           three <user3 at hardy-mailman.example.com>
+ 
+ Cc generated by AvoidDuplicates handler:
+ 
+ Cc: three <user3 at hardy-mailman.example.com>,
+ 	test-list at hardy-mailman.example.com, user at hardy-mailman.example.com
+ 
+ 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>.example.com
+   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.
+ 
+ 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: user1 at domain1.com
  Cc: mailing-list at domain1.com, display name <address at domain1.com>
  
  It becomes:
  
  Cc: mailing-list at domain1.com, display, name <address at domain1.com>
  
  This is wrong because "display" becomes a different address. There seems
  to be bug in /usr/lib/mailman/pythonlib/email/_parseaddr.py.
  
  Same bug is reported in Debian and Redhat as well for 2.1.9 version of
  mailman.
  
  https://partner-bugzilla.redhat.com/show_bug.cgi?id=603635
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=516300
  
  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-gnupginterface                 0.3.2-9ubuntu1              Python interface to GnuPG (GPG)
  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
- 
- TEST CASE:
- Using a standalone mailman + postfix setup on Hardy I have been able to reproduce using the following procedure:
- 
-   Install postfix and configure as final destination for <hostname>.example.com
-   Setup three users (user1, user2 and user3)
-   Install mailman and setup default (mailman) and test-list (with user1 as list owner) list.
-   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
- 
- Address for user three will break into two email addresses

** Summary changed:

- mailman breaks CC field incorrectly
+ mailman breaks CC field incorrectly when spread over multiple lines

** Description changed:

+ --------- 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: test-list at hardy-mailman.example.com, "user two" <user2 at hardy-mailman.example.com>, user 
-           three <user3 at hardy-mailman.example.com>
+ Cc: test-list at hardy-mailman.example.com, "user two" <user2 at hardy-mailman.example.com>, user
+           three <user3 at hardy-mailman.example.com>
  
  Cc generated by AvoidDuplicates handler:
  
  Cc: three <user3 at hardy-mailman.example.com>,
- 	test-list at hardy-mailman.example.com, user at hardy-mailman.example.com
+  test-list at hardy-mailman.example.com, user at hardy-mailman.example.com
  
  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>.example.com
-   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.
+   Install postfix and configure as final destination for <hostname>.example.com
+   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
+   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: user1 at domain1.com
  Cc: mailing-list at domain1.com, display name <address at domain1.com>
  
  It becomes:
  
  Cc: mailing-list at domain1.com, display, name <address at domain1.com>
  
  This is wrong because "display" becomes a different address. There seems
  to be bug in /usr/lib/mailman/pythonlib/email/_parseaddr.py.
  
  Same bug is reported in Debian and Redhat as well for 2.1.9 version of
  mailman.
  
  https://partner-bugzilla.redhat.com/show_bug.cgi?id=603635
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=516300
  
  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-gnupginterface                 0.3.2-9ubuntu1              Python interface to GnuPG (GPG)
  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

-- 
mailman breaks CC field incorrectly when spread over multiple lines
https://bugs.launchpad.net/bugs/659975
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to mailman in ubuntu.



More information about the Ubuntu-server-bugs mailing list