[ 
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: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to