the List-Id field is filled without < and > around the list-id if the description contains unsupported characters

Bug #1831321 reported by Florian Schlegel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNU Mailman
Fix Released
Low
Mark Sapiro

Bug Description

According to rfc2919 the List-Id field should be formated like this:
list-id-header = "List-ID:" [phrase] "<" list-id ">" CRLF
This works as long as description is left blank or contains supported characters. In my case the description was as follows:
�ffentliche Supportliste
As you can see the umlaut "Ö" got broken while importing the list from an old server. Unfortunately I don't know how the import was done. The field is still present but < and > around the list-id are missing. This is problematic with procmail and other mail filters.

Related branches

Revision history for this message
Mark Sapiro (msapiro) wrote :

I need more information to be able to duplicate this. What is the exact content of the list's description as produced by Mailman's `bin/config_list -o`, not from the web UI? What is the list's preferred_language?

Changed in mailman:
assignee: nobody → Mark Sapiro (msapiro)
status: New → Incomplete
Revision history for this message
Florian Schlegel (florz) wrote :

I attached an export from our old server (via config_list -o). In my export the encoding looks OK. On our new server I had to fix the description from:
description = "<D6>ffentliche Supportliste"
(thats the way less displays the export on the new machine)
to:
description = "Öffentliche Supportliste"

hexdump of the export on the new machine:
00000930 64 65 6e 2e 0a 64 65 73 63 72 69 70 74 69 6f 6e |den..description|
00000940 20 3d 20 22 d6 66 66 65 6e 74 6c 69 63 68 65 20 | = ".ffentliche |
00000950 53 75 70 70 6f 72 74 6c 69 73 74 65 22 0a 0a 23 |Supportliste"..#|

preferred_language on the new system stayed the same through the ex-/import:
preferred_language = 'de'

It seems that the old setup was migrated using rsync. I was able to reproduce the problem by syncing only /var/lib/mailman/lists/helpdesk/config.pck from the old machine. This broke the encoding, and lead to the following mail header:
List-Id: helpdesk.csn.tu-chemnitz.de

We are currently using Mailman version 2.1.23 under Debian 9.9. The old machine ran with Ubuntu 12.04.5 LTS and Mailman version 2.1.14.

Revision history for this message
Florian Schlegel (florz) wrote :

After fixing the broken letter through the web interface, I end up with:

00000930 64 65 6e 2e 0a 64 65 73 63 72 69 70 74 69 6f 6e |den..description|
00000940 20 3d 20 22 c3 96 66 66 65 6e 74 6c 69 63 68 65 | = "..ffentliche|
00000950 20 53 75 70 70 6f 72 74 6c 69 73 74 65 22 0a 0a | Supportliste"..|

List-Id: =?utf-8?q?=C3=96ffentliche_Supportliste?=
 <helpdesk.csn.tu-chemnitz.de>

Revision history for this message
Mark Sapiro (msapiro) wrote :

See https://bazaar.launchpad.net/~mailman-coders/mailman/2.1/revision/1813

The reason this broke on your server change was Debian's misguided changing of Mailman's character set for all languages to UTF-8. See https://bugs.launchpad.net/mailman/+bug/1462755

Changed in mailman:
importance: Undecided → Low
milestone: none → 2.1.30
status: Incomplete → Fix Committed
Mark Sapiro (msapiro)
Changed in mailman:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.