mailing list archives

meli community discussions

⚠️ if something does not work as intended when interracting with the mailing lists,
reach out Github mirror Gitea repo @epilys:matrix.org

E-mail headers
From: Dan Karp <dkarp@zimbra.com>
To: imap-protocol@u.washington.edu
Date: Fri, 08 Jun 2018 12:34:38 -0000
Message-ID: 1616193014.36111170214172038.JavaMail.root@dogfood.zimbra.com permalink / raw / eml / mbox
I was hoping that some folks more knowledgeable than I about RFC 2193 (mailbox referrals) and RFC 2342 (namespaces) might be able to explain a few things to me.

Let's assume that the server's response to the NAMESPACE command is

   * NAMESPACE (("" "/")) (("/user/" "/")) NIL


First quick question: Under IMAP4rev1, would the "\Noselect" mailbox name attribute be required on the untagged responses to RFC 2342's example 5.7 (all of which are on the local server)?

   C: A002 LIST "" "/user/%"
   S: * LIST () "/" "/user/Mike"
   S: * LIST () "/" "/user/Karen"
   S: * LIST () "/" "/user/Matthew"
   S: * LIST () "/" "/user/Tesa"
   S: A002 OK LIST command completed


RFC 2193 states that

   Remote mailboxes and their inferiors, that are accessible only via
   referrals SHOULD NOT appear in LIST and LSUB responses issued against
   the user's home server.  They MUST appear in RLIST and RLSUB
   responses issued against the user's home server.

For RLIST, must the server *validate* the existence of mailboxes belonging to remote accounts?  In other words, if "Biff" is on a remote host and the client issues the command

   A003 RLIST "" "/user/Biff/nosuchfolder"

may the server blindly return a corresponding untagged LIST response

   * LIST () "/" "/user/Biff/nosuchfolder"

or does the server have to verify the existence of the "nosuchfolder" mailbox in Biff's namespace before returning such a LIST response?


Similarly, RFC 2193 states that

   Hierarchy referrals,
   in which a client would be required to connect to the remote server
   to issue a LIST to discover the inferiors of a mailbox are not
   addressed in this document.

Did a consensus develop as to what should be returned when a user issues

   A004 RLIST "" /user/Biff/INBOX/%"
Reply
E-mail headers
From: robsiemb@google.com
To: imap-protocol@localhost
Date: Fri, 08 Jun 2018 12:34:38 -0000
Message-ID: 5b93232d0701301942j66a9f184h485b50a99aa464d4@mail.gmail.com permalink / raw / eml / mbox
On Jan 30, 2007 7:29 PM, Dan Karp <dkarp@zimbra.com> wrote:

> RFC 2193 states that
>
>   Remote mailboxes and their inferiors, that are accessible only via
>   referrals SHOULD NOT appear in LIST and LSUB responses issued against
>   the user's home server.  They MUST appear in RLIST and RLSUB
>   responses issued against the user's home server.
>
> For RLIST, must the server *validate* the existence of mailboxes belonging to remote accounts?  In other words, if "Biff" is on a remote host and the client issues the command
>
>   A003 RLIST "" "/user/Biff/nosuchfolder"
>
> may the server blindly return a corresponding untagged LIST response
>
>   * LIST () "/" "/user/Biff/nosuchfolder"
>
> or does the server have to verify the existence of the "nosuchfolder" mailbox in Biff's namespace before returning such a LIST response?

I'd argue that the correct thing to do is, indeed, verify that
nosuchfolder exists before returning it.  However, since clients have
to deal with the race where a folder is presented and then deleted
before the SELECT command can be issued anyway, this isn't as big a
deal as it seems.

Do other servers implement MAILBOX-REFERRALS?  The only server I know
of that does this is the Cyrus server, which doesn't distinguish much,
because it is willing to proxy if the client doesn't do an RLIST
anyway, so its all the same.

> Similarly, RFC 2193 states that
>
>   Hierarchy referrals,
>   in which a client would be required to connect to the remote server
>   to issue a LIST to discover the inferiors of a mailbox are not
>   addressed in this document.
>
> Did a consensus develop as to what should be returned when a user issues
>
>   A004 RLIST "" /user/Biff/INBOX/%"

The server would just return what it knew about, no?

-Rob
Reply