[dev] [commits] Horde branch develop updated. a211977cd603adb6c109a259a4fd771dc574d908

Michael M Slusarz slusarz at horde.org
Tue Jun 5 20:14:22 UTC 2012


Quoting Jan Schneider <jan at horde.org>:

> Zitat von Michael M Slusarz <slusarz at horde.org>:
>
>> Quoting "Michael J. Rubinsky" <mrubinsk at horde.org>:
>>
>>> commit 69d439d3de6ebc024ecdacb8f57e472baebe9d30
>>> Author: Jan Schneider <jan at horde.org>
>>> Date:   Fri Jun 1 14:28:13 2012 +0200
>>>
>>>   Revert "Allow to strip any message parts."
>>>
>>>   This needs support in the stripping code too because we only  
>>> support stripping
>>>   base parts at the moment.
>>>
>>>   This reverts commit 3cf43c1adff580632a4c5da4057e2089cf9707f7.
>>>
>>> imp/lib/Contents.php |    3 ++-
>>> 1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> FYI, non-base part stripping can NOT be done.  MIME parts are an  
>> all/nothing proposition.  You can't reliably/reproducibly strip a  
>> subpart without breaking the container element.
>
> Why? Because we are replacing it with a text/plain part that might  
> not be expected in the parent container?
>
> Given the broken message building of Apple Mail, this is the only  
> way to strip attachments from this client though.

Stripping non-base parts (base-parts = a single base part message or a  
base message of type multipart/mixed) breaks things like  
Content-Length, PGP & S/MIME signatures, display of embedded parts  
(e.g. multipart/related).  And it simply can't be done for  
message/rfc822 parts at all, since the full contents of that part are  
assumed/expected to be the full details of the original message.

The only way to display a UI that allows stripping, and not confuse  
the user by declaring certain parts "off-limits", is to restrict to  
base parts only.

It sucks that Apple Mail is so broken.  But we shouldn't break  
everything else to fix messages received from one buggy MUA.

michael

___________________________________
Michael Slusarz [slusarz at horde.org]



More information about the dev mailing list