You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Raphaël Ouazana <ro...@linagora.com> on 2021/01/12 11:12:54 UTC

IMAP Fetch behavior on not found messages

|Hi, When adding the support of James on the integration testing of the 
gatling-imap project, we discovered some discrepancies between the 
behavior of James and Cyrus on IMAP fetch. When doing a fetch with some 
non existing messages Cyrus will do a best effort and return the 
existing messages whereas James will return a BAD response. And in case 
of a fetch on an empty mailbox Cyrus will return a NO response where 
James will return a BAD one. The discussion can be found here: 
https://github.com/linagora/gatling-imap/pull/3 Following our research, 
there is no clear indication of what should be done in the RFC. What do 
you think should be the behavior of James, should we keep its strict 
behavior or relax it as Cyrus ? Cheers, Rémi & Raphaël. |


Re: IMAP Fetch behavior on not found messages

Posted by Matthieu Baechler <ma...@apache.org>.
On Tue, 2021-01-12 at 12:42 +0100, Jean Helou wrote:
> 
> 
> When doing a fetch with some
> non existing messages Cyrus will do a best effort and return the
> existing messages whereas James will return a BAD response.


I would preserve Cyrus's behavior as a defacto standard, not honoring
this
incurs the risk of breaking existing client software which relies on
this
behavior.
if the preference is for a stricter behavior, then BAD is correct here.
I
would definitely suggest to try the stricter behaviour with an outlook
client to make sure it doesn't break the UX too badly


> And in case
> of a fetch on an empty mailbox Cyrus will return a NO response where
> James will return a BAD one.
> 

After reading the discussion I feel that NO is more appropriate.
-  NO feels more like  HTTP 404 NOT FOUND
-  BAD feels more like HTTP 400 BAD REQUEST


I fully agree with Jean.

-- Matthieu


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: IMAP Fetch behavior on not found messages

Posted by Jean Helou <je...@gmail.com>.
>
>
> When doing a fetch with some
> non existing messages Cyrus will do a best effort and return the
> existing messages whereas James will return a BAD response.


I would preserve Cyrus's behavior as a defacto standard, not honoring this
incurs the risk of breaking existing client software which relies on this
behavior.
if the preference is for a stricter behavior, then BAD is correct here. I
would definitely suggest to try the stricter behaviour with an outlook
client to make sure it doesn't break the UX too badly


> And in case
> of a fetch on an empty mailbox Cyrus will return a NO response where
> James will return a BAD one.
>

After reading the discussion I feel that NO is more appropriate.
-  NO feels more like  HTTP 404 NOT FOUND
-  BAD feels more like HTTP 400 BAD REQUEST

--
jean

Re: IMAP Fetch behavior on not found messages

Posted by Jean Helou <je...@gmail.com>.
>
> The discussion can be found here:
> https://github.com/linagora/gatling-imap/pull/3
>
actually it's here https://github.com/linagora/gatling-imap/pull/37 I think
the url got truncated :)