Subject: [lemonade] RE: Comments on draft-melnikov-imap-expunged-00

From: [email-masked]
Date: Thu, 3 Feb 2005 06:59:44 -0600

> -----Original Message-----
> From: [email-masked]
> [mailto:[email-masked]]On Behalf Of ext 
> Alexey Melnikov
> Sent: Wednesday, February 02, 2005 5:18 PM
...
> >Sec 3.3
> >   <<alternative #1: extend syntax for the CHANGEDSINCE FETCH
> >   modifier.
> >
> >Why even have the keyword REPORTEXPUNGES? Why not just overload
> >CHANGEDSINCE to imply expunges? 
> >  
> >
> Sending expunge information to the client who hasn't asked for it 
> doesn't sound right, even though any client should be able to ignore 
> such information.
> 
> If we choose to replace CONDSTORE, there would be no REPORTEXPUNGES.

If it does not sound right in draft-melnikov-imap-expunged-00 why
would it be okay in CONDSTORE?

> 
> >   <<What if the server can?t remember some expunged UIDs, 
> for example
> >   the provided mod-sequence is too old? Can the server just return
> >   all UIDs not in the UID set? This can generate additional traffic,
> >   but should be Ok otherwise.>>
> >
...
> Client doesn't know and need not know. I think this is a 
> server only issue.

I guess I need to see what you mean by "Can the server just return
all UIDs not in the UID set?"

The client has to know that something is amiss on the server. It is 
not getting an expunge. A fetch response is only supposed to be 
returned subject to the CHANGEDSINCE modifier.

I see two options ...
1) An unsolicited * SEARCH 
2) A response code that tells the client to use UID SEARCH 1:*

In either case the client knows.

> >
> >   " ... HIGHESTMODSEQ with the one returned by the server. 
> If the cached
> >   HIGHESTMODSEQ value also matches the one returned by the server,
> >   then the client MUST NOT fetch flags for cached messages, as they
> >   hasn't changed. "
> >
> >Shouldn't this be "SHOULD NOT".
> >
> This is an informative section, so I should probably 
> lowercase the term.

Informative or not the client does not have to perform this 
behavior hence it seems it should be "should".

Mike

_______________________________________________
lemonade mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/lemonade

---

From: Alexey Melnikov <[email-masked]>
Date: Thu, 03 Feb 2005 15:13:49 +0000

[Let's have this discussion on IMAPEXT only].

Answering the second part of your message.

[email-masked] wrote:

>>> <> <<What if the server can?t remember some expunged UIDs, for example
>>
My comment is trying to say that the server MUST always return expunged 
messages, if it doesn't remember which messages got expunged since the 
specified modification sequence, it should return ALL messages expunged 
(but only for UID set the specified in the UID FETCH (REPORTEXPUNGES).

So, the client doesn't really need to know whether the server remembers 
or not. The client should be able to handle duplicate expunge 
notifications anyway.

>>> <> " ... HIGHESTMODSEQ with the one returned by the server. If the 
>>> cached
>>
I see no point for the client to violate the MUST, that is why I've used 
upper case MUST. (please, prove me wrong with an example).
The client can do many other stupid things and I don't want to encourage 
them.