[
https://issues.apache.org/jira/browse/JAMES-4020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Benoit Tellier closed JAMES-4020.
---------------------------------
Resolution: Fixed
> Fully comply with IMAP FETCH
> ----------------------------
>
> Key: JAMES-4020
> URL: https://issues.apache.org/jira/browse/JAMES-4020
> Project: James Server
> Issue Type: Bug
> Components: IMAPServer
> Affects Versions: 3.8.0, 3.8.1
> Reporter: Benoit Tellier
> Priority: Major
> Fix For: 3.9.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> https://datatracker.ietf.org/doc/html/rfc3501#section-6.4.5
> {code:java}
> Every message has at least one part number. Non-[MIME-IMB]
> messages, and non-multipart [MIME-IMB] messages with no
> encapsulated message, only have a part 1.
> {code}
> But when attempting:
> {code:java}
> C: f1 FETCH 1 (BODY[1.MIME])
> {code}
> It fails with:
> {code:java}
> org.apache.james.mailbox.exception.MailboxException: Unable to parse message
> at
> org.apache.james.mailbox.store.ResultUtils.loadMessageResult(ResultUtils.java:177)
> at
> org.apache.james.mailbox.store.StoreMessageManager.lambda$getMessagesReactive$13(StoreMessageManager.java:777)
> at
> com.github.fge.lambdas.functions.FunctionChainer.lambda$sneakyThrow$49(FunctionChainer.java:74)
> at
> reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.tryOnNext(FluxMapFuseable.java:313)
> at
> reactor.core.publisher.FluxPublishOn$PublishOnConditionalSubscriber.runAsync(FluxPublishOn.java:992)
> at
> reactor.core.publisher.FluxPublishOn$PublishOnConditionalSubscriber.run(FluxPublishOn.java:1067)
> at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
> at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
> at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
> at
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
> Source)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
> Source)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
> Source)
> at java.base/java.lang.Thread.run(Unknown Source)
> Caused by:
> org.apache.james.mailbox.store.streaming.PartContentBuilder$UnexpectedEOFException:
> Unexpected EOF
> at
> org.apache.james.mailbox.store.streaming.PartContentBuilder.getMimeHeaders(PartContentBuilder.java:235)
> at
> org.apache.james.mailbox.store.ResultUtils.addMimeHeaders(ResultUtils.java:257)
> at
> org.apache.james.mailbox.store.ResultUtils.addPartContent(ResultUtils.java:213)
> at
> org.apache.james.mailbox.store.ResultUtils.addPartContent(ResultUtils.java:191)
> at
> org.apache.james.mailbox.store.ResultUtils.loadMessageResult(ResultUtils.java:173)
> ... 12 common frames omitted
> {code}
> So explicitly add support for "all message should have part 1"
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]