james-mime4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <mime4j-...@james.apache.org>
Subject [jira] [Resolved] (MIME4J-235) NPE during parsing of an message
Date Wed, 08 Jan 2014 20:00:52 GMT

     [ https://issues.apache.org/jira/browse/MIME4J-235?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Oleg Kalnichevski resolved MIME4J-235.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 0.8.0
                   0.7.3

The header field is supposedly valid per RFC 2231 [1] (thanks to Markus Wiederkehr). Mime4j
however does not support it (see MIME4J-109 for details). Not much we can do about it at the
moment.

I managed to find out why the NPE occurred with DOM MessageBuilder only. It turned out FallbackBodyDescriptorBuilder
in core handled Content-Type headers with invalid (or unparseable) multipart boundary as 'text/plain'
whereas DefaultBodyDescriptorBuilder in dom would happily accept multipart bodies without
a valid boundary. I fixed the latter and applied the fix to both 0.7 branch and trunk.

Please review / re-test

Oleg

[1] http://tools.ietf.org/search/rfc2231

> NPE during parsing of an message
> --------------------------------
>
>                 Key: MIME4J-235
>                 URL: https://issues.apache.org/jira/browse/MIME4J-235
>             Project: James Mime4j
>          Issue Type: Bug
>          Components: parser (core)
>    Affects Versions: 0.8.0
>            Reporter: Mariano Kamp
>             Fix For: 0.7.3, 0.8.0
>
>         Attachments: error-205-NullPointerException.mbox, error-95-NullPointerException.mbox
>
>
> Ran into an NPE. Reported it to the mailing list, was referred to here.
> http://mail-archives.apache.org/mod_mbox/james-mime4j-dev/201401.mbox/browser
> The linked message also contains the offending mail as well as the full strack trace.
> Don't see how I could upload the file here.
> java.lang.NullPointerException
> at
> org.apache.james.mime4j.io.MimeBoundaryInputStream.<init>(MimeBoundaryInputStream.java:67)
> at
> org.apache.james.mime4j.stream.MimeEntity.createMimePartStream(MimeEntity.java:366)
> at
> org.apache.james.mime4j.stream.MimeEntity.advance(MimeEntity.java:320)
> at
> org.apache.james.mime4j.stream.MimeTokenStream.next(MimeTokenStream.java:368)
> at
> org.apache.james.mime4j.parser.MimeStreamParser.parse(MimeStreamParser.java:176)
> at
> org.apache.james.mime4j.message.DefaultMessageBuilder.parseMessage(DefaultMessageBuilder.java:316)
> at com.mboxanalytics.util.MboxUtil.parseMessage(MboxUtil.java:95)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message