Re: [Extra] I-D Action: draft-ietf-extra-imap-messagelimit-03.txt

Alexey Melnikov <alexey.melnikov@isode.com> Fri, 09 June 2023 17:41 UTC

Return-Path: <alexey.melnikov@isode.com>
X-Original-To: extra@ietfa.amsl.com
Delivered-To: extra@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 48E38C1527BC for <extra@ietfa.amsl.com>; Fri, 9 Jun 2023 10:41:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=isode.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W0DOqAiCyUOQ for <extra@ietfa.amsl.com>; Fri, 9 Jun 2023 10:41:09 -0700 (PDT)
Received: from waldorf.isode.com (waldorf.isode.com [62.232.206.188]) by ietfa.amsl.com (Postfix) with ESMTP id 0636FC152F02 for <extra@ietf.org>; Fri, 9 Jun 2023 10:41:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1686332375; d=isode.com; s=june2016; i=@isode.com; bh=buX6KYxocWuj2oDt45eQbOY5s5ueSwPmjaVyyvWTigQ=; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version: In-Reply-To:References:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description; b=Ifw/Vxo+zYKiTr1WzkhpbbUzkKKsZBAVLClOx8OfzfHvYV/PrLFzUYCueuTRxLQ5C4Mu4r Wpg+0P1+wZYs8Hm7k/JFiyslTHtQxvCOlsUYRqbY7jncRsEiY1SEK0+cXXHn7XImCsK5uE Y+OPPD1xn4WKC0QJ2h2MY27s+lJnjuo=;
Received: from [192.168.0.5] (575021ed.skybroadband.com [87.80.33.237]) by waldorf.isode.com (submission channel) via TCP with ESMTPSA id <ZINj1hnry446@waldorf.isode.com>; Fri, 9 Jun 2023 18:39:35 +0100
Message-ID: <f801ffdd-a4ef-8f43-8d0c-076332df2040@isode.com>
Date: Fri, 09 Jun 2023 18:39:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1
From: Alexey Melnikov <alexey.melnikov@isode.com>
To: Phillip Tao <ptao=40apple.com@dmarc.ietf.org>
Cc: extra@ietf.org
References: <00770A87-789E-4477-87F2-3EC059EE01FE@apple.com>
In-Reply-To: <00770A87-789E-4477-87F2-3EC059EE01FE@apple.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="------------xE0nacH9KzdJ18ZqjxRO3eO5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/extra/xeya_9IfY8ttzklF6fGjVLTN_3M>
Subject: Re: [Extra] I-D Action: draft-ietf-extra-imap-messagelimit-03.txt
X-BeenThere: extra@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Email mailstore and eXtensions To Revise or Amend <extra.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/extra>, <mailto:extra-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/extra/>
List-Post: <mailto:extra@ietf.org>
List-Help: <mailto:extra-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/extra>, <mailto:extra-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Jun 2023 17:41:13 -0000

Hi Phillip,

> On 25 May 2023, at 23:10, Phillip Tao 
> <ptao=40apple.com@dmarc.ietf.org> wrote:
>
> What is the expected outcome for clients which do not support this 
> extension? The Introduction states:
>
> > This extension is compatible with both IMAP4rev1 [RFC3501] and 
> IMAP4rev2 [RFC9051].
>
> But "always return NO" seems like a very loose definition of "compatible".
You have a point, but this only relates to COPY/UID COPY command.
> I can't think of any similar IMAP extensions in the past which 
> radically alters server behavior without having the client explicitly 
> opting in to it (either by using new commands/new command parameters, 
> or by requiring an ENABLE).
This is true. What this is trying to say is that this extension can be 
advertised by both IMAP4rev1 and IMAP4rev2 servers.
> Clients may not be able to adopt this extension for some time, and 
> some clients may never adopt it (either due to an explicit decision 
> not to, or due to that client or client version no longer being 
> actively maintained). Those clients will therefore be unable to 
> communicate successfully with any server which has implemented this 
> extension.

I don't think what you are describing above is completely correct. I 
think what would happen with clients that don't specially handle this 
extension would encounter one of the following (let's assume that the 
server advertises MESSAGELIMIT=N):

1) If a specific mailbox is smaller than N, then the client would never 
observe MESSAGELIMIT response code, so it would not be affected.

2) If a specific mailbox is larger than N, then the client would be 
limited to operating on at most N messages at a time. For example SEARCH 
and FETCH will return N most recent messages in the specified range.

The client would also be unable to copy more than N messages at a time. 
(But a client using MOVE will be able to move at most N messages.)

Does this help?

Several notes in relation to this:

1) If N is small, this would make life very interesting for clients. I 
think the document should recommend which values are reasonable for 
servers to pick.

2) I think some explanation along the lines of what I explained above 
should be added to the document to make it clearer what the intent is 
for casual readers.


> I see that version 1 of this draft did require an ENABLE, but that was 
> subsequently removed in version 2. From the mailing list archive, it 
> seems like there may have been some discussion in person at IETF 115 
> which led to this, but unfortunately the reasoning was not captured in 
> the mailing list. Can you shed more light on why the newer versions 
> have moved away from requiring an explicit ENABLE?

Basically MESSAGELIMIT conveys a server limitation. There is no way for 
clients to opt out of it, so using ENABLE doesn't work. And the idea 
here is to make sure that clients using 1:* in various IMAP commands 
still need to be subject to the server limit.

When a server returns the MESSAGELIMIT capability, clients can at least 
discover the server limitation.

Best Regards,

Alexey

>
> - Phillip
>
>> On May 17, 2023, at 5:45 AM, Alexey Melnikov 
>> <alexey.melnikov@isode.com> wrote:
>>
>> Hi all,
>>
>> On 17/05/2023 13:42,internet-drafts@ietf.orgwrote:
>>> A New Internet-Draft is available from the on-line Internet-Drafts
>>> directories. This Internet-Draft is a work item of the Email 
>>> mailstore and
>>> eXtensions To Revise or Amend (EXTRA) WG of the IETF.
>>>
>>>    Title           : IMAP MESSAGELIMIT Extension
>>>    Authors         : Alexey Melnikov
>>>                      Arun Prakash Achuthan
>>>                      Vikram Nagulakonda
>>>                      Luis Alves
>>>    Filename        : draft-ietf-extra-imap-messagelimit-03.txt
>>>    Pages           : 9
>>>    Date            : 2023-05-17
>>>
>>> Abstract:
>>>    The MESSAGELIMIT extension of the Internet Message Access Protocol
>>>    (RFC 3501/RFC 9051) allows servers to announce a limit on the number
>>>    of messages that can be processed in a single
>>>    FETCH/SEARCH/STORE/COPY/MOVE command.  This helps servers to control
>>>    resource usage when performing various IMAP operations.
>>
>> This version addes UIDAFTER and UIDBEFORE SEARCH keys.
>>
>> If people are happy with their inclusion, I think this is ready for WGLC.
>>
>> Best Regards,
>>
>> Alexey
>>
>> _______________________________________________
>> Extra mailing list
>> Extra@ietf.org
>> https://www.ietf.org/mailman/listinfo/extra
>