MBOX-Line: From dkarp at zimbra.com  Tue Jan 30 19:29:32 2007
To: imap-protocol@u.washington.edu
From: Dan Karp <dkarp@zimbra.com>
Date: Fri Jun  8 12:34:38 2018
Subject: [Imap-protocol] A few MAILBOX-REFERRALS and NAMESPACE questions
Message-ID: <1616193014.36111170214172038.JavaMail.root@dogfood.zimbra.com>

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/%"

