RLIST leads to Referral after SELECT

Eduardo Chappa alpine.chappa at yandex.com
Sun Sep 8 14:10:57 EDT 2019


Hello,

    I am trying to understand why the Cyrus IMAP server is doing a referral 
to SELECT a folder, after a RLIST command, but does not do a referral if 
no RLIST command has been issued.

    In other words, the following sequence of commands results in a 
referral

0 LOGIN credentials
0000000f RLIST "" INBOX.Sent
* LIST (\HasNoChildren) "." INBOX.Sent
0000000f OK Completed (0.000 secs 2 calls)
00000010 SELECT INBOX.Sent
00000010 NO [REFERRAL imap://;AUTH=*@some.server.com/INBOX.Sent] Remote mailbox.

However, the sequence

0 LOGIN credentials
1 SELECT INBOX.Sent
* 692 EXISTS
* 0 RECENT
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded NonJunk
$label1 $MDNSent Junk)
..

succeeds to SELECT INBOX.Sent.

The server returns the following capabilities

1 login credentials
1 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxte QUOTA
MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN
MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ
SORT=DISPLAY THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE WITHIN
QRESYNC SCAN URLAUTH URLAUTH=BINARY X-NETSCAPE
MUPDATE=mupdate://some.server.com/ LOGINDISABLED AUTH=PLAIN
COMPRESS=DEFLATE IDLE] User logged in SESSIONID=<cyrus-5107-1567872416-1>

The use of RLIST is mandated by RFC 2193, which states:

     A MAILBOX-REFERRALS capable client will issue the RLIST and RLSUB
     commands in lieu of LIST and LSUB.

Does anyone see a reason why this server is returning a NO [REFERRAL ...] 
to a SELECT command after a RLIST command, but not without it?

Thank you for your feedback!

-- 
Eduardo


More information about the Info-cyrus mailing list