Re: [Extra] Working Group Last Call - draft-ietf-extra-imap-fetch-preview-08

Timo Sirainen <timo@sirainen.com> Tue, 07 July 2020 08:54 UTC

Return-Path: <timo@sirainen.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 4C82C3A0784 for <extra@ietfa.amsl.com>; Tue, 7 Jul 2020 01:54:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 yJqSPPdnhb7m for <extra@ietfa.amsl.com>; Tue, 7 Jul 2020 01:54:34 -0700 (PDT)
Received: from sirainen.com (mail.sirainen.com [94.237.26.55]) by ietfa.amsl.com (Postfix) with ESMTP id EF2843A0781 for <extra@ietf.org>; Tue, 7 Jul 2020 01:54:33 -0700 (PDT)
Received: from [192.168.8.102] (unknown [109.240.41.51]) by sirainen.com (Postfix) with ESMTPSA id BA3C92B3C8B; Tue, 7 Jul 2020 08:54:31 +0000 (UTC)
Content-Type: multipart/alternative; boundary="Apple-Mail=_36447BDD-A26F-4EE4-823C-B6A6706F1BBB"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\))
From: Timo Sirainen <timo@sirainen.com>
X-Priority: 3
In-Reply-To: <1948688035.19548.1594092129291@appsuite.open-xchange.com>
Date: Tue, 07 Jul 2020 11:54:30 +0300
Cc: extra@ietf.org
Message-Id: <388F9721-0CB5-4146-AC23-503C4481A090@sirainen.com>
References: <c4da8962-ec81-4ee5-b2e1-258d5b247770@dogfood.fastmail.com> <E7CA280C-D1B9-4BE7-8109-E070CF742623@sirainen.com> <1948688035.19548.1594092129291@appsuite.open-xchange.com>
To: Michael Slusarz <michael.slusarz=40open-xchange.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3608.80.23.2.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/extra/ATwqV-meol5sHHBO7YqNr57gIRY>
Subject: Re: [Extra] Working Group Last Call - draft-ietf-extra-imap-fetch-preview-08
X-BeenThere: extra@ietf.org
X-Mailman-Version: 2.1.29
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: Tue, 07 Jul 2020 08:54:36 -0000

On 7. Jul 2020, at 6.22, Michael Slusarz <michael.slusarz=40open-xchange.com@dmarc.ietf.org> wrote:
> 
>> On 07/02/2020 3:20 AM Timo Sirainen <timo@sirainen.com> wrote:
>> 
>> 
>> On 2. Jul 2020, at 4.56, Bron Gondwana < brong@fastmailteam.com <mailto:brong@fastmailteam.com>> wrote: 
>>> As discussed in the interim meeting, this document was brought back to the working group to be reverted to an earlier and simpler version. 
>>> 
>>> This email announces a 2 week working group last call for any further comments on this version before I re-submit to IESG for publication.  Please reply with any comments by Thursday, July 16th 2020.  Let's get this one off our plates before IETF108. 
>> 
>> 
>>    It is possible that preview text is not available now, but might be
>>    available later -- perhaps the server's preview-generating resources
>>    are overloaded, there is a server-imposed timeout during preview
>>    generation, or there is some transient issue with fetching the
>>    message body.  In such cases, the server will return NIL as the
>>    preview response, and the client can try to retrieve the preview
>>    later.
>> This sounds like it's possible for server to return NIL even when the LAZY modifier isn't specified. Is this really wanted? I'd think client developers would prefer that only LAZY can return NILs. Either way, it's not clearly enough specified what is intended.
> I was originally going to agree with Timo ... but then I remember we added this part as a direct response to a potential DoS situation - what happens if preview requests are (subjectively) taking too much time.

I don't really see why this would be an issue. IMAP protocol doesn't have this kind of a special "DoS-prevention feature" anywhere else. Especially now that the preview is always text, I don't think it can be excessively slow to generate it. At least in Dovecot's implementation it's basically as expensive as fetching BODYSTRUCTURE, and we don't have DoS prevention against fetching those. Maybe in theory if server wanted to analyze attachments in some way .. but is it really worth the added complexity for a problem that probably will remain theoretical?

FETCH is also good in that it returns the results after each mail. So the server is allowed to start throttling the responses to the client without actually failing it.