Re: [Extra] Review: draft-ietf-extra-imap-uidonly

Bron Gondwana <brong@fastmailteam.com> Fri, 03 March 2023 16:14 UTC

Return-Path: <brong@fastmailteam.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 B159BC14F730 for <extra@ietfa.amsl.com>; Fri, 3 Mar 2023 08:14:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.097
X-Spam-Level:
X-Spam-Status: No, score=-7.097 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, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-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 (2048-bit key) header.d=fastmailteam.com header.b="VfVRC9uW"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="JWxKLmeF"
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 weSh8WDiFUyT for <extra@ietfa.amsl.com>; Fri, 3 Mar 2023 08:14:05 -0800 (PST)
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CE145C14CF0D for <extra@ietf.org>; Fri, 3 Mar 2023 08:14:05 -0800 (PST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 67F383200962; Fri, 3 Mar 2023 11:14:04 -0500 (EST)
Received: from imap43 ([10.202.2.93]) by compute3.internal (MEProxy); Fri, 03 Mar 2023 11:14:04 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=cc:content-type:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1677860044; x= 1677946444; bh=imYlIQ32XQU1tHvor8P7Vsab7OyngggUrCWoZRPAiTA=; b=V fVRC9uWnbEY4Lr9vW8WxxzqlJWjZVxOP5xLkphmsQy2LuzYprU0RE7MyK+O4EP5r IyksiOKZpM1LYLd5XWPBbFH9paidC7q02G96edJruBYfwKaceGmkI1Ulyf7HH6Gn yHWSlgAZx+g4G+EXa3ZpjNkCmrMbBbuWEPAunRLn3jomQ758/J+k2FevaBjJwr/p K9hafbLqlguqYyt/W5umHpeLNoG+AVY/IGG1aBPQmxUQW0I3PU9397at3O4XuVLJ HBTC5wardx/TRL4zRUMDyQ4IRJPVdC0KCO42UuWgI1Fgr4ShRDiBh9ULIeAJv7VR EkjFzPr2o2GIElhpuUnig==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1677860044; x=1677946444; bh=imYlIQ32XQU1t Hvor8P7Vsab7OyngggUrCWoZRPAiTA=; b=JWxKLmeFwLMc9osPKJEK0TBrl9teK rM+6ot/vR1DfLadafXWh08YEwcy5WKHqHlezPEuzwXgkjDZf8LeBrG50F3NCiFxF DZ+ciKlCa+BrkATdxZL6mQs6m8IZfHk76HtjgpN4U1GeSw6gAW9otCdNGRi/PMX6 dUNm+DIKCoFAhEO0TVYUkbzpGSEHEZxkJOc+dDxQnchlg2QRqhs4DIS2xBRTl4bp VvQfAscVCpqdm/EVwYvM77VeUTtRjRDSa45vgKk255DXD5kLBegf84ZM1LJ7IkaZ 8C54f4nWvWG36+wM8B96QKSNCqZwWJln3dEXfULmQtPNxWyUkd6/Out9g==
X-ME-Sender: <xms:yxwCZLPXRykki1E8dJ_FJDUIU1CtCoj-_REqTXT0EOX1RlezFz1poA> <xme:yxwCZF_FW3pa_-Qb_mxS3DC347KS4k2st1yoLfzo1hXMmiTtJdxhfMwxdMvoLVlJh SRScnYgkFA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudelledgkedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvffutgesrgdtreerreertdenucfhrhhomhepfdeurhho nhcuifhonhgufigrnhgrfdcuoegsrhhonhhgsehfrghsthhmrghilhhtvggrmhdrtghomh eqnecuggftrfgrthhtvghrnhepvdduueeihefgvdehueeujeejuedugfeigfevteefleet feffgfdtjeejgfeuuddvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomhepsghrohhnghesfhgrshhtmhgrihhlthgvrghmrdgtohhm
X-ME-Proxy: <xmx:yxwCZKS7WtkGJUoUhb70jS1waoiCXZ4iMMUqiaoUTXt8CkyqbZUXoA> <xmx:yxwCZPuoSohlHhH1X3sF3xObNMN-wEVXazy5tA76MD6jhO21sQ5rwA> <xmx:yxwCZDc5Q8nODJkdVssn80i-bRCzWF5ZoLncrny3NL4IjQzgUY6ulg> <xmx:zBwCZBql6bzdTH9tbdRBNDLOB5DfpHIBe9Ol-ju51CSEbF3ayfkndA>
Feedback-ID: i2d7042ce:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id C6DC62D4007D; Fri, 3 Mar 2023 11:14:03 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.9.0-alpha0-206-g57c8fdedf8-fm-20230227.001-g57c8fded
Mime-Version: 1.0
Message-Id: <9e8c95fd-825f-4049-90a6-09bf630af4cc@app.fastmail.com>
In-Reply-To: <c5a5927b-b5e5-b947-abda-3fccf3e06851@isode.com>
References: <4d5a68c2-57c9-4ace-8955-a3c5c4cadc05@betaapp.fastmail.com> <c5a5927b-b5e5-b947-abda-3fccf3e06851@isode.com>
Date: Fri, 03 Mar 2023 11:13:50 -0500
From: Bron Gondwana <brong@fastmailteam.com>
To: Alexey Melnikov <alexey.melnikov@isode.com>, extra@ietf.org
Content-Type: multipart/alternative; boundary="15afea3a8c4c4793b6deb87966de163f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/extra/MmgFxX43Zlk0_ZaaN0S-g4LyvPc>
Subject: Re: [Extra] Review: draft-ietf-extra-imap-uidonly
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, 03 Mar 2023 16:14:10 -0000


On Fri, Mar 3, 2023, at 10:10, Alexey Melnikov wrote:
> Hi Bron,
> 
> On 31/01/2023 01:21, Bron Gondwana wrote:
>> I figured I should do an initial review of this document now it's adopted.  It looks good, though there's definitely outstanding questions to respond to.  Here's my responses.
>> 
>> *Abstract**
*
>> 
>> The wording could do with some tightening up.  My idea for a rewrite looks something like:
>> 
>>    The UIDONLY extension to the Internet Message Access Protocol (RFC
>>    3501/RFC 9051) allows clients to enable a mode in which information
>>    about mailbox changes is returned using only UIDs.  Message numbers are
>>    not returned in responses, and can not be used in requests once this
>>    extension is enabled.  This allows both clients and servers to avoid
>>    requiring resources to maintain a map between message numbers and UIDs.
>> 
> I used some of your text, thank you!
>> 
>> *3.2 Changes to FETCH/STORE/SEARCH*
>> 
>> No, this is not too restrictive.  Yes, COPY/MOVE should be restricted in the same way.  They allow MSGNOs, they need to be restricted.  ALSO SEARCH/SORT/THREAD/etc *MUST NOT* have a `<sequence set>` without the UID specifier.
> Ok. I now also mention SORT/THREAD.
>> 
>> *3.3 Changes to UID FETCH/UID STORE*
>> 
>> I would not make this change to not give the UID if requested.  I see the point of UIDFETCH vs FETCH but I'd still allow the UID item to be in the result if explicitly requested rather than ignoring it.
>> 
>> Either make it an error to specify it, or return it so parsers don't need to be quite so smart.
> I am not sure what is the big deal either way?

It's not a huge deal - I guess you're writing new code anyway.

>> **
>> *3.5. Changes to how other mailbox changes are announced***
>> 
>> Regarding interaction with CONDSTORE/QRESYNC - I don't think it's that complex, basically:
>> **
>> *RFC7162 section 3.2.5, the client MUST NOT include a sequence range to UID mapping in the SELECT parameters.*
>> 
>> We should just specify that.  There's nothing else in that document which isn't already covered by removing the msgno versions of FETCH/STORE etc.
> Ok.
>> And with that, I really think this is basically ready to go - unless we want to re-open the debate about having a FETCH response with a zero or random msgno rather than a UIDFETCH response.
> I would rather not :-). I think reusing FETCH is a mistake (in particular 0 FETCH) and will confuse existing client implementations.
> 

I'm good with this.

> UIDFETCH is also a safety net if servers start sending this [by mistake] to clients without UIDONLY being enabled.
> 

Yes, that's a really good point.  Safety net is sensible.

Cheers,

Bron.

--
  Bron Gondwana, CEO, Fastmail Pty Ltd
  brong@fastmailteam.com