SA Bugzilla – Bug 2453
illegal caracteres in base64 false the decoding and not all the test can be performed on the body
Last modified: 2004-01-25 11:55:28 UTC
Created attachment 1368 [details] Spam that can't be totally decoded
mozilla and outelook are decoding this without any problems
after poking around a bit, I determined a few things. 1) it's not the base64 decoders that have the issue. both our "slow" version and the MIME::Base64 versions deal with the invalid space and ! chars just fine. 2) The problem lies in PerMsgStatus->get_decoded_body_text_array(). we try to be smart and figure out what's base64 encoded and what isn't, but that doesn't work well when the base64 stuff is malformed.
fyi, the source of the problem is that there is whitespace in the base64 section, which makes our code think it's not encoded, and thereby kills the decoding. having "--" at the start of the line would do the same thing, btw.
since we're going to want to rewrite that function for other reasons, here's my thought: <felicity> my version of that code would break down whatever it was passed into attachment parts. <felicity> then go recursive and decode as necessary. when it all ends back up at the parent, it'll all be decoded properly.
changing severity to normal, priority to P3
fixed in 2.70
I'll actually close the ticket this time. <sigh>