GpgOL: Attachments might be hidden in some cases
Closed, ResolvedPublic

Description

I've received reports and logs for a case in which attachments are not shown in Outlook after decrypt / verify by GpgOL.

I can somewhat reproduce it with an example mail. While the attachment is shown in the message list decryption window it is not shown if the mail is opened in its own window. This is strange and unusual.

There is somehow an empty "ghost" attachment which is part of the message after it was first handled by GpgOL. This is different to the good case.
The Ghost attachment is still there after GpgOL was disabled but is not there if the message is looked at before GpgOL first touches it.

Prio: High as this amounts to data loss.

Turns out that that was not the problem.

The attachment with the empty name is the original multipart/signed message attachment and normal.

The reason for this appears to be the "Content-ID", this is usually set for embedded attachments like images and not for attachments like PDF's.
This leads to the attachment being hidden, e.g. if you have embedded images you do not want them to show up in the list of attachments.

It is surprising though that Outlook itself is apparently intelligent enough to figure out when the attachment should be hidden and when not, but if we set the Content-ID in GpgOL it causes the file to be hidden, sometimes,..

After several experiments with attachment flags to get the same behavior outlook does for unsigned mails I could not find a way to set both the content-id and cause the attachment not to be hidden.

In the example I had the content-disposition was set to attachment and I think that Outlook also changes behavior based on that Header. So we now ignore Content-Id in case Content-Disposition: attachment is set.

This might break for some embedded images etc. But it's better to have broken display in some rare cases then hiding attachments altogether.

aheinecke changed the task status from Open to Testing.
aheinecke closed this task as Resolved.Oct 25 2018, 8:21 AM