You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Oleg Kalnichevski (JIRA)" <se...@james.apache.org> on 2008/12/01 15:32:44 UTC

[jira] Commented: (MIME4J-60) Configurable strategy for line delimiters

    [ https://issues.apache.org/jira/browse/MIME4J-60?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12652013#action_12652013 ] 

Oleg Kalnichevski commented on MIME4J-60:
-----------------------------------------

@Stefano

The issue of consistency
=========================

1) RootInputStream

RootInputStream is broken for MIME streams with binary transfer coding and should not have existed in the first place, but I will happily make it consistent with the rest of the code. 

2) BufferedLinedReaderInputStream:

New line = CRLF | LF

3) AbstractEntity

New line = CRLF | LF

4) QuotedPrintableInputStream 

Cannot comment. Will happily investigate.

5) MimeUtil#getHeaderParams

Cannot comment. Will happily investigate.

6) MimeBoundaryInputStream

New line = CRLF | LF

Out of 6 cases I personally think there are only three legitimate cases that need attention. 

The issue of isolated CR
=========================

I consider isolated CR a non-issue, but fully admit to my HTTP bias. However, I am prepared to implement two modes of operation for all relevant classes as outlined in my previous post.

I can commit myself to taking the following actions:

option 1) Fixing RootInputStream, investigating QuotedPrintableInputStream and MimeUtil#getHeaderParams and dropping isolated CR as a non-issue.

option 2) Fixing RootInputStream, QuotedPrintableInputStream, MimeUtil#getHeaderParams and implementing strict / lenient parsing modes for all relevant classes.

If you are not happy with either of the options, I once again will have to step away and let someone else take the lead

I clearly prefer option 1

@Markus

Besides obvious performance implications, simple input streaming wrapping and filtering will result in corruption of parts with binary transfer coding (used very frequently when transferring MIME coded content over HTTP protocol)

> Configurable strategy for line delimiters
> -----------------------------------------
>
>                 Key: MIME4J-60
>                 URL: https://issues.apache.org/jira/browse/MIME4J-60
>             Project: JAMES Mime4j
>          Issue Type: Wish
>    Affects Versions: 0.4
>            Reporter: Stefano Bagnara
>             Fix For: 0.6
>
>         Attachments: MIME4J-60-readLine-returns-no-newline.patch, newlines-tests.zip, newlinestrat.patch
>
>
> There is an ongoing discussion about how we should deal with non canonical line endings (isolated LF and/or isolated CR).
> This issue is to track discussion results and proposed patches.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org