Re: [Extra] Eric Rescorla's No Objection on draft-ietf-extra-imap-replace-02: (with COMMENT)

Stuart Brandt <> Wed, 24 October 2018 03:20 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 37638130DD8 for <>; Tue, 23 Oct 2018 20:20:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id bMxG7ftdemFo for <>; Tue, 23 Oct 2018 20:20:07 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id AF97C128CFD for <>; Tue, 23 Oct 2018 20:20:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=a2048; t=1540351206; bh=RFSQ3uuBNO168PftLVYMFODvsrHAuxuYXzyZm1IEu7M=; h=Date:From:To:Subject:References:In-Reply-To:From:Subject; b=A1uHlRTicXMiqUEbhMNuwqJ6ezRwI0kAPnpojVXp9jJo4fc941yIvkymsUrDRn+ygGuc7Z8Tgek5maZryyjP16ZoZ5R2bVoqgWJ/kkBMgWDtrg3UMwuWcMcPMwQf67T66yXzzwtEtDrJkpd1e4HbPllYRHpzgQXiM2cMJ0kL5LeEJgFmoXvct2vKumw7MoYfx/CVgtku/TrOF+7/cg2U/7QTE4EWYpbnhxGpZIC238JrPvIdB5V6j0lA5tbIQEV55VWhXPOnY+rCJxDYujv/KpkZqBwJIK51r8/PSPMsxCB3crqk6PtaE6dUa2N22CVesIbB84vgvwXf0rzjnjDA6w==
X-YMail-OSG: A4TAp0EVM1nWZzbyAswkz2oRA..Dg8x_GYQwlrHZFVRMS4vR_Lr0LrNdrnaHwJR Khj2bWO8PYLAaqOED83gF8uzAe74lWcBJMGhlVR_qMsUj3OXOw54-
Received: from by with HTTP; Wed, 24 Oct 2018 03:20:06 +0000
Received: from (EHLO []) ([]) by (Oath Hermes SMTP Server) with ESMTPA ID 54a702fb6ce1b5119162a1e63cc1ec0e; Wed, 24 Oct 2018 03:06:04 +0000 (UTC)
Message-ID: <>
Date: Tue, 23 Oct 2018 23:05:37 -0400
From: Stuart Brandt <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: Eric Rescorla <>
CC: The IESG <>,,,,
References: <>
In-Reply-To: <>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Archived-At: <>
Subject: Re: [Extra] Eric Rescorla's No Objection on draft-ietf-extra-imap-replace-02: (with COMMENT)
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Email mailstore and eXtensions To Revise or Amend <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 24 Oct 2018 03:20:09 -0000

Thanks, Eric. Comments inline.

On 10/23/2018 8:17 PM, Eric Rescorla wrote:
> Eric Rescorla has entered the following ballot position for
> draft-ietf-extra-imap-replace-02: No Objection
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut this
> introductory paragraph, however.)
> Please refer to
> for more information about IESG DISCUSS and COMMENT positions.
> The document, along with other ballot positions, can be found here:
> ----------------------------------------------------------------------
> ----------------------------------------------------------------------
> Rich version of this review at:
> S 2.
>>       handling a REPLACE command, a server MUST NOT generate a response
>>       code for the STORE +flags \DELETED portion of the sequence.
>>       Additionally, servers supporting the REPLACE command MUST NOT infer
>>       any inheritance of content, flags, or annotations from the message
>>       being replaced.  Finally, the replaced and replacing messages SHOULD
>>       NOT be present in the mailbox at the same time.
> I don't think I understand this text. What would it look like for them
> to be present at the same time.

This wording was a compromise from the original 
draft-brandt-imap-replace-00 that had much stronger language around the 
atomicity of REPLACE.  In discussions just prior to IETF93, the strict 
atomic guarantee was considered a hindrance to adoption by server 
implementors. The "SHOULD NOT" here is intended to *discourage* server 
implementors from allowing clients to discover and therefore act on both 
original and new messages, but acknowledges that in some cases it may be 

To answer your question more directly, it would look like it looks today 
without the REPLACE extension -- 2 independent messages existing 
concurrently for a moment in time along with the potential issues 
highlighted in the Overview section.