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

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

Return-Path: <prvs=96516b4127=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 8D2441B2D90 for <imapext@ietfa.amsl.com>; Tue, 28 Jul 2015 12:04:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 bEyhwduqiveC for <imapext@ietfa.amsl.com>; Tue, 28 Jul 2015 12:04:38 -0700 (PDT)
Received: from smg1.telecom.sna.samsung.com (mailedge.sta.samsung.com [63.166.115.31]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8799E1B2DD8 for <imapext@ietf.org>; Tue, 28 Jul 2015 12:04:32 -0700 (PDT)
X-AuditID: 41a9fa1f-f799d6d00000263a-6c-55b7d234ab96
Received: from exHub3.telecom.sna.samsung.com (Unknown_Domain [105.52.12.230]) by smg1.telecom.sna.samsung.com (SMGOUT STA) with SMTP id 29.2E.09786.432D7B55; Tue, 28 Jul 2015 14:04:20 -0500 (CDT)
Received: from EXMB5.telecom.sna.samsung.com ([169.254.1.80]) by exHub3.telecom.sna.samsung.com ([2002:6934:ce6::6934:ce6]) with mapi id 14.03.0210.002; Tue, 28 Jul 2015 14:04:30 -0500
From: Jayantheesh S B <j.sb@sta.samsung.com>
To: IMAPAPND WG <imapext@ietf.org>
Thread-Topic: [imapext] Review of draft-ietf-imapapnd-appendlimit-extension-00
Thread-Index: AQHQx9VduQhaqVMIRUuJmpKnJ8sfWp3xP+og
Date: Tue, 28 Jul 2015 19:04:30 +0000
Message-ID: <02454F842DD7B449B96715A2AD90C0365EC537F8@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+NgFjrCLMWRmVeSWpSXmKPExsWSacLzTNfk0vZQg3n3RSwez+JyYPRYsuQn UwBjFLdNUmJJWXBmep6+XQJ3xpzF19kLXthU3Fy7jKWBcYF1FyMHh4SAicTSVdpdjJxAppjE hXvr2boYuTiEBI4xSrS/usoO4exhlOi61MnaxcjOwSagI/EkGKReREBJYm7rVEYQW1jAV2JS /xcWiHiAxJwje9ghbCOJp7cawWwWAVWJs0tXgNm8AiESq24eZAOxhQQ0JE40bgCzOQU0Je6c +ww2kxHonu+n1jCB2MwC4hK3nsxngrhTQGLJnvPMELaoxMvH/1ghbEWJub9uMoO8xQw0Z/0u fYhWRYkp3Q+h1gpKnJz5hGUCo+gsJFNnIXTMQtIxC0nHAkaWVYwyxbnphnolqTmpyfm5esV5 iXrFibnFpXnpekD+JkZgZDiu/CW/g3HddvtDjEwcnIcYJTi4pESKU/NSUosSS0sy4kHxEV8M jBCpBsaFs5Pmlk2d4ubAyZ68cp7jNZedGSJzjRZE6858WR7JxNRaOi2RM7Dmz3y9OxV1obEZ BzbN9Ju6XO5nuv7aExxHdrpeWS+3Q6L4Z/g+k5yg9SLCTmVm2Tfkl4u/f7ur6NGiWzL19u2n 7Nck//ik8jI0brq/5K6SzoetVctuMyey1X5uPCfrPEeJpTgj0VCLuag4EQDI9HrUVwIAAA==
Archived-At: <http://mailarchive.ietf.org/arch/msg/imapext/y925Lon_UCCqOysFzomym0n6tAk>
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 19:04:40 -0000

Hello All,

Kindly share your opinion about Section 3.1 SELECT response handling and 3.2 LIST response handling.

I would like to update the next version of the draft. Kindly share your views.

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".

> 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.

> 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.

> 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?

> 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.

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

Best Regards,
Alexey