Re: C-T-E: base64 and the real world.. what should an MUA do?

Tony Hansen <[email protected]>
Newsgroups gmane.ietf.rfc822
Message-ID <[email protected]>
Please re-read the message that started this. It started by asking for 
strategies for dealing with poorly formatted messages where an 
intermediate mail reflector added in a signature at the end such as

	base64 stuff
	--
	this message went through the wringer

The text after the -- looks like base64, but when decoded as base64 
causes strange control characters to become part of the message.

Yes, the RFC requires skipping non-base64 characters. There's never been 
a question about that.

My email pointed out two things:

1) If there's an '=' character, you can *always* stop base64-decoding 
the body part right there. This is by definition of base64.

2) As a heuristic algorithm, instead of blithely skipping over 
non-base64 & non-whitespace characters, you *could* also stop 
base64-decoding at that point. My example was the "--" in the example 
message. However, doing so may cause other issues, your mileage may 
vary, and it's not a perfect solution.

3) If we were to update base64 (and I'm not suggesting that we should), 
it would be worthwhile adding an explicit end of sequence character that 
is *always present*. Right now we have the "=" sometimes present, but it 
isn't always there.

	Tony Hansen
	[email protected]

Florian Weimer wrote:
> * Tony Hansen:
> 
>> If there's a padding "=" at the end of the base64, you can stop
>> processing right at that point. You *could* also stop processing when
>> you run into a non-whitespace character that isn't in the base64
>> alphabet, such as the "-" or ":" in your example. It's not perfect.
> 
> Actually, the RFC *requires* skipping non-base64 characters.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.