Summary | attachment filename with localized chars becomes corrupted on forwarding |
Queue | IMP |
Queue Version | 4.0.4 |
Type | Bug |
State | Resolved |
Priority | 2. Medium |
Owners | slusarz (at) horde (dot) org |
Requester | ag (at) netside (dot) de |
Created | 11/29/2005 (7168 days ago) |
Due | |
Updated | 12/27/2005 (7140 days ago) |
Assigned | 11/29/2005 (7168 days ago) |
Resolved | 12/27/2005 (7140 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
and 4.1.0.
formatted strings.
New Attachment: forwarded_mail.txt
New Attachment: received_mail.txt
version: Horde 3.0.6 and IMP H3 (4.0.4)
New Attachment: message1.txt
State ⇒ Feedback
State ⇒ Assigned
New Attachment: Umlaut äöü.txt
contains the german localized umlauts äöü.
The contents of this file are 7 plaintext lines each repeating the
following characters: - ä ö ü ? ß -
(minus-sign, ä, ö, ü, euro-sign, ß, minus-sign)
This file is a good test, because with this i discovered the inline
display of text/plain attachments as well as the popup display of this
attachment is faulty, too.
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ attachment filename with localized chars becomes corrupted on forwarding
Queue ⇒ IMP
State ⇒ Unconfirmed
i tried to figure out what happens on forwarding an email with an attachment
whose name contains special characters - that means the filename needs to be
encoded in e.g. 'ISO-8859-15'. The source-view of the message to be forwarded
shows the filename is encoded already that way.
In "compose.php" the forwarded message is taken and completely copied
into the contents of a new message. The function 'attachFilesFromMessage'
is responsible for copying the all attachments by iterating through
every attachment and calling 'addMIMEPartAttachment' for every suitable
attachment. Within that function 'addMIMEPartAttachment' i lost track on
how the filename of the attachment is getting decoded or maybe its not
decoded what in my opinion would be wrong. Maybe this part resides in
'transferDecodeContents' but i am not sure now. Still decoding the sources of
these routines myself :)
All i know is that on sending the forwarded message the filename is
corrupted already. Looks like its encoded twice. While building the
message to be handed over to sendmail i followed the process up to the
function 'buildAllAttachments'. Inside that function the attachments
turn out to be in a construct '$this->_cache' and every filename i get
from '$part->getName(true)' is corrupted already.
Now my hot guess is that the filename needs to be decoded before being
written into that '_cache'.
Regards
Andreas