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

Bug #1831321 reported by Florian Schlegel on 2019-06-01
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNU Mailman
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

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
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.

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>

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) on 2020-01-12
Changed in mailman:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers