Re: [sieve] I-D Action: draft-ietf-sieve-imap-sieve-08.txt

Stephan Bosch <stephan@rename-it.nl> Tue, 11 September 2012 08:52 UTC

Return-Path: <stephan@rename-it.nl>
X-Original-To: sieve@ietfa.amsl.com
Delivered-To: sieve@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E3BD321F856F for <sieve@ietfa.amsl.com>; Tue, 11 Sep 2012 01:52:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.096
X-Spam-Level:
X-Spam-Status: No, score=0.096 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_NL=0.55, HOST_EQ_NL=1.545, J_CHICKENPOX_45=0.6]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 30K+QKKjapoM for <sieve@ietfa.amsl.com>; Tue, 11 Sep 2012 01:52:26 -0700 (PDT)
Received: from drpepper.rename-it.nl (drpepper.rename-it.nl [217.119.238.16]) by ietfa.amsl.com (Postfix) with ESMTP id C227D21F87BA for <sieve@ietf.org>; Tue, 11 Sep 2012 01:52:24 -0700 (PDT)
Received: from klara.student.utwente.nl ([130.89.162.218]:62105 helo=[10.168.3.2]) by drpepper.rename-it.nl with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <stephan@rename-it.nl>) id 1TBMCY-0000PM-2f; Tue, 11 Sep 2012 10:52:21 +0200
Message-ID: <504EFB8F.7000806@rename-it.nl>
Date: Tue, 11 Sep 2012 10:51:27 +0200
From: Stephan Bosch <stephan@rename-it.nl>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120824 Thunderbird/15.0
MIME-Version: 1.0
To: sieve@ietf.org
References: <20120910211613.16818.36778.idtracker@ietfa.amsl.com>
In-Reply-To: <20120910211613.16818.36778.idtracker@ietfa.amsl.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-RenameIT-MailScanner-SpamScore: -2.3 (--)
X-RenameIT-MailScanner-SpamCheck: No, score=-2.3 required=5.0 tests=ALL_TRUSTED, BAYES_00 autolearn=ham version=3.3.1
Cc: Barry Leiba <barryleiba@computer.org>
Subject: Re: [sieve] I-D Action: draft-ietf-sieve-imap-sieve-08.txt
X-BeenThere: sieve@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIEVE Working Group <sieve.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sieve>, <mailto:sieve-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sieve>
List-Post: <mailto:sieve@ietf.org>
List-Help: <mailto:sieve-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sieve>, <mailto:sieve-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 11 Sep 2012 08:52:28 -0000

On 9/10/2012 11:16 PM, internet-drafts@ietf.org wrote:
> A New Internet-Draft is available from the on-line Internet-Drafts directories.
>   This draft is a work item of the Sieve Mail Filtering Language Working Group of the IETF.
>
> 	Title           : Support for Internet Message Access Protocol (IMAP) Events in Sieve
> 	Author(s)       : Barry Leiba
> 	Filename        : draft-ietf-sieve-imap-sieve-08.txt
> 	Pages           : 23
> 	Date            : 2012-09-10
>
> Abstract:
>     Sieve defines an email filtering language that can, in principle,
>     plug into any point in the processing of an email message.  As
>     defined in the base specification, it plugs into mail delivery.  This
>     document defines how Sieve can plug into points in the IMAP protocol
>     where messages are created or changed, adding the option of user-
>     defined or installation-defined filtering (or, with Sieve extensions,
>     features such as notifications).  Because this requires future Sieve
>     extensions to specify their interactions with this one, this document
>     updates the base Sieve specification, RFC 5228.

There is no changelog in the document, so I wondered what changed and 
therefore I read it again. Rather than finding out what had changed, I 
noticed a few other things:

#1) The final paragraph of Section 2.1 lists a few IMAP and Sieve 
capabilities for which support is required: IMAP "METADATA" and Sieve 
"environment". I would expect this Section to list all such 
dependencies, but apparently it does not. Section 3.8 adds the Sieve 
imap4flags extension as a requirement. Yet, section 4.5 suggests that it 
is optional again. So what is it?

#2) Section 2.2.2 suggests that there is a MULTIAPPEND command for IMAP. 
There is no such thing: it is an IMAP capability that extends APPEND to 
accept multiple messages at once. I would merge this with the previous 
section:

--
2.2.1. The IMAP APPEND Command

    A message may be added to a mailbox through the IMAP APPEND command.
    In a server that advertises "imapsieve", new messages added in this
    way MUST trigger the execution of a Sieve script, subject to the
    settings defined through Metadata (see Section 2.3.1).

    If the IMAP server supports the IMAP MultiAppend extension [RFC3502],
    multiple messages may be added to a mailbox through a single APPEND
    command.  In a server that advertises "imapsieve", new messages added
    in this way MUST each individually trigger the execution of a Sieve 
script.
--

This also stresses the fact that each individual message triggers the 
Sieve script. At other places in the document MULTIAPPEND is listed as a 
separate command, but there it would suffice to just remove it.


I also gave the issue of useless script triggers, i.e. events that are 
never of interest for the script involved, some more thought. For 
example, I would hate to have my Sieve script executed for each message 
that I read (added \Seen flag) while it doesn't do anything useful with 
that event. Wouldn't it be useful to have a `/shared/imapsieve/cause' 
Metadata item that indicates which causes (the items from Section 7.3.1 
in a space-separated list) should trigger the Sieve script? More 
detailed control could be used to select specific flags that are 
relevant (e.g. in a '/share/imapsieve/changedflags' Metatada item).

Regards,

Stephan.