Re: [sieve] WGLC: draft-ietf-sieve-imap-sieve-04.txt

Barry Leiba <barryleiba@computer.org> Sat, 16 June 2012 01:50 UTC

Return-Path: <barryleiba@gmail.com>
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 8F17D21F852C for <sieve@ietfa.amsl.com>; Fri, 15 Jun 2012 18:50:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.888
X-Spam-Level:
X-Spam-Status: No, score=-102.888 tagged_above=-999 required=5 tests=[AWL=0.089, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R-wQxo4jCAId for <sieve@ietfa.amsl.com>; Fri, 15 Jun 2012 18:50:15 -0700 (PDT)
Received: from mail-qa0-f42.google.com (mail-qa0-f42.google.com [209.85.216.42]) by ietfa.amsl.com (Postfix) with ESMTP id 5C38821F8533 for <sieve@ietf.org>; Fri, 15 Jun 2012 18:50:14 -0700 (PDT)
Received: by qafi31 with SMTP id i31so48084qaf.15 for <sieve@ietf.org>; Fri, 15 Jun 2012 18:50:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=lUbqp2xRZBGyKtkEl0FT/YWtjVJTwBpnGCN3QAf3Hmk=; b=nGqWzTyklyRqcUy02XdgUQhWCnUidhc18AedKxTugOYI6hj3CdvPAJcFO/5TabH9yP 2G8aAlrSU1IM2fKOg7EIT6cdlE/1N+uqsHWl95Vnw9lRA5n/vc2sGyQmosHxf5Qq1ez6 JWfhcvaSVua2XCTeJMdLCYPwGx1SOd+qAfHOTs1ASQITCGopP4HemOfJDZlZFaMlWzfN HoqlPdeXBTEgTymWr+zFASQnGooiooOPxx2q4FnuxQge/sz8b7O/+y5sf8/omSq4QwkP Csyh8cCDkNT3o5EiBsRHpxA8ZspJbG6T8DpQuI6MsMdPp+NlYZTbddzukf+UfvSr3MTI Xf8w==
MIME-Version: 1.0
Received: by 10.224.200.194 with SMTP id ex2mr14863792qab.58.1339811413800; Fri, 15 Jun 2012 18:50:13 -0700 (PDT)
Sender: barryleiba@gmail.com
Received: by 10.229.245.85 with HTTP; Fri, 15 Jun 2012 18:50:13 -0700 (PDT)
In-Reply-To: <CAEdAYKX5LUC00ztFvOaM05cMXTQ0xr5bDuejHdoVL1CXZXoc=w@mail.gmail.com>
References: <B5057302A66EA30CEE78BCB9@caldav.corp.apple.com> <CAEdAYKX5LUC00ztFvOaM05cMXTQ0xr5bDuejHdoVL1CXZXoc=w@mail.gmail.com>
Date: Fri, 15 Jun 2012 21:50:13 -0400
X-Google-Sender-Auth: hIP-XAsJSrItGouiKxv7xzG7WuA
Message-ID: <CALaySJKjjn2ZghvsNFuqnhsp_89HcBgFKfWThoRz7SJE2_jLVw@mail.gmail.com>
From: Barry Leiba <barryleiba@computer.org>
To: Aaron Stone <aaron@serendipity.cx>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: sieve@ietf.org
Subject: Re: [sieve] WGLC: draft-ietf-sieve-imap-sieve-04.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: Sat, 16 Jun 2012 01:50:16 -0000

Thanks, Aaron, for the review.

> RFC 5464 says:
>   All entries MUST have either "/shared" or "/private" as a prefix.
>   Entry names are case-insensitive.
>
> I think that means our metadata key should be
> "/shared/imapsieve/script".

Well, it doesn't mean that it couldn't be, say,
"/shared/IMAPSieve/Script".  It says it's insensitive, so I can put it
in any case I like.  But as long as I have to change it to add the
prefix (the text was written when there was no prefix and "value.xxx"
was used), I also changed it to be all lower case.  Why not?

> Section 2.1: feels like there should be a MUST in here somewhere?
>
> OLD
>   The corresponding Sieve implementation uses the Sieve capability
>   string "imapsieve", and Sieve scripts that depend upon the IMAP
>   events MUST include that string in their "required" lists.
> NEW
>   The corresponding Sieve implementation MUST provide the "imapsieve"
>   capability string (see [RFC5228] Section 6.1), and Sieve scripts that depend
>   upon IMAP events MUST include that string in their "required" lists.

Absolutely not: that would make this the only Sieve extension to say
that.  All the extensions I've looked at (Vacation, Notify,
Editheader, Ihave, MIME-loop, Reject) do NOT use 2119 language when
they talk about the capability string.

> Section 2.2: Add a MUST regarding individual script execution, because
> I missed this requirement the first two times I read through it:
> OLD
>   If more than one message is affected at the same time, each message
>   triggers the execution of a Sieve script separately.  The scripts MAY
>   be run in parallel.
> NEW
>   If more than one message is affected at the same time, each message
>   MUST trigger execution of the Sieve script separately.  The scripts MAY
>   be run in parallel.

No.  If you're only taking text to be normative if it has a 2119
keyword in it, you need to read documents differently.  "This is how
the protocol works" statements don't need to have "MUST" all over
them, and I see no need for a MUST here.

> Section 2.3.1: Convert from prose to list, and rephrase to include a
> lot of MUSTs
> OLD
>   When an applicable event occurs on an IMAP mailbox, if there is an
>   IMAP metadata entry named "/IMAPSieve/Script" for the mailbox, that
>   entry is used.  If there is not, but there is an IMAP metadata entry
>   named "/IMAPSieve/Script" for the server, that entry is used
>   (providing a way to define a global script for all mailboxes on a
>   server).  If neither entry exists, then no script will be invoked.
> NEW
>   When an applicable event occurs, the IMAP server MUST inspect
>   the following metadata entries, in order, to determine which Sieve
>   script to invoke:
>   o "/IMAPSieve/Script" for the target mailbox,
>   o "/IMAPSieve/Script" for the server.
>   If neither entry exists, then no script will be invoked.

Same as above.  The original text is fine.  I dislike the list format
here, and see no reason for a MUST.

> MINOR: I just realized that there might be confusion over an "empty"
> script name. I propose that a global server script, and a mailbox
> script with no value, means "run this script for every mailbox, except
> this one". If that's OK with you, I propose this text immediately
> following the text above:
> NEW
>    If the script name is an empty string, the server MUST NOT
>    inspect any further metadata entries (this allows a user to specify
>    a global server script, but disable it for specific mailboxes).

No reason to tell it not to inspect further, because we've already
said that if it finds a mailbox entry, it has what it needs.  But I
like the idea of saying that an empty entry value means that no script
is run, so I'll add that.  New paragraph 3:

                If a "/shared/imapsieve/script" metadata entry was selected
                above, its value is used as the name of the Sieve script
                that will be invoked in response to the IMAP event.
                If the value is empty, then no script is run.

I'll post a new version after I send this.

Barry