Document/describe how QuotedPrintable/Base64 decoding deal with unexpected 
input sequences and if we need multiple behaviour supports or not.
---------------------------------------------------------------------------------------------------------------------------------------------

                 Key: MIME4J-160
                 URL: https://issues.apache.org/jira/browse/MIME4J-160
             Project: JAMES Mime4j
          Issue Type: Task
    Affects Versions: 0.6
            Reporter: Stefano Bagnara
            Priority: Minor
             Fix For: 0.8


Base64 should "die" on unexpected content, but MIME says that any char outside 
the "charset" should be ignored, because at least CR and LF are expected to 
appear in mime base64 streams. Should a strict base64 decoder die on some other 
char or not?

QuotedPrintable currently handle these 2 malformations:
== translated to =
=XX on invalid XX is left as is (=XX)

Some other decoder have different strategies:
some of them match =[hex]?[hex]? some of them match =[any][any] (see how this 
alter the interpretation of a =X=A=BB sequence)
after matching the treat invalid sequences differently, too. Some of them 
output the invalid sequence as is, some of them output it without the "=", some 
other remove the whole sequence from the stream.

The same applies with dealing with space at the end of a line: some 
implementation leave it as is, some other implementation removes it.

I tried searching the RFC to understand if there is a preferred strategy to 
deal with malformed sequences but I had no success, maybe I've missed 
something. Any opinion?

As I know that we rewrote the QuotedPrintableInputStream multiple times, I'd 
like to head opinions about dealing with malformations.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to