linagora / james-project

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

java.lang.Error: java.io.IOException: Unexpected padding character (FETCH FROM #5101

Closed chibenwa closed 5 months ago

chibenwa commented 6 months ago

Data:

From: "=?utf-8?B?TGEgUG9zdGUgTW9iaWxl==?=" <expediteur@lapostemobile.fr>
Subject: =?utf-8?B?TGEgUG9zdGUgTW9iaWxlIDogVm9zIGNvb3Jkb25uw6llcyBw?=\r\n =?utf-8?B?ZXJzb25uZWxsZXMgb250IMOpdMOpIG1vZGlmacOpZXM=?=

AND

mdc_action  FETCH
mdc_fetchedData FetchData{items=[INTERNAL_DATE, SIZE, ENVELOPE], setSeen=false, bodyElements=[], changedSince=-1, vanished=false}

Fails with:

java.lang.Error: java.io.IOException: Unexpected padding character
    at org.apache.james.mime4j.codec.DecoderUtil.decodeBase64(DecoderUtil.java:104)
    at org.apache.james.mime4j.codec.DecoderUtil.decodeB(DecoderUtil.java:121)
    at org.apache.james.mime4j.codec.DecoderUtil.tryDecodeEncodedWord(DecoderUtil.java:288)
    at org.apache.james.mime4j.codec.DecoderUtil.decodeEncodedWords(DecoderUtil.java:249)
    at org.apache.james.mime4j.codec.DecoderUtil.decodeEncodedWords(DecoderUtil.java:158)
    at org.apache.james.mime4j.stream.RawFieldParser.copyQuotedContent(RawFieldParser.java:443)
    at org.apache.james.mime4j.stream.RawFieldParser.parseValue(RawFieldParser.java:219)
    at org.apache.james.mime4j.field.address.LenientAddressParser.parseAddress(LenientAddressParser.java:274)
    at org.apache.james.mime4j.field.address.LenientAddressParser.parseAddressList(LenientAddressParser.java:319)
    at org.apache.james.mime4j.field.address.LenientAddressParser.parseAddressList(LenientAddressParser.java:331)
    at org.apache.james.imap.processor.fetch.EnvelopeBuilder.buildAddresses(EnvelopeBuilder.java:114)
    at org.apache.james.imap.processor.fetch.EnvelopeBuilder.buildEnvelope(EnvelopeBuilder.java:53)
    at org.apache.james.imap.processor.fetch.FetchResponseBuilder.buildEnvelope(FetchResponseBuilder.java:278)
    at org.apache.james.imap.processor.fetch.FetchResponseBuilder.lambda$build$1(FetchResponseBuilder.java:141)
    at org.apache.james.mailbox.NullableMessageSequenceNumber.fold(NullableMessageSequenceNumber.java:62)
    at org.apache.james.imap.processor.fetch.FetchResponseBuilder.build(FetchResponseBuilder.java:125)
    at org.apache.james.imap.processor.fetch.FetchProcessor.toResponse(FetchProcessor.java:285)
    at org.apache.james.imap.processor.fetch.FetchProcessor.lambda$processMessageRanges$15(FetchProcessor.java:242)

TODO: investigate...

And be more lenient!

chibenwa commented 6 months ago

https://issues.apache.org/jira/browse/MIME4J-326

chibenwa commented 6 months ago

https://github.com/apache/james-mime4j/pull/97

chibenwa commented 6 months ago

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