Re: [imapext] Review of draft-ietf-imapapnd-appendlimit-extension-00

Jayantheesh S B <j.sb@sta.samsung.com> Tue, 28 July 2015 18:59 UTC

Return-Path: <prvs=7651635cbc=j.sb@sta.samsung.com>
X-Original-To: imapext@ietfa.amsl.com
Delivered-To: imapext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DF01B1B2DD5 for <imapext@ietfa.amsl.com>; Tue, 28 Jul 2015 11:59:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.789
X-Spam-Level:
X-Spam-Status: No, score=0.789 tagged_above=-999 required=5 tests=[BAYES_50=0.8, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QOlDeioako30 for <imapext@ietfa.amsl.com>; Tue, 28 Jul 2015 11:59:29 -0700 (PDT)
Received: from smg3.telecom.sna.samsung.com (mailedge.sta.samsung.com [63.166.115.33]) by ietfa.amsl.com (Postfix) with ESMTP id 810261B2DD1 for <imapext@ietf.org>; Tue, 28 Jul 2015 11:59:29 -0700 (PDT)
X-AuditID: 41a9fa21-f79246d000003700-8f-55b7d103f5fc
Received: from exHub1.telecom.sna.samsung.com (Unknown_Domain [105.52.12.248]) by smg3.telecom.sna.samsung.com (SMGOUT STA) with SMTP id C9.74.14080.301D7B55; Tue, 28 Jul 2015 13:59:15 -0500 (CDT)
Received: from EXMB5.telecom.sna.samsung.com ([169.254.1.80]) by exHub1.telecom.sna.samsung.com ([2002:6934:cf8::6934:cf8]) with mapi id 14.03.0210.002; Tue, 28 Jul 2015 13:59:29 -0500
From: Jayantheesh S B <j.sb@sta.samsung.com>
To: Alexey Melnikov <alexey.melnikov@isode.com>, IMAPAPND WG <imapext@ietf.org>
Thread-Topic: [imapext] Review of draft-ietf-imapapnd-appendlimit-extension-00
Thread-Index: AQHQx9VduQhaqVMIRUuJmpKnJ8sfWp3xOcwA
Date: Tue, 28 Jul 2015 18:59:28 +0000
Message-ID: <02454F842DD7B449B96715A2AD90C0365EC537BB@exMB5.telecom.sna.samsung.com>
References: <55B4F457.2050608@isode.com>
In-Reply-To: <55B4F457.2050608@isode.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [105.52.12.197]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrDLMWRmVeSWpSXmKPExsWSacLzQ5f54vZQgzXXdSxmrC6yeDyLy4HJ Y8mSn0wep5oNA5iiuG2SEkvKgjPT8/TtErgzuvZ9Zy/4YldxuuEGYwPjEtsuRk4OCQETiQXT vzFC2GISF+6tZwOxhQSOMUqseM7axcgFZO9hlLhyeiNTFyM7B5uAjsSTYJASEYFAiSsvN7OC 2MICvhKT+r+wQMQDJOYc2cMOYRtJzDi8ngnEZhFQlTj67jlYnFcgROL5hkZ2iFUaEicaN4Ct 5RTQlLhz7jPYOYxA53w/tQasl1lAXOLWk/lMEGcKSCzZc54ZwhaVePn4HyuErSgx99dNoDgH UL2mxPpd+hCtihJTuh9CrRWUODnzCcsERtFZSKbOQuiYhaRjFpKOBYwsqxhlinPTjfVKUnNS k/Nz9YrzEvWKE3OLS/PS9YD8TYzASHFc+UtxB+Ou/faHGJk4OA8xSnBwSYkUp+alpBYllpZk xIPiI74YGCFSDYztW7P15knY1bScZXuZemR3Y3DkHRfFFT7Fj6fyNeRkhRh73Pv04Vy+yzpO b487JlXhCkf4u1/xS1hc6F43XUF6+7NJH60exmyonLzgcNEbS9XD07ZV75noHr7S7/WkfHkb RYZHO9fJrz7HcyBIaMqkeq6QwGeSBpxuutGXhJ/bi0T/7nXtnaPEUpyRaKjFXFScCACU7tiH XwIAAA==
Archived-At: <http://mailarchive.ietf.org/arch/msg/imapext/zoYwnByJmZmWzxvqa8PIektfNu4>
Subject: Re: [imapext] Review of draft-ietf-imapapnd-appendlimit-extension-00
X-BeenThere: imapext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussion of IMAP extensions <imapext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imapext>, <mailto:imapext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/imapext/>
List-Post: <mailto:imapext@ietf.org>
List-Help: <mailto:imapext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imapext>, <mailto:imapext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Jul 2015 18:59:32 -0000

Hi Alexey,

Thanks for your review comments. 

Please find my response inline.

Regards,
Jay
-----Original Message-----
From: Alexey Melnikov [mailto:alexey.melnikov@isode.com] 
Sent: Sunday, July 26, 2015 10:53 AM
To: IMAPAPND WG
Subject: [imapext] Review of draft-ietf-imapapnd-appendlimit-extension-00

Hi,
SM asked me to review the document, so I reread everything for the first time in a couple of months. Here are my comments:


> 2. APPENDLIMIT Extension
> 
> An IMAP server that supports APPENDLIMIT advertises this by including 
> the word APPENDLIMIT in its capability list.  IMAP server shall 
> publish the supported mail upload size as part of CAPABILITY response.

As per the recent discussion, the above text should be amended to make it clear that both "APPENDLIMIT" and "APPENDLIMIT=<value>" can be advertised. As traditionally IMAP uses exact match for capabilities, "APPENDLIMIT=..." is not going to work for a client that looks for exact match with "APPENDLIMIT".


[Jay] I will update this section with updated text in the next version of the document. 

> The
> advertised upload limit is common across the mailboxes, but client can 
> still issue SELECT/EXAMINE or LIST command to get the mailbox specific 
> upload limit set by the IMAP server.  In this case, APPENDLIMIT value 
> obtained as part of SELECT/EXAMINE or LIST command takes precedence 
> over the value returned as part of CAPABILITY response.

 [snip]

> 3. Mailbox specific APPENDLIMIT
> 
> IMAP server can still have mailbox specific APPENDLIMIT restriction, 
> which may not be advertised as part of CAPABILITY response.  In this 
> case, client can issue SELECT/EXAMINE command to get the per mailbox 
> specific limit set by the server.  Similarly, if client wish to know 
> the mailbox specific limit in authenticated state, can be done by 
> issuing the LIST command in combination with STATUS command.

I think you should clarify here that a standalone STATUS command can also be used.
[Jay] Ok
> 3.1 SELECT response
> 
> Client can get the per mailbox append limit by issuing the SELECT/ 
> EXAMINE command.  APPENDLIMIT size to this mailbox is obtained as part 
> of untagged OK response.  In this case, this APPENDLIMIT value will 
> supersede the value received as part of CAPABILITY response.  If no 
> per-mailbox APPENDLIMIT is specified for a folder, but the server did 
> specify a common APPENDLIMIT in the CAPABILITY response, then the 
> common APPENDLIMIT applies to that folder.
> 
> C: t2 SELECT INBOX
> S: * 172 EXISTS
> S: * OK [APPENDLIMIT 257890] Maximum upload limit
> S: [...]
> S: t2 OK [READ-WRITE] SELECT completed

After Chris Newman's comment that a new SELECT/EXAMINE response code going to waste lots of bandwidth as most of the time it would be returned and the client is not going to care, I am wondering again if we should remove the SELECT response. But I don't have strong feelings on this.


[Jay] Based on the others feedback, we can decide on this item.

> In the above example, APPENDLIMIT represents the maximum upload size 
> for this mailbox.
> 
> OK [APPENDLIMIT <n>] Maximum upload limit for this mailbox, in bytes.
>                      Refer to section 5 for more information.  If this
>                      is missing, the client can always honour the
>                      value received as part of CAPABILITY response.

It occurred to me that this response code can also be returned in a NO response on a failed APPEND. It might be worth saying that. (This would cover a slightly different case from TOOBIG response code.)

> 3.2 LIST response
> 
> IMAP client can get the mailbox specific APPENDLIMIT in authenticated 
> state, where it do not need to issue SELECT/EXAMINE command.  LIST 
> command in combination with STATUS command can be issued to get the 
> per mailbox specific APPENDLIMIT set by the server.

> Refer RFC 5819 for the
> usage of LIST command in combination with STATUS command.  Note that a 
> server implementing this extension, is syntactically compatible with 
> RFC 5819, however support for RFC 5258 or RFC 5819 is not required, 
> when implementing this extension.

After the discussion with Jamie I am wondering if we have to require use of extended LIST with the new APPENDLIMIT STATUS item. Maybe we can just require implementation of the APPENDLIMIT STATUS item, and STATUS-in-LIST will take care of this, if also advertised?
[Jay] Based on others feedback, we can decide on this item.
> 5. Formal syntax
> 
> The following syntax specification uses the Augmented Backus-Naur Form 
> (ABNF) notation as specified in [RFC5234] including the core rules in 
> Appendix B.1.  [RFC3501] defines the non-terminals "capability", 
> "resp-text-code" and "status-att".
> Except as noted otherwise, all alphabetic characters are case- 
> insensitive.  The use of upper or lower case characters to define 
> token strings is for editorial clarity only.  Implementations MUST 
> accept these strings in a case-insensitive fashion.
>     
> appendlimit-cap = "APPENDLIMIT" ["=" append-limit-value] capability /= 
> appendlimit-cap
> 
> appendlimit-respcode = "APPENDLIMIT" SP append-limit-value 
> resp-text-code /= appendlimit-respcode
> 
> append-limit-value = 1*DIGIT
>                      ; Unsigned 64-bit integer
>                      ; (0 <= n < 18,446,744,073,709,551,615)

After thinking more about this, I think we should revert to 32 bit limits, because if a message is >= 2**32 octets, FETCH RFC822.SIZE would be unable to return the message size, so other things would break.


[Jay] Ok, I will updated to 32 bit in the next version of the document. 

So I think we should have a separate extension that takes care of 64bit message/body part sizes.

Best Regards,
Alexey