Package: mailman Version: 1:2.1.9-7 Severity: normal
AvoidDuplicates mailman Handler rewrites the following header: CC: addr...@domain.com, name1 name2 <n...@domain.com> into Cc: name2 <n...@domain.com>, name1, addr...@domain.com This is incorrect because name1 becomes an address. The problem seems to be in the older version of python email module shipped with mailmain in /usr/lib/mailman/pythonlib/email. Attached is a backported patch from python2.5 that fixes this. -- System Information: Debian Release: 4.0 APT prefers oldstable APT policy: (500, 'oldstable') Architecture: amd64 (x86_64) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-6-xen-amd64 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages mailman depends on: ii adduser 3.102 Add and remove users and groups ii apache2 2.2.3-4+etch6 Next generation, scalable, extenda ii apache2-mpm-worker [ht 2.2.3-4+etch6 High speed threaded model for Apac ii cron 3.0pl1-100 management of regular background p ii debconf [debconf-2.0] 1.5.11etch2 Debian configuration management sy ii exim4 4.63-17 metapackage to ease exim MTA (v4) ii exim4-daemon-heavy [ma 4.63-17 exim MTA (v4) daemon with extended ii libc6 2.3.6.ds1-13etch9 GNU C Library: Shared libraries ii logrotate 3.7.1-3 Log rotation utility ii lsb-base 3.1-23.2etch1 Linux Standard Base 3.1 init scrip ii pwgen 2.05-1 Automatic Password generation ii python 2.4.4-2 An interactive high-level object-o ii python-support 0.5.6 automated rebuilding support for p ii ucf 2.0020 Update Configuration File: preserv mailman recommends no packages. -- debconf information: * mailman/gate_news: false * mailman/site_languages: en (English), hr (Croatian) mailman/queue_files_present: * mailman/used_languages: * mailman/default_server_language: en (English) * mailman/create_site_list:
--- /usr/lib/mailman/pythonlib/email/_parseaddr.py.distrib 2006-06-13 05:43:49.000000000 +0200 +++ /usr/lib/mailman/pythonlib/email/_parseaddr.py 2009-02-20 13:19:35.000000000 +0100 @@ -170,6 +170,7 @@ self.pos = 0 self.LWS = ' \t' self.CR = '\r\n' + self.FWS = self.LWS + self.CR self.atomends = self.specials + self.LWS + self.CR # Note that RFC 2822 now specifies `.' as obs-phrase, meaning that it # is obsolete syntax. RFC 2822 requires that we recognize obsolete @@ -416,7 +417,7 @@ plist = [] while self.pos < len(self.field): - if self.field[self.pos] in self.LWS: + if self.field[self.pos] in self.FWS: self.pos += 1 elif self.field[self.pos] == '"': plist.append(self.getquote())