On Mon, 27 Jan 2003, Rob Siemborski wrote:
>On Mon, 27 Jan 2003, Andreas Aardal Hanssen wrote:
>> OT, but why does the server return the FETCH update when no change has
>> been made to the flags?
>Well, first of all, it's quite possible that a change WAS made to the
>flags (since, this particular messages started with \Seen set).

Agreed, the "when" should have been an "if".

>I read this to say "unless .SILENT is given, return the updated flags"

The "updated flags" yes - so the unupdated flags need not be returned, no?

>         Note: regardless of whether or not the ".SILENT" suffix was
>         used, the server SHOULD send an untagged FETCH response if a
>         change to a message's flags from an external source is
>         observed.  The intent is that the status of the flags is
>         determinate without a race condition.
>This section says, "even if .SILENT is given, if some other IMAP session
>changed the flags, you need to tell the client about it."
>Note that "external source" implies that this isn't limited to other IMAP
>sessions, just things that the client can't discern from the current IMAP
>session.

Sure, I guess we agree. Some servers always give the untagged FLAGS 
response. This is courier-imap:

3 store 1 +flags ()
* 1 FETCH (FLAGS (\Seen))
3 OK STORE completed.
3 store 1 +flags ()
* 1 FETCH (FLAGS (\Seen))
3 OK STORE completed.

This is another IMAP server (identifies as IMAP4rev1 v11.241):

4 store 1 +flags ()
* 1 FETCH (FLAGS (\Recent))
4 OK STORE completed
4 store 1 +flags ()
* 1 FETCH (FLAGS (\Recent))
4 OK STORE completed

Andy

-- 
Andreas Aardal Hanssen - Binc IMAP
http://www.bincimap.andreas.hanssen.name/

Reply via email to