linagora / james-project

Mirror of Apache James Project
Apache License 2.0
70 stars 63 forks source link

StripAttachment finalename not lenient: better handle "space" #5089

Closed chibenwa closed 6 months ago

chibenwa commented 6 months ago
javax.mail.internet.ParseException: In parameter list <; filename=AVOCAT  XXX YYY>, expected ';', got "XXX"
    at javax.mail.internet.ParameterList.<init>(ParameterList.java:314)
    at javax.mail.internet.ContentDisposition.<init>(ContentDisposition.java:109)
    at javax.mail.internet.MimeBodyPart.getFileName(MimeBodyPart.java:1294)
    at javax.mail.internet.MimeBodyPart.getFileName(MimeBodyPart.java:549)
    at org.apache.james.transport.mailets.StripAttachment.getFilename(StripAttachment.java:379)
    at org.apache.james.transport.mailets.StripAttachment.shouldBeRemoved(StripAttachment.java:312)
    at org.apache.james.transport.mailets.StripAttachment.processMultipartPartMessage(StripAttachment.java:288)
    at org.apache.james.transport.mailets.StripAttachment.service(StripAttachment.java:229)

Looks like either some encondings are not handled or looks like not lenient enough.

Solution: use MIME4J lenient header parsers instead?

chibenwa commented 6 months ago

https://github.com/apache/james-project/pull/2056