RFC 5465 (NOTIFY) violation: missing HIGHESTMODSEQ in initial STATUS responses

Timo Sirainen tss at iki.fi
Mon Sep 7 21:37:42 UTC 2015


Oh, and this was also fixed a week ago:
http://hg.dovecot.org/dovecot-2.2/rev/238a34ad1ab0

On 07/19/2015 08:40 PM, Guilhem Moulin wrote:
> Quoting RFC 5465 (NOTIFY):
> 
>    “If the NOTIFY command enables MessageNew, MessageExpunge,
>     AnnotationChange, or FlagChange notifications for a mailbox other
>     than the currently selected mailbox, and the client has specified
>     the STATUS indicator parameter, then the server MUST send a STATUS
>     response for that mailbox before NOTIFY's tagged OK. […]
>     If either AnnotationChange or FlagChange are included and
>     the server also supports the CONDSTORE [RFC4551] and/or QRESYNC
>     [RFC5162] extensions, the STATUS response MUST contain UIDVALIDITY
>     and HIGHESTMODSEQ.” —
>     https://tools.ietf.org/html/rfc5465#section-3.1
> 
> While unsolicited STATUS responses include HIGHESTMODSEQ indeed, the initial
> STATUS responses (caused by the presence of the STATUS indicator) do not:
> 
>     ~$ /usr/lib/dovecot/imap
>     * PREAUTH [CAPABILITY IMAP4rev1 … CONDSTORE QRESYNC … NOTIFY SPECIAL-USE] Logged in as guilhem
>     a ENABLE QRESYNC
>     * ENABLED QRESYNC
>     a OK Enabled (0.000 secs).
>     b NOTIFY SET STATUS (SUBSCRIBED (MessageNew MessageExpunge FlagChange))
>     * STATUS INBOX (MESSAGES 9069 UIDNEXT 109398 UIDVALIDITY 1312585007 UNSEEN 0)
>     […]
>     b OK NOTIFY completed (0.008 secs).
>     [time passes… a new message is delivered to INBOX]
>     * STATUS INBOX (MESSAGES 9070 UIDNEXT 109399 UNSEEN 1 HIGHESTMODSEQ 22216)
> 
> This defeats the purpose of the STATUS indicator for disconnected
> clients since they have to issue separate STATUS commands (or a LIST
> command if LIST-{EXTENDED,STATUS} have been advertized) to find out
> which mailboxes have got a new HIGHESTMODSEQ.
> 
> Cheers,
> 


More information about the dovecot mailing list