Re: The IMAP APPENDLIMIT Extension

Michael M Slusarz <[email protected]>
Newsgroups gmane.ietf.imapext
Message-ID <20150216160945.Horde.YF7pAkugfZbeh7a81IR29w8@bigworm.curecanti.org>
Quoting Alexey Melnikov <[email protected]>:

> On 16/02/2015 06:07, Michael M Slusarz wrote:
>
>> 2) I don't believe the APPENDLIMIT response code should be returned  
>> for an EXAMINE operation.  The value is irrelevant since you can't  
>> append to a read-only mailbox.
> Actually you are wrong on this one, because the APPEND command takes  
> a mailbox name as a parameter, so it can be used from any mailbox  
> (or no mailbox). So the currently selected mailbox and its state is  
> irrelevant.

I disagree with you here.

Agreed that APPEND has a mailbox argument, so it can be called from a  
non-selected context.

But APPEND is also allowed to be called from within a mailbox.  And if  
that current selected context is read-only via EXAMINE, my  
understanding/belief is that an APPEND cannot be successful since that  
would be an action that causes a "change[] to the permanent state of  
the mailbox".

Regardless, not much reason to discuss this further in this context  
due to below comments.

>> 3) I believe this was mentioned by at least one other person, but  
>> the current handling of the response code in the mailbox is not  
>> correct, at least according to the draft specification.
>>
>> Take this example:
>>
>> <QUOTA active; user currently has 100 bytes left in account>
>> a1 SELECT INBOX
>> <...>
>> * OK [APPENDLIMIT 100]
>> a1 OK [READ-WRITE] Done
>> a2 STORE 1 +flags \deleted
>> * 1 FETCH (FLAGS (\Deleted))
>> a2 OK
>> a3 EXPUNGE
>> * 1 EXPUNGE
>> * 0 EXISTS
>> a3 OK
>>
>> Assuming that message 1 was 100 bytes, the quota for the user is  
>> now up to 200 bytes.  This should be the new APPENDLIMIT value, but  
>> according to the spec this does not need to be reported/updated.
>>
>> This needs to be handled similarly to the way that message counts  
>> are updated when in the selected state.  Although, as mentioned  
>> above, the appendlimit value may not be a trivial item to calculate  
>> so this can start to become a fairly expensive feature add.
> I think I am agreeing with Cyrus who said that APPENDLIMIT should  
> not be affected by outstanding quota. It is a hint anyway. Not  
> linking it to quotas would make implementations easier (and clients  
> need to handle errors anyway).

If this is the correct behavior, what's the purpose of APPENDLIMIT in  
the first place?  APPENDLIMIT then becomes an "it might be correct  
value, but it might not be", so a client might be able to use it to  
determine beforehand whether an APPEND but then again you might not.

If APPENDLIMIT is not an accurate representation of the maximum size,  
what useful purpose does it serve over what we currently have?  In  
other words: how is this better/more efficient than calling APPEND  
without LITERAL+ to catch oversized data.  (Note: as the spec is  
written, APPENDLIMIT is solely designed as a limitation to prevent  
unnecessary network traffic.  It is not meant to be used as a UI  
limitation device, e.g. ensure a user can only create a message less  
than a certain size.)

michael

___________________________________
Michael Slusarz [[email protected]]

_______________________________________________
imapext mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/imapext
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.