[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IDLE and idle
On Wed Nov 22 13:51:31 2006, Arnt Gulbrandsen wrote:
RFC 3501 section 5.3 permits a server to send untagged unsolicited
EXISTS responses to a client even when it's not processing any
command, under certain circumstances.
I'm not familiar with any servers that do this. (UW sends OK, but
my question is about EXISTS.) Are there any that send EXISTS, and
if so, which?
Not that I'm aware of.
There's an edge case whereby a server sending EXISTS (Or RECENT) when
no command is in progress can inadvertantly cause some confusion.
Specifically, when an EXISTS is sent at such a point that the client
is sending, or has already sent, a SELECT command, the client has to
be particularly careful about whether the EXISTS is in response to
the SELECT, and thus relates to the subsequent mailbox, or
unsolicited, and thus relates to the prior mailbox.
There are two workarounds for clients:
1) Issue UNSELECT before any SELECT, which disambiguates. This can be
pipelined. (Without UNSELECT the issue is more complex, you need to
do something like EXAMINE on a mailbox name known not to exist, or
horrendously unlikely to exist.)
2) In principle, only the last EXISTS relates to the subsequent
mailbox. The first EXISTS relates to the prior mailbox, unless there
is only one.
In general, I prefer pipelining an UNSELECT.
Dave.
--
Dave Cridland - mailto:dave@xxxxxxxxxxxx - xmpp:dwd@xxxxxxxxxx
- acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
- http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade