
From nobody Sun Dec  3 15:58:44 2017
Return-Path: <jeff.sipek@dovecot.fi>
X-Original-To: imapext@ietfa.amsl.com
Delivered-To: imapext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DBA8E126557 for <imapext@ietfa.amsl.com>; Sun,  3 Dec 2017 15:58:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level: 
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-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 vrm71xa4hFWj for <imapext@ietfa.amsl.com>; Sun,  3 Dec 2017 15:58:41 -0800 (PST)
Received: from mail.dovecot.fi (wursti.dovecot.fi [94.237.32.243]) by ietfa.amsl.com (Postfix) with ESMTP id 20740120727 for <imapext@ietf.org>; Sun,  3 Dec 2017 15:58:41 -0800 (PST)
Received: from meili (josefsipek.net [71.174.113.7]) by mail.dovecot.fi (Postfix) with ESMTPSA id F201D284420 for <imapext@ietf.org>; Mon,  4 Dec 2017 01:58:38 +0200 (EET)
Date: Sun, 3 Dec 2017 18:58:35 -0500
From: Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>
To: imapext@ietf.org
Message-ID: <20171203235834.GB1632@meili>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.8.3 (2017-05-23)
Archived-At: <https://mailarchive.ietf.org/arch/msg/imapext/vulZLtp-hqPpaBuhc-g-x0mX290>
Subject: [imapext] Registering $hasAttachment & $hasNoAttachment
X-BeenThere: imapext@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussion of IMAP extensions <imapext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imapext>, <mailto:imapext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/imapext/>
List-Post: <mailto:imapext@ietf.org>
List-Help: <mailto:imapext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imapext>, <mailto:imapext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 03 Dec 2017 23:58:43 -0000

I'm hoping to send these off to IANA by the end of the week, but I thought I
should share these and get them reviewed first.

(We are hoping to use these in Dovecot, and as far as I know the folks at
Fastmail have been using these for a while.)

Thanks,

Jeff.

---
Subject Registration of IMAP keyword $hasAttachment

IMAP keyword name: $hasAttachment

Purpose (description):
Many mail user agents display a hint to the user that a particular email
contains attachments.  Without any help of the server, the user agent needs
to fetch at least a part of the email to determine whether or not the email
contains an attachment.  This is not only wasteful of system resources, but
it also causes a perceivable delay in displaying the mailbox contents to the
user.

The $hasAttachment keyword can be used by the delivery agent to mark a
message as containing an attachment.  The mail user agent can then
efficiently check for the presence of this keyword and convey the
information to the user in whatever way is appropriate.

Private or Shared on a server: BOTH

Is it an advisory keyword or may it cause an automatic action: ADVISORY

When/by whom the keyword is set/cleared:
This keyword can be set by either a delivery agent (through an internal
mechanism) or an email client (using the normal IMAP protocol).  The client
must be able to set or clear $hasAttachment at any time.  The keyword should
be set when the delivery agent or a client has determined that the email
contains an attachment.  If the email does not contain any attachments,
$hasAttachment should be cleared and $hasNoAttachment should be set instead
(see note).

Related keywords: $hasNoAttachment

Related IMAP capabilities: None

Security considerations: None

Published specification (recommended):

Person & email address to contact for further information:
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

Intended usage: COMMON

Owner/Change controller: IESG

Note:
$hasAttachment and $hasNoAttachment are mutually exclusive.  If more than
one of them is set for a message, the email client MUST treat this as if
neither of them is set and SHOULD remove both of them from the IMAP server.

The exact meaning of "has an attachment" is left up to the implementors.
The consequences of implementations disagreeing on what constitutes an
attachment are minor, given that $hasAttachment is intended as only a hint
to the user in the UI.
---
Subject Registration of IMAP keyword $hasNoAttachment

IMAP keyword name: $hasNoAttachment

Purpose (description):
Many mail user agents display a hint to the user that a particular email
contains attachments.  Without any help of the server, the user agent needs
to fetch at least a part of the email to determine whether or not the email
contains an attachment.  This is not only wasteful of system resources, but
it also causes a perceivable delay in displaying the mailbox contents to the
user.

The $hasNoAttachment keyword can be used by the delivery agent to mark a
message as *not* containing an attachment.  The mail user agent can then
efficiently check for the presence of this keyword and convey the
information to the user in whatever way is appropriate.

Private or Shared on a server: BOTH

Is it an advisory keyword or may it cause an automatic action: ADVISORY

When/by whom the keyword is set/cleared:
This keyword can be set by either a delivery agent (through an internal
mechanism) or an email client (using the normal IMAP protocol).  The client
must be able to set or clear $hasNoAttachment at any time.  The keyword
should be set when the delivery agent or a client has determined that the
email does not contain any attachments.  If the email contains an
attachment, $hasNoAttachment should be cleared and $hasAttachment should be
set instead (see note).

Related keywords: $hasAttachment

Related IMAP capabilities: None

Security considerations: None

Published specification (recommended):

Person & email address to contact for further information:
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

Intended usage: COMMON

Owner/Change controller: IESG

Note:
$hasAttachment and $hasNoAttachment are mutually exclusive.  If more than
one of them is set for a message, the email client MUST treat this as if
neither of them is set and SHOULD remove both of them from the IMAP server.

The exact meaning of "has an attachment" is left up to the implementors.
The consequences of implementations disagreeing on what constitutes an
attachment are minor, given that $hasNoAttachment is intended as only a hint
to the user in the UI.
---


From nobody Sun Dec  3 16:21:52 2017
Return-Path: <neilj@fastmailteam.com>
X-Original-To: imapext@ietfa.amsl.com
Delivered-To: imapext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A8BC81242F5 for <imapext@ietfa.amsl.com>; Sun,  3 Dec 2017 16:21:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.72
X-Spam-Level: 
X-Spam-Status: No, score=-2.72 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-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=CjgLltH3; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=U8yvf3LX
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 Itw96113E3Mz for <imapext@ietfa.amsl.com>; Sun,  3 Dec 2017 16:21:48 -0800 (PST)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9E99512426E for <imapext@ietf.org>; Sun,  3 Dec 2017 16:21:48 -0800 (PST)
Received: from betaweb1.internal (betaweb1.nyi.internal [10.202.2.10]) by mailout.nyi.internal (Postfix) with ESMTP id EC30520AF2 for <imapext@ietf.org>; Sun,  3 Dec 2017 19:21:47 -0500 (EST)
Received: from betaweb1 ([::ffff:10.202.2.10]) by betaweb1.internal (MEProxy); Sun, 03 Dec 2017 19:21:47 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=content-transfer-encoding:content-type:date :from:in-reply-to:message-id:mime-version:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=1Ht+fgc8jErPM1Ikp yb6cZmMV/l8JUiHa++o5uda26s=; b=CjgLltH379lQZ9bs/4JMogUrgyzdN3w85 crD6ZocrEW4sHG7cORJOeilOfyUDW/93szZdKsI/zSTjtHvKLhoe9hXMsm1aBcHA oL3KGFzOmV6RhxXcHdzBK4B5qQOZmeuE5uNfvHwQGs/ora9JviI2U6TlkdKKUHko CtMocZgqoNbkOOxNkdQ+15DsroKVDOzsCbQ3hSIpBmb8QEer+TMQKie3LS05dceG MXHJUq0Ad+t2UT91KytdDhftCRE5fpNKENYzNNMcJ+f5sFlrdOlzFkyMFGZynHI/ WHyMu5Q9vCgSY0pQKNsY2MVGkn1m8QsqDuCkTa8fFlUswyWg09pww==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=1Ht+fg c8jErPM1Ikpyb6cZmMV/l8JUiHa++o5uda26s=; b=U8yvf3LXhyxskT7HNGpfjx RwDzFU4zzspfGOosWcv6zBTtWqB87wFQhSJoWyz1nFUDkJoRl1dzCUDy+TrQGKVv syWVCTz8B2e95ce/L8WsDqZJinRanRnbwnqEAkXzhcqFDDJ8Hw+Q6h7zarXZZ+8m 95Tl0i6wYOv81peFU8nfM87QPABvRJa9uBm+x3+eXl9XYxTUfCLG33iqeicFfAbw vAYT1gXzFGRRyh8oZXk8SW3/W55Keojss0fqrm3mipz1XjMqrav1xoJVa/ZoOCS6 0Gp5uDzewlGRuu7pFu+d7yyRTMzyYehuwovrA6kuWPFvUn+7nVhNSpFzdUjzYrXA ==
X-ME-Sender: <xms:G5UkWu1Go3uhZPb24NMtxsd0ZL3CzjDD47kh1s1p0tEJfFaiH5MOuw>
Received: by mailuser.nyi.internal (Postfix, from userid 99) id AB321E25A3; Sun,  3 Dec 2017 19:21:47 -0500 (EST)
Message-Id: <1512346907.3913979.1192707160.32EA0EE2@webmail.messagingengine.com>
From: Neil Jenkins <neilj@fastmailteam.com>
To: imapext@ietf.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: multipart/alternative; boundary="_----------=_151234690739139790"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-c2671619
In-Reply-To: <20171203235834.GB1632@meili>
References: <20171203235834.GB1632@meili>
Date: Mon, 04 Dec 2017 11:21:47 +1100
Archived-At: <https://mailarchive.ietf.org/arch/msg/imapext/eV3iKL-DLQD1w-wQC_ZlPHFSRfg>
Subject: Re: [imapext] Registering $hasAttachment & $hasNoAttachment
X-BeenThere: imapext@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussion of IMAP extensions <imapext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imapext>, <mailto:imapext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/imapext/>
List-Post: <mailto:imapext@ietf.org>
List-Help: <mailto:imapext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imapext>, <mailto:imapext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Dec 2017 00:21:51 -0000

This is a multi-part message in MIME format.

--_----------=_151234690739139790
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="utf-8"

On Mon, 4 Dec 2017, at 10:58 AM, Josef 'Jeff' Sipek wrote:
> IMAP keyword name: $hasAttachment

We're using $HasAttachment (capital H) at FastMail. Please can we
standardise on this capitalisation? This is consistent with the other
IMAP keyword registrations too.
> Note:
> $hasAttachment and $hasNoAttachment are mutually exclusive.  If
> more than> one of them is set for a message, the email client MUST treat
> this as if> neither of them is set and SHOULD remove both of them from the IMAP
> server.

Surely it SHOULD remove the one that is incorrect rather than both?

Neil.

--_----------=_151234690739139790
Content-Transfer-Encoding: 7bit
Content-Type: text/html; charset="utf-8"

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style>
</head>
<body><div>On Mon, 4 Dec 2017, at 10:58 AM, Josef 'Jeff' Sipek wrote:<br></div>
<blockquote type="cite"><div>IMAP keyword name: $hasAttachment<br></div>
</blockquote><div><br></div>
<div>We're using&nbsp;$HasAttachment (capital H) at FastMail. Please can we standardise on this capitalisation? This is consistent with the other IMAP keyword registrations too.<br></div>
<div><br></div>
<blockquote type="cite"><div>Note:<br></div>
<div>$hasAttachment and $hasNoAttachment are mutually exclusive.&nbsp; If more than<br></div>
<div>one of them is set for a message, the email client MUST treat this as if<br></div>
<div>neither of them is set and SHOULD remove both of them from the IMAP<br></div>
<div>server.<br></div>
</blockquote><div><br></div>
<div>Surely it SHOULD remove the one that is incorrect rather than both?<br></div>
<div><br></div>
<div>Neil.<br></div>
</body>
</html>

--_----------=_151234690739139790--


From nobody Sun Dec  3 17:53:54 2017
Return-Path: <jeff.sipek@dovecot.fi>
X-Original-To: imapext@ietfa.amsl.com
Delivered-To: imapext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DB527127201 for <imapext@ietfa.amsl.com>; Sun,  3 Dec 2017 17:53:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level: 
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-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 soVFqed5hJDz for <imapext@ietfa.amsl.com>; Sun,  3 Dec 2017 17:53:51 -0800 (PST)
Received: from mail.dovecot.fi (wursti.dovecot.fi [94.237.32.243]) by ietfa.amsl.com (Postfix) with ESMTP id 799111201F8 for <imapext@ietf.org>; Sun,  3 Dec 2017 17:53:51 -0800 (PST)
Received: from meili (josefsipek.net [71.174.113.7]) by mail.dovecot.fi (Postfix) with ESMTPSA id AAF6B2B3CD1; Mon,  4 Dec 2017 03:53:49 +0200 (EET)
Date: Sun, 3 Dec 2017 20:53:46 -0500
From: Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>
To: Neil Jenkins <neilj@fastmailteam.com>
Cc: imapext@ietf.org
Message-ID: <20171204015345.GC1632@meili>
References: <20171203235834.GB1632@meili> <1512346907.3913979.1192707160.32EA0EE2@webmail.messagingengine.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1512346907.3913979.1192707160.32EA0EE2@webmail.messagingengine.com>
User-Agent: Mutt/1.8.3 (2017-05-23)
Archived-At: <https://mailarchive.ietf.org/arch/msg/imapext/ZapEFZMl7XeJHdjZZjS1Ze6ISjE>
Subject: Re: [imapext] Registering $hasAttachment & $hasNoAttachment
X-BeenThere: imapext@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussion of IMAP extensions <imapext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imapext>, <mailto:imapext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/imapext/>
List-Post: <mailto:imapext@ietf.org>
List-Help: <mailto:imapext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imapext>, <mailto:imapext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Dec 2017 01:53:53 -0000

On Mon, Dec 04, 2017 at 11:21:47 +1100, Neil Jenkins wrote:
> On Mon, 4 Dec 2017, at 10:58 AM, Josef 'Jeff' Sipek wrote:
> > IMAP keyword name: $hasAttachment
> 
> We're using $HasAttachment (capital H) at FastMail. Please can we
> standardise on this capitalisation? This is consistent with the other
> IMAP keyword registrations too.

Fine by me.

> > Note:
> > $hasAttachment and $hasNoAttachment are mutually exclusive.  If
> > more than> one of them is set for a message, the email client MUST treat
> > this as if> neither of them is set and SHOULD remove both of them from the IMAP
> > server.
> 
> Surely it SHOULD remove the one that is incorrect rather than both?

I basically copied the $Junk/$NotJunk mutual exclusion semantics.  It makes
more sense to do what you suggest - and since it is a SHOULD, the client can
just nuke both keywords (useful if the client doesn't have the whole message
downloaded but finds an inconsistency in keywords).

Jeff.

-- 
Research, n.:
  Consider Columbus:
    He didn't know where he was going.
    When he got there he didn't know where he was.
    When he got back he didn't know where he had been.
    And he did it all on someone else's money.


From nobody Mon Dec  4 02:03:38 2017
Return-Path: <aamelnikov@fastmail.fm>
X-Original-To: imapext@ietfa.amsl.com
Delivered-To: imapext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5C130124207 for <imapext@ietfa.amsl.com>; Mon,  4 Dec 2017 02:03:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.72
X-Spam-Level: 
X-Spam-Status: No, score=-2.72 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_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmail.fm header.b=Ap+7ViGF; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=IyO+AASb
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 08WZm4z2A7AI for <imapext@ietfa.amsl.com>; Mon,  4 Dec 2017 02:03:35 -0800 (PST)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E0584124217 for <imapext@ietf.org>; Mon,  4 Dec 2017 02:03:34 -0800 (PST)
Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 361DB20A90; Mon,  4 Dec 2017 05:03:34 -0500 (EST)
Received: from frontend1 ([10.202.2.160]) by compute7.internal (MEProxy); Mon, 04 Dec 2017 05:03:34 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.fm; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=REbl/8XbDMIgchYx/WcX2Dokt31in cOFDZ9x/wOW2qw=; b=Ap+7ViGFS4jpJUsEmeae4JsjwOgsBbIxXSQyMsk/6E2TV n55c1y4nA/NwvIELTjv1aE5EcpsZ0WaHsOa40isFLQPhw6mq6azaVloVLkUIn8gv +szO8W34di6JwMnQGwNhovfVcVVzLhg/mv3ugt/muOA3mnUQOJ6kDvaKSzjUJzy8 ITgBv/mdAmrZbXwrlf8b+oi6L6nn4JH6+ufOG/xCEzrQol2CB1lfyNSqE2E8h+5C +d9DYBhuK2F2xNvytmQsEJj6Fd782NvCqLMcNYwcNZFSL9xWzoIk6VtqG4M0dXta nxRpVyLOCiJGv8geaXr2NmHGLSCvUGj0logXO8xKg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=REbl/8 XbDMIgchYx/WcX2Dokt31incOFDZ9x/wOW2qw=; b=IyO+AASbbVwk8eGjEXvE2p m6D736FyZLvatt1tDM/IJ5ON7/0kcu2MPipa8n2Pf3XNKOZDx4mmJ3+3Xgq3fVYo D/zlbNn7V27tIgVXNV3W+1xqG1uyqJN0ubsjLsuT9t4A69AtrtaI1nMacNWN2w1T Z28VnxmcgcRcCeVYHko/T/dPLAfZPYi7ogJV1DHQ41WjIZtjrIyzzAWTT7C2uMeA jq9fmBJlRJCl6OtGYbnIdCzZONM8BaGWN2MiLBHrmysuF5gAF3TPc3lbf92r495Y 4umYlljYWLFYadvkvruQG8My8SMdnuH80+zvcOZswU6ZdCxl/1O4ppyXEaDKbaVg ==
X-ME-Sender: <xms:dh0lWr_CMvJeNHQPJLD9p-oKwwRDSXbtoW5OzECmSWdcF6CkhV8cyg>
Received: from [10.235.175.39] (unknown [185.69.145.78]) by mail.messagingengine.com (Postfix) with ESMTPA id DB0007F9A9; Mon,  4 Dec 2017 05:03:33 -0500 (EST)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (1.0)
From: Alexey Melnikov <aamelnikov@fastmail.fm>
X-Mailer: iPhone Mail (13G35)
In-Reply-To: <1512346907.3913979.1192707160.32EA0EE2@webmail.messagingengine.com>
Date: Mon, 4 Dec 2017 10:11:37 +0000
Cc: imapext@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <07DF8C97-28D2-43F0-8975-AACE02D3B919@fastmail.fm>
References: <20171203235834.GB1632@meili> <1512346907.3913979.1192707160.32EA0EE2@webmail.messagingengine.com>
To: Neil Jenkins <neilj@fastmailteam.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/imapext/LsvFFirIttrf2Yho_IFaue1LAIo>
Subject: Re: [imapext] Registering $hasAttachment & $hasNoAttachment
X-BeenThere: imapext@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussion of IMAP extensions <imapext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imapext>, <mailto:imapext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/imapext/>
List-Post: <mailto:imapext@ietf.org>
List-Help: <mailto:imapext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imapext>, <mailto:imapext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Dec 2017 10:03:37 -0000

Hi Neil,

On 4 Dec 2017, at 00:21, Neil Jenkins <neilj@fastmailteam.com> wrote:

>> On Mon, 4 Dec 2017, at 10:58 AM, Josef 'Jeff' Sipek wrote:
>> IMAP keyword name: $hasAttachment
>=20
> We're using $HasAttachment (capital H) at FastMail. Please can we standard=
ise on this capitalisation? This is consistent with the other IMAP keyword r=
egistrations too.

Sure. IMAP keywords are case-insensitive, but I personally prefer capitaliza=
tion.



From nobody Mon Dec  4 02:17:17 2017
Return-Path: <aamelnikov@fastmail.fm>
X-Original-To: imapext@ietfa.amsl.com
Delivered-To: imapext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8C39C126D85 for <imapext@ietfa.amsl.com>; Mon,  4 Dec 2017 02:17:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.72
X-Spam-Level: 
X-Spam-Status: No, score=-2.72 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_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmail.fm header.b=DOstKwpy; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=C0V7xvTe
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 bqR6LwLHQxi6 for <imapext@ietfa.amsl.com>; Mon,  4 Dec 2017 02:17:14 -0800 (PST)
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4C6F6126C25 for <imapext@ietf.org>; Mon,  4 Dec 2017 02:17:14 -0800 (PST)
Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id A48F020C71; Mon,  4 Dec 2017 05:17:13 -0500 (EST)
Received: from frontend1 ([10.202.2.160]) by compute7.internal (MEProxy); Mon, 04 Dec 2017 05:17:13 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.fm; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=ZPAqpwfAh+xIo2XC0lqiIaPdq2GVI ZTQw54k5cSlMhw=; b=DOstKwpy3plBkimnGxBkrognZDHRTZ8ApQWrxlwKsuszX MlL3dSdP1/q0q+k0uD6jesfQ0mv/h/D86KNJ3S6v05cz3qt/eoMD/SbFTiBzRKMZ JjCUFwgQiadMLsrawAxdNgCciLwoZ0Gzhuv2VTjgOLlis42lAU+lMqWkjVXvMLJP fdWiHgNt94X6FFS5JVQ4iBJTlMgBDoWsuXuhKGCsoZK3Zw1MiVcEJvkB17TA9xkL YTFDLUsr5FBHGoOZosgtmyV4ge3RUpMWpxuLz8t/Ms2+P8zZs/F0NLIrvcjD5Q1D 4toYNw40Fq+bTnmLoC1OV0luRGbRObpy0CHNzhOAg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=ZPAqpw fAh+xIo2XC0lqiIaPdq2GVIZTQw54k5cSlMhw=; b=C0V7xvTeSUIsAv9UGsfWpi BBFwgBz20Ss2BcaTbv28Or9E7ODbrVoQLBzYExUNXxzE7H8yigPi/9UMFpa2UvKy 1MnPahCcd5uEbgHYbK5i2zXjxctd+B5gqSQb1QmKoDe1Vrz3Jopj+PvRoJDeoj0C qTzD+xr9f+UsYhqNiRL8sKKAP3NNzaj8rFCfOkR+K8ZXzvAezhWbOhY8xCakcN4u yvcV7Z0hAFihNbqrZ8CA+Fc101lqmtqBtX+ToTYZ4ndXJgC58d2D76WBGesa8Dbv 5Y0stIRyrpmZ4C5kwTp/ECeo4ANbKHmIgE/y26x2k4tbUPxQlnnshm97C0S5UiEQ ==
X-ME-Sender: <xms:qSAlWoNlbjNumqW0ArPASMAZSBqpVPrrNBVIwu2TDLInyyjskfoCbg>
Received: from [172.22.50.48] (unknown [62.232.206.186]) by mail.messagingengine.com (Postfix) with ESMTPA id 507847F9A9; Mon,  4 Dec 2017 05:17:13 -0500 (EST)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (1.0)
From: Alexey Melnikov <aamelnikov@fastmail.fm>
X-Mailer: iPhone Mail (13G35)
In-Reply-To: <1512346907.3913979.1192707160.32EA0EE2@webmail.messagingengine.com>
Date: Mon, 4 Dec 2017 10:25:16 +0000
Cc: imapext@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <3A29C592-4FAE-49DB-B6D9-1AC5F3CC42A8@fastmail.fm>
References: <20171203235834.GB1632@meili> <1512346907.3913979.1192707160.32EA0EE2@webmail.messagingengine.com>
To: Neil Jenkins <neilj@fastmailteam.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/imapext/pW-dT3s-nGtkiuLbaAlEeRJBlZ0>
Subject: Re: [imapext] Registering $hasAttachment & $hasNoAttachment
X-BeenThere: imapext@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussion of IMAP extensions <imapext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imapext>, <mailto:imapext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/imapext/>
List-Post: <mailto:imapext@ietf.org>
List-Help: <mailto:imapext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imapext>, <mailto:imapext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Dec 2017 10:17:15 -0000

Hi,

> On 4 Dec 2017, at 00:21, Neil Jenkins <neilj@fastmailteam.com> wrote:
>=20
>> On Mon, 4 Dec 2017, at 10:58 AM, Josef 'Jeff' Sipek wrote:
>> IMAP keyword name: $hasAttachment
>=20
> We're using $HasAttachment (capital H) at FastMail. Please can we standard=
ise on this capitalisation? This is consistent with the other IMAP keyword r=
egistrations too.
>=20
>> Note:
>> $hasAttachment and $hasNoAttachment are mutually exclusive.  If more than=

>> one of them is set for a message, the email client MUST treat this as if
>> neither of them is set and SHOULD remove both of them from the IMAP
>> server.
>=20
> Surely it SHOULD remove the one that is incorrect rather than both?

I think everything after "and SHOULD" can be deleted. As presence of both me=
ans neither is present, both what is written above and what you suggest is a=
 reasonable course of action.

Best Regards,
Alexey=


From nobody Mon Dec  4 05:22:32 2017
Return-Path: <jeff.sipek@dovecot.fi>
X-Original-To: imapext@ietfa.amsl.com
Delivered-To: imapext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 865021243F6 for <imapext@ietfa.amsl.com>; Mon,  4 Dec 2017 05:22:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level: 
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-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 j9J4JdeY-asF for <imapext@ietfa.amsl.com>; Mon,  4 Dec 2017 05:22:29 -0800 (PST)
Received: from mail.dovecot.fi (wursti.dovecot.fi [94.237.32.243]) by ietfa.amsl.com (Postfix) with ESMTP id C2D411200B9 for <imapext@ietf.org>; Mon,  4 Dec 2017 05:22:28 -0800 (PST)
Received: from meili (josefsipek.net [71.174.113.7]) by mail.dovecot.fi (Postfix) with ESMTPSA id 5A6112B3CD2; Mon,  4 Dec 2017 15:22:27 +0200 (EET)
Date: Mon, 4 Dec 2017 08:22:26 -0500
From: Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>
To: Alexey Melnikov <aamelnikov@fastmail.fm>
Cc: Neil Jenkins <neilj@fastmailteam.com>, imapext@ietf.org
Message-ID: <20171204132225.GD1632@meili>
References: <20171203235834.GB1632@meili> <1512346907.3913979.1192707160.32EA0EE2@webmail.messagingengine.com> <3A29C592-4FAE-49DB-B6D9-1AC5F3CC42A8@fastmail.fm>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3A29C592-4FAE-49DB-B6D9-1AC5F3CC42A8@fastmail.fm>
User-Agent: Mutt/1.8.3 (2017-05-23)
Archived-At: <https://mailarchive.ietf.org/arch/msg/imapext/2Sj0-r3TgQhSANVBPBk1xgwn_lg>
Subject: Re: [imapext] Registering $hasAttachment & $hasNoAttachment
X-BeenThere: imapext@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussion of IMAP extensions <imapext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imapext>, <mailto:imapext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/imapext/>
List-Post: <mailto:imapext@ietf.org>
List-Help: <mailto:imapext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imapext>, <mailto:imapext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Dec 2017 13:22:30 -0000

On Mon, Dec 04, 2017 at 10:25:16 +0000, Alexey Melnikov wrote:
> > On 4 Dec 2017, at 00:21, Neil Jenkins <neilj@fastmailteam.com> wrote:
> >> On Mon, 4 Dec 2017, at 10:58 AM, Josef 'Jeff' Sipek wrote:
...
> >> Note:
> >> $hasAttachment and $hasNoAttachment are mutually exclusive.  If more than
> >> one of them is set for a message, the email client MUST treat this as if
> >> neither of them is set and SHOULD remove both of them from the IMAP
> >> server.
> > 
> > Surely it SHOULD remove the one that is incorrect rather than both?
> 
> I think everything after "and SHOULD" can be deleted. As presence of both
> means neither is present, both what is written above and what you suggest
> is a reasonable course of action.

Right.  Dropping the SHOULD would leave it least constrained.  Suggesting
that either they both get dropped, or that only the correct one remains is
an additional (but very weak) "constraint".

So, the options are:

1. remove the SHOULD completely
2. use SHOULD remove both keywords
3. use SHOULD keep only correct keyword

The $Junk & $NotJunk IANA registration texts [1,2] use option #2.

Finally, I received a suggestion off-list to possibly add something like:

	Whenever a client sets $HasAttachment, the server MAY assist by
	automatically clearing $HasNoAttachment. (and vice versa)


All three options are fine by me (either with or without the server MAY
addition).  I think I have a slight preference for #1 just because it merely
resolves the invalid state.  Once resolved (by ignoring both keywords), the
email is a known state and the client can proceed as normal - whatever that
may be.

Jeff.

[1] https://www.iana.org/assignments/imap-keywords/junk/junk-template
[2] https://www.iana.org/assignments/imap-keywords/notjunk/notjunk-template

-- 
The obvious mathematical breakthrough would be development of an easy way to
factor large prime numbers.
		- Bill Gates, The Road Ahead, pg. 265

