Re: [Extra] Review: draft-ietf-extra-imap4rev2-11

Alexey Melnikov <alexey.melnikov@isode.com> Fri, 07 February 2020 17:04 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 47E4312084E for <extra@ietfa.amsl.com>; Fri, 7 Feb 2020 09:04:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8fdSdT55afaY for <extra@ietfa.amsl.com>; Fri, 7 Feb 2020 09:04:37 -0800 (PST)
Received: from waldorf.isode.com (waldorf.isode.com [62.232.206.188]) by ietfa.amsl.com (Postfix) with ESMTP id F37AC12088E for <extra@ietf.org>; Fri, 7 Feb 2020 09:04:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1581095075; d=isode.com; s=june2016; i=@isode.com; bh=8qyEBibAnpM0BQCJwiTamfeh6r37tUl4xjP+jahiA7k=; 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=c49W2gD5/+EJnINVXIsIF84MdnwpeXN1DV7p/yepVOkMw/kogwSLP17GN8Et+srj5qt7Bk qvaQE0yGiwyuiKPuuZKIlWNzr9nivQ+qVC5K8y/Rzx7nUs+81bXDANJotkrqLFajFJk2eg gDxZd/U3ycKKPrevcw2YzwfJTa0UL24=;
Received: from [172.20.1.215] (dhcp-215.isode.net [172.20.1.215]) by waldorf.isode.com (submission channel) via TCP with ESMTPSA id <Xj2YowBD4A2w@waldorf.isode.com>; Fri, 7 Feb 2020 17:04:35 +0000
From: Alexey Melnikov <alexey.melnikov@isode.com>
To: Bron Gondwana <brong@fastmailteam.com>, extra@ietf.org
Cc: Barry Leiba <barryleiba@computer.org>
References: <9fdfa8e8-147d-4248-a0c1-48de171ac675@dogfood.fastmail.com>
Message-ID: <cf5e3b1d-29fd-2b58-a2a8-6ade6d7ac307@isode.com>
Date: Fri, 07 Feb 2020 17:04:16 +0000
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.3.1
In-Reply-To: <9fdfa8e8-147d-4248-a0c1-48de171ac675@dogfood.fastmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="------------8D5D4813768B93B738B03B0D"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/extra/J-D5HZSIumH9TnBCQhJOc0EiC5I>
Subject: Re: [Extra] Review: draft-ietf-extra-imap4rev2-11
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: Fri, 07 Feb 2020 17:04:39 -0000

Hi Bron,

Replying to issues raised not covered by my reply to Timo:

On 29/01/2020 12:08, Bron Gondwana wrote:
> Sorry about the delay in doing this!   I was supposed to be doing the 
> shepherding write-up, and so I figured I should read it properly.
>
> I've had a full read through over some very many days (I admit, I 
> skimmed through the ABNF) and I have comments.  It's long, and 
> hopefully comprehensive - though I'm sure I missed things.
>
>
> *2.1 Link level
> *
>
> Is it appropriate to mention TLS on 993 here?  It's mentioned deep 
> within the document, but not here.
Done.
> *2.3.2 Flags Message Attribute
> *
>
> formatting issue: $Forwarded is duplicated 3 times and $MDNSent is 
> duplicated twice in the plain-text format.

This is actually a bug in TXT rendering from XML.

  [snip]

> *6.3.1 ENABLE command
> *
>
> The example shows a conversation with an imap4rev1 only server.
Fixed.
> The examples don't clearly show that only the newly enabled responses 
> are correct, e.g. the sequence:
>
> C1 ENABLE CONDSTORE
> * ENABLED CONDSTORE
> C1 OK foo
> C2 ENABLE CONDSTORE QRESYNC
> * ENABLED QRESYNC
> C2 OK foo
>
> The second doesn't say "ENABLED CONDSTORE" because it was already 
> enabled earlier on this connection.

Actually, it is perfectly Ok for the server to return in response to C2:

* ENABLED QRESYNC CONDSTORE

The text in the document wasn't entirely clear. It was trying to say 
that the preferred server behaviour is:

L1 ENABLE A B
* ENABLED A B
L1 OK foo

L2 ENABLE C
* ENABLED C
L2 OK foo

and not

L2 ENABLE C
* ENABLED A B C
L2 OK foo

I clarified this.
>
> (AKA: clients MUST remember what they have enabled)
>
> *6.3.2 SELECT command
> *
>
> The [UIDNEXT <n>] response is duplicated with two different pieces of 
> text.
Again, this is a tool issue.
> /When deselecting a selected mailbox, the server MUST return an 
> untagged OK response with the "[CLOSED]" response code when the 
> currently selected mailbox *is closed (see Paragraph 10). */*- I'm not 
> sure where "Paragraph 10" is.**
> *
I will check. I think the section reference for response codes is missing.
> The last paragraph of this section has the word "deprecated" spelled 
> as "depractated".
Fixed.
>
> *6.3.7 SUBSCRIBE
> *
>
> Speak of the devil.  Lots of sites violate the MUST NOT unilaterally 
> remove rule.  Should we weaken it to SHOULD?
Done.
>   The justification for the MUST is "the server site might choose to 
> do X" - well, if the server site is doing that, then maybe they 
> SHOULDN'T unilaterally remove the subscriptions, but otherwise it's a 
> better user experience and what people want.
>
> (also: by enabling a non-default break the rules config, it's what our 
> server does!)
>
> *6.3.8 UNSUBSCRIBE*
>
> /This command returns a tagged OK response only if the unsubscription 
> is successful. /- this is not clear on what happens if the mailbox is 
> not currently subscribed - does it silently succeed, or is there an 
> expected error?
>
> For what it's worth, our server just says "OK Completed" even if it's 
> already been unsubscrbed - and likewise for subscribe if it's already 
> subscribed it just say "yep, all good".
I agree that your server behaviour is sensible. Updated description of 
both SUBSCRIBE and UNSUBSCRIBE.
>
> . create INBOX.foo
> . OK [MAILBOXID (7eca8f55-e233-4458-9d48-af854fb4b279)] Completed
> . subscribe INBOX.foo
> . OK Completed
> . unsubscribe INBOX.foo
> . OK Completed
> . unsubscribe INBOX.foo
> . OK Completed
> . subscribe INBOX.foo
> . OK Completed
> . subscribe INBOX.foo
> . OK Completed
>
>
> *6.3.9 LIST
> *
>
> There's a weird line wrapping near the top of page 44 where a 
> paragraph is split in half:
>
>     The reference and mailbox name arguments are interpreted into a
>     canonical form that represents an unambiguous left-to-right
>     hierarchy.  The returned mailbox names will be in the interpreted
>     form,
>
>     that we call "canonical LIST pattern" later in this document.  To
>     define the term "canonical LIST pattern" formally: it refers to the
>     canonical pattern constructed internally by the server from the
>     reference and mailbox name arguments.
I will double check, but I think it is another rendering issue to TXT 
format (there is a comment in bettween 2 parts of the sentence.
>
> *6.3.9.2 LIST Return Options
> *
>
> The CHILDREN item is duplicated with two different pieces of text.

Again, a rendering issue. These are actually 2 separate paragraphs under 
the same item.


> *6.4.4 SEARCH
> *
>
>     For example,
>     the criteria DELETED FROM "SMITH" SINCE 1-Feb-1994 refers to all
>     deleted messages from Smith that were placed in the mailbox since
>     February 1, 1994.
>
> That's not strictly true - SAVEDATE would be "placed in the mailbox".  
> The wording should say "with INTERNALDATE greater than February 1, 
> 1994" or so.

Good point. Fixed.


> *6.4.4.1 SAVE Result
> *
>
> I'm not sure I understand the interaction here with closing and 
> re-opening a mailbox.  I would expect that closing a mailbox would 
> wipe the SAVED result, and that trying to use a SAVED result when 
> there isn't one should return an error.
I think Timo explained this well in his response.

  [snip]

>
> *7.1 Status Responses
> *
>
> Using 'o' as a tag in the ALREADYEXISTS item is confusing, it looks 
> like an attempt to do dot points!
Changed :-).

  [snip]

Best Regards,

Alexey