On Thu, 2014-10-02 at 19:37 +0200, Wolfgang Fahl wrote: > Hi Oleg, > > Thank you for your prompt answer and advice. It worked beautifully from > my point of view: > https://github.com/WolfgangFahl/james-mime4j/blob/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java > has a fix with my proposal as to make lenient Charset handling the > default but at least switchable > > and > > https://github.com/WolfgangFahl/james-mime4j/blob/trunk/dom/src/test/java/org/apache/james/mime4j/dom/MessageCharsetLenientTest.java > has a JUnit test that shows the modified behavior. It includes some 50 > invalid Charsets i found in my sample of 1/4 million e-mail messages. > > As far as I can tell the changes don't break any other test. >
Please raise a pull request in GitHub and post a link to MIME4J-218 > The relevant bug https://issues.apache.org/jira/browse/MIME4J-218 > is still marked as resolved. Shall I add a new one or are you going to > reopen it? > I re-opened MIME4J-218. > With the fix above only 5 messages in my sample of 1/4 million emails > can't be parsed by mime4j 0.8.0-SNAPSHOT. All errors are due to > line size and header size issues. The repository above has further > improvements on the handling of these MimeConfig settings. There seems > to be a > followup problem that the MimeConfig settings are not fully picked up in > all situations. This gets visible when the exception messages has the > current setting added e.g. > as I did it in my changes. > > Example: > mail<[email protected]>.err:org.apache.james.mime4j.MimeIOException: > Maximum header length limit (20000) exceeded > > E.g. when setting the maxheaderlines parameter to 20000 there are still > situations when an exception is thrown with the maxheaderlines parameter > being 1000. So it's seems that the config is not used consistently but > replaced by the default in certain circumstances which I'd still have to > debug. Is this > worth another BR? > If you have a reasonable reproducer please raise a JIRA and attach the test case to it. Oleg
