Thunderbird's mdn (receipt) message may contain 822bis-violating bare lf which is rejected by Qmail
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mozilla Thunderbird |
New
|
Unknown
|
|||
thunderbird (Ubuntu) |
Triaged
|
Low
|
Unassigned |
Bug Description
C de-Avillez:
TESTED: Thunderbird 2.0.0.23 (Karmic)
WORKAROUND: Do not use accented characters on the email's display name.
André Pirard: Update:
As I mentioned it before, in addition to requesting people to make spelling mistakes, this so-called WORKAROUND only works for sent e-mail and only when the error comes from the From: line, so that the person you send the e-mail to did not encounter the error if ever he runs Thunderbird through Qmail.
It does not work at all if the error comes from the Subject line or for any case of e-mail being received.
Original Report:
Thunderbird 2.0.0.14 sends the attached Receipt message.
(file as stolen from /tmp)
qmail-ldap-1.03 complains that it contains a "bare lf".
See attached dialog box & http://
Dialog box is acknowledged.
Thunderbird just disappears.
Receipt never arrives and Thunderbird forgets about it.
Apport on strike but segfaults spotted, see attached syslog.
Update :
Please note that the (main) point of this report is *not* a Thunderbird crash but qmail's refusal to transmit the message, which is absolutely repeatable.
The crash itself is not repeatable and may or may not be a side effect.
Thunderbird most often exhibits the bare lf problem without crashing.
I changed the title of this report accordingly.
The whole story is in the attached mdnmsg file.
Update 2 :
1) I've been accused to have made a bad report because I did no follow :
http://
2) C de-Avillez wants to see the bare linefeeds but he refuses to download the file and run grep.
Let us recall that everything is in the mdnmsg file which will show the problem to a developer in 1 minute.
But I will spend 2 hour instead to administratively unlock this case and I do hope it will.
Let's go.
> Writing a useful report
>
> 1. What you expected to happen
>
1. switch on the HP Compaq 6270s computer (or any?)
2. launch Ubuntu 8.10 (or any?)
3. launch Thunderbird 2.0.0.14 (or any?)
4. write the message contained in the attached mdn file
5. send that message
6. display my IMAP INBOX
7. find that message
8. open it
9. click Yes to send the Return Receipt
10. read the message and be happy
11. close the message
12. display the IMAP INBOX again
13. find the Return Receipt contained in the attached mdn file
14. open the Return Receipt
15. make sure by reading the Receipt that I read the message
16. close the Receipt
17. close Thunderbird
18. shutdown the computer
19. watch the TV
>
> 2. What actually happened
>
1. switch on the HP Compaq 6270s computer
2. launch Ubuntu 8.10
3. launch Thunderbird 2.0.0.14
4. write the message contained in the attached mdn file
5. send that message
6. display my IMAP INBOX
7. find that message
8. open it
9. click Yes to send the Return Receipt (which should be sent AFTER reading the message BTW)
10. receive the error message in the attached Screenshot-
11. read the error message and be unhappy
12. save /tmp/mdnmsg for bug reporting sake
13. close the error message
14. read the message and be happy anyway
15. display the IMAP INBOX of the sender
16. could not find any Return Receipt and never will
17. sent mdnmsg and Screenshot-
18. told them that mdnmsg contains the message I sent
19. and the Receipt that failed to be sent
20. and that Screenshot-Alert contains the error message
21. read that they don't understand and that I'm a bad reporter
22. wanted to quit the business
23. wrote this instead on request
24. did not shutdown the computer
25. did not watch the TV
> 1. The minimal series of steps necessary to make it happen, where step 1 is "start the program"
1. "start the program"
2. in the correct environment, send a similar message to the one contained in mdnmsg
3. receive and read the message, try to send the Receipt, you must get an error if it goes trough qmail
Alternative
> 1. The minimal series of steps necessary to make it happen, where step 1 is "start the program"
1. "start the program"
2. run TB in session A with e-mail account A requesting Return Receipts
3. create Ubuntu user profile T
4. in T, create a TB account T with a provider using SSL and/or, best, Qmail
5. !!! never have TB "remember" this SSL password !!!
6. from A, send an e-mail to T (requesting RR)
7. check mail in T, open the e-mail, the SSL password is asked, do no answer yet
or, without SSL and with Qmail an Alert box must be acknowledged in case of error
8. make a copy of /tmp/mdnmsg, that's a copy of the Return Receipt being sent
9. now or later, run the grep command on mdnmsg to spot bare linefeeds
10. answer SSL password or ack Alert and see if Return Receipt is sent
11. repeat from 6 with various test cases
Note : to determine the "correct environment", you will have to read mdnmsg first.
After reading it, you will most probably understand the bug and not want to "make it happen".
> Fill in the description field with as much information as you can, including the release of Ubuntu you are using and steps for someone else to recreate the bug. It is better to have too much information in the description than not enough.
Is this enough information?
If yo need anything else, please be specific.
> Add supporting attachments to explain or help others reproduce your bug. This might include a screenshot or video capture of the problem or a sample document that triggers the fault. To add an attachment to the bug use the Include an attachment section of the bug form. Additional attachments, if necessary, can be added after the bug is reported via Add a comment/attachment at the bottom of the page.
Risking ro be repetitive : everything is in mdnmsg.
I sent a screenshot from the very start and the answer to s.o.'s "can you please send one" is "look twice".
About sending a video, the answer is : nothing is moving, especially not this bug report.
Regarding the question "what are bare linefeed" or "where are they", whatever that means :
I fetched and re-uploaded the various mdnmsg samples with numbered names.
And I ran the grep command as follows, remark below.
$ grep -P '[^\r]\n' mdnmsg0.eml | tee /dev/tty | hd
To: =?UTF-8?
<email address hidden>
00000000 54 6f 3a 20 3d 3f 55 54 46 2d 38 3f 42 3f 51 57 |To: =?UTF-8?B?QW|
00000010 35 6b 63 73 4f 70 49 46 42 70 63 6d 46 79 5a 41 |5kcsOpIFBpcmFyZA|
00000020 3d 3d 3f 3d *0a* 20 3c 41 5f 50 69 72 61 72 64 40 |==?=. <A_Pirard@|
00000030 68 6f 74 6d 61 69 6c 2e 63 6f 6d 3e 0d 0a |hotmail.com>..|
0000003e
$ grep -P '[^\r]\n' mdnmsg1.eml | tee /dev/tty | hd
To: =?UTF-8?
<email address hidden>
00000000 54 6f 3a 20 3d 3f 55 54 46 2d 38 3f 42 3f 51 57 |To: =?UTF-8?B?QW|
00000010 35 6b 63 73 4f 70 49 46 42 70 63 6d 46 79 5a 41 |5kcsOpIFBpcmFyZA|
00000020 3d 3d 3f 3d *0a* 20 3c 41 5f 50 69 72 61 72 64 40 |==?=. <A_Pirard@|
00000030 68 6f 74 6d 61 69 6c 2e 63 6f 6d 3e 0d 0a |hotmail.com>..|
0000003e
$ grep -P '[^\r]\n' mdnmsg2.eml | tee /dev/tty | hd
Subject: Return Receipt (displayed) - =?UTF-8?
=?UTF-
00000000 53 75 62 6a 65 63 74 3a 20 52 65 74 75 72 6e 20 |Subject: Return |
00000010 52 65 63 65 69 70 74 20 28 64 69 73 70 6c 61 79 |Receipt (display|
00000020 65 64 29 20 2d 20 3d 3f 55 54 46 2d 38 3f 42 3f |ed) - =?UTF-8?B?|
00000030 52 47 39 7a 63 32 6c 6c 63 69 42 47 4d 6a 41 77 |RG9zc2llciBGMjAw|
00000040 4f 54 41 30 4d 44 45 77 4d 43 41 67 49 48 4c 44 |OTA0MDEwMCAgIHLD|
00000050 71 57 59 75 49 44 6f 67 54 45 30 76 3f 3d *0a* 20 |qWYuIDogTE0v?=. |
00000060 3d 3f 55 54 46 2d 38 3f 42 3f 4d 6a 41 77 4f 53 |=?UTF-8?B?MjAwOS|
00000070 38 77 4f 54 55 79 3f 3d 0d 0a |8wOTUy?=..|
0000007a
$ grep -P '[^\r]\n' mdnmsg3.eml | tee /dev/tty | hd
Subject: Return Receipt (displayed) - =?ISO-8859-
=?ISO-
00000000 53 75 62 6a 65 63 74 3a 20 52 65 74 75 72 6e 20 |Subject: Return |
00000010 52 65 63 65 69 70 74 20 28 64 69 73 70 6c 61 79 |Receipt (display|
00000020 65 64 29 20 2d 20 3d 3f 49 53 4f 2d 38 38 35 39 |ed) - =?ISO-8859|
00000030 2d 31 3f 51 3f 52 65 3a 5f 57 69 46 69 5f 3d 32 |-1?Q?Re:_WiFi_=2|
00000040 38 6c 69 61 69 73 6f 6e 5f 64 65 5f 64 6f 6e 6e |8liaison_de_donn|
00000050 3d 45 39 65 73 5f 70 61 72 5f 72 61 64 69 6f 3d |=E9es_par_radio=|
00000060 32 39 5f 70 6f 75 3f 3d *0a* 20 3d 3f 49 53 4f 2d |29_pou?=. =?ISO-|
00000070 38 38 35 39 2d 31 3f 51 3f 72 5f 54 68 3d 45 39 |8859-1?Q?r_Th=E9|
00000080 72 3d 45 38 73 65 2c 5f 33 2a 32 30 3f 3d 0d 0a |r=E8se,_3*20?=..|
00000090
$ grep -P '[^\r]\n' mdnmsg4.eml | tee /dev/tty | hd
Subject: Return Receipt (displayed) - Joyeux =?UTF-8?
=?UTF-8?B?cGlu?=
To: =?UTF-8?
<email address hidden>
00000000 53 75 62 6a 65 63 74 3a 20 52 65 74 75 72 6e 20 |Subject: Return |
00000010 52 65 63 65 69 70 74 20 28 64 69 73 70 6c 61 79 |Receipt (display|
00000020 65 64 29 20 2d 20 4a 6f 79 65 75 78 20 3d 3f 55 |ed) - Joyeux =?U|
00000030 54 46 2d 38 3f 42 3f 54 6d 2f 44 71 32 77 67 4f |TF-8?B?Tm/Dq2wgO|
00000040 69 42 56 62 69 44 44 71 58 52 76 62 6d 35 68 62 |iBVbiDDqXRvbm5hb|
00000050 6e 51 67 62 33 4a 6b 61 53 42 7a 62 33 56 7a 49 |nQgb3JkaSBzb3VzI|
00000060 47 78 6c 49 48 4e 68 3f 3d *0a* 20 3d 3f 55 54 46 |GxlIHNh?=. =?UTF|
00000070 2d 38 3f 42 3f 63 47 6c 75 3f 3d 0d 0a 54 6f 3a |-8?B?cGlu?=..To:|
00000080 20 3d 3f 55 54 46 2d 38 3f 42 3f 51 57 35 6b 63 | =?UTF-8?B?QW5kc|
00000090 73 4f 70 49 46 42 70 63 6d 46 79 5a 41 3d 3d 3f |sOpIFBpcmFyZA==?|
000000a0 3d *0a* 20 3c 41 5f 50 69 72 61 72 64 40 68 6f 74 |=. <A_Pirard@hot|
000000b0 6d 61 69 6c 2e 63 6f 6d 3e 0d 0a |mail.com>..|
000000bb
$ grep -P '[^\r]\n' mdnmsg5.eml | tee /dev/tty | hd
To: =?UTF-8?
<email address hidden>
00000000 54 6f 3a 20 3d 3f 55 54 46 2d 38 3f 42 3f 51 57 |To: =?UTF-8?B?QW|
00000010 35 6b 63 73 4f 70 49 46 42 70 63 6d 46 79 5a 41 |5kcsOpIFBpcmFyZA|
00000020 3d 3d 3f 3d *0a* 20 3c 41 5f 50 69 72 61 72 64 40 |==?=. <A_Pirard@|
00000030 68 6f 74 6d 61 69 6c 2e 63 6f 6d 3e 0d 0a |hotmail.com>..|
0000003e
$ grep -P '[^\r]\n' mdnmsgN0.eml | tee /dev/tty | hd
$ grep -P '[^\r]\n' mdnmsgN1.eml | tee /dev/tty | hd
To: =?UTF-8?
<email address hidden>
00000000 54 6f 3a 20 3d 3f 55 54 46 2d 38 3f 42 3f 51 57 |To: =?UTF-8?B?QW|
00000010 35 6b 63 73 4f 70 49 46 42 70 63 6d 46 79 5a 41 |5kcsOpIFBpcmFyZA|
00000020 3d 3d 3f 3d *0a* 20 3c 41 2e 50 69 72 61 72 64 40 |==?=. <A.Pirard@|
00000030 75 6c 67 2e 61 63 2e 62 65 3e 0d 0a |ulg.ac.be>..|
0000003c
$ grep -P '[^\r]\n' mdnmsgN2.eml | tee /dev/tty | hd
Subject: Return Receipt (displayed) - Joyeux =?UTF-8?
=?UTF-8?B?cGlu?=
00000000 53 75 62 6a 65 63 74 3a 20 52 65 74 75 72 6e 20 |Subject: Return |
00000010 52 65 63 65 69 70 74 20 28 64 69 73 70 6c 61 79 |Receipt (display|
00000020 65 64 29 20 2d 20 4a 6f 79 65 75 78 20 3d 3f 55 |ed) - Joyeux =?U|
00000030 54 46 2d 38 3f 42 3f 54 6d 2f 44 71 32 77 67 4f |TF-8?B?Tm/Dq2wgO|
00000040 69 42 56 62 69 44 44 71 58 52 76 62 6d 35 68 62 |iBVbiDDqXRvbm5hb|
00000050 6e 51 67 62 33 4a 6b 61 53 42 7a 62 33 56 7a 49 |nQgb3JkaSBzb3VzI|
00000060 47 78 6c 49 48 4e 68 3f 3d *0a* 20 3d 3f 55 54 46 |GxlIHNh?=. =?UTF|
00000070 2d 38 3f 42 3f 63 47 6c 75 3f 3d 0d 0a |-8?B?cGlu?=..|
0000007d
$ grep -P '[^\r]\n' mdnmsgN3.eml | tee /dev/tty | hd
Subject: Return Receipt (displayed) - Joyeux =?UTF-8?
=?UTF-8?B?cGlu?=
To: =?UTF-8?
<email address hidden>
00000000 53 75 62 6a 65 63 74 3a 20 52 65 74 75 72 6e 20 |Subject: Return |
00000010 52 65 63 65 69 70 74 20 28 64 69 73 70 6c 61 79 |Receipt (display|
00000020 65 64 29 20 2d 20 4a 6f 79 65 75 78 20 3d 3f 55 |ed) - Joyeux =?U|
00000030 54 46 2d 38 3f 42 3f 54 6d 2f 44 71 32 77 67 4f |TF-8?B?Tm/Dq2wgO|
00000040 69 42 56 62 69 44 44 71 58 52 76 62 6d 35 68 62 |iBVbiDDqXRvbm5hb|
00000050 6e 51 67 62 33 4a 6b 61 53 42 7a 62 33 56 7a 49 |nQgb3JkaSBzb3VzI|
00000060 47 78 6c 49 48 4e 68 3f 3d *0a* 20 3d 3f 55 54 46 |GxlIHNh?=. =?UTF|
00000070 2d 38 3f 42 3f 63 47 6c 75 3f 3d 0d 0a 54 6f 3a |-8?B?cGlu?=..To:|
00000080 20 3d 3f 55 54 46 2d 38 3f 42 3f 51 57 35 6b 63 | =?UTF-8?B?QW5kc|
00000090 73 4f 70 49 46 42 70 63 6d 46 79 5a 41 3d 3d 3f |sOpIFBpcmFyZA==?|
000000a0 3d *0a* 20 3c 41 2e 50 69 72 61 72 64 40 75 6c 67 |=. <A.Pirard@ulg|
000000b0 2e 61 63 2e 62 65 3e 0d 0a |.ac.be>..|
We have now saved a developer 10 minutes by telling that what he will find in the mdnmsg file is that a bare linefeed occurs when an encoded header line is split. We could lose a few more hours trying to find if this occurs only to mdn messages, only to UTF encoding etc... but a developer will make all these findings from the code right away.
I've just counted that in the time I've spent for this bug alone, I would have helped solving 15 bugs at the rate I've just met with another recent report (2 days and 4 hours from bug filing to fix on distribution server).
Thanks to all for the Ubuntu delight and may Ubuntu be with you and with even more people over the years.
Merry Xub^H^Hmas and Happy New Year.
Changed in thunderbird (Ubuntu): | |
status: | Incomplete → New |
Changed in thunderbird (Ubuntu): | |
status: | New → Confirmed |
summary: |
- Bare lf in mdn message from crashing thunderbird + Thunderbird's mdn (receipt) message may contain 822bis-violating bare + lf which is rejected by Qmail |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in thunderbird (Ubuntu): | |
status: | Confirmed → Triaged |
importance: | Undecided → Low |
Changed in thunderbird: | |
status: | Unknown → New |
description: | updated |
description: | updated |
description: | updated |
Changed in thunderbird: | |
importance: | Unknown → Medium |
Changed in thunderbird: | |
importance: | Medium → Unknown |
what is the bare lf in the example you attached?