Re: [sieve] I-D Action: draft-ietf-sieve-include-11.txt
Aaron Stone <aaron@serendipity.cx> Tue, 27 September 2011 19:59 UTC
Return-Path: <aaron@serendipity.cx>
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 A172021F8ED3 for <sieve@ietfa.amsl.com>; Tue, 27 Sep 2011 12:59:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.643
X-Spam-Level:
X-Spam-Status: No, score=-101.643 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, IP_NOT_FRIENDLY=0.334, 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 pflNDREPsfkK for <sieve@ietfa.amsl.com>; Tue, 27 Sep 2011 12:59:45 -0700 (PDT)
Received: from slice.serendipity.cx (slice.serendipity.cx [67.23.2.90]) by ietfa.amsl.com (Postfix) with ESMTP id 0A42C21F8ED2 for <sieve@ietf.org>; Tue, 27 Sep 2011 12:59:45 -0700 (PDT)
Received: from mail-vx0-f172.google.com (mail-vx0-f172.google.com [209.85.220.172]) by slice.serendipity.cx (Postfix) with ESMTPSA id 6ADF8110074 for <sieve@ietf.org>; Tue, 27 Sep 2011 13:02:00 -0700 (PDT)
Received: by vcbfo11 with SMTP id fo11so5723023vcb.31 for <sieve@ietf.org>; Tue, 27 Sep 2011 13:02:26 -0700 (PDT)
Received: by 10.52.174.110 with SMTP id br14mr7996947vdc.369.1317153746077; Tue, 27 Sep 2011 13:02:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.52.110.34 with HTTP; Tue, 27 Sep 2011 13:02:06 -0700 (PDT)
In-Reply-To: <4E7DDF5A.4060505@rename-it.nl>
References: <20110923192026.30531.70942.idtracker@ietfa.amsl.com> <4E7DDF5A.4060505@rename-it.nl>
From: Aaron Stone <aaron@serendipity.cx>
Date: Tue, 27 Sep 2011 13:02:06 -0700
Message-ID: <CAEdAYKV+Kuys7mFbEJ7eq9YC_tpe02xT=43j2RKjrNaa9tSP2Q@mail.gmail.com>
To: Stephan Bosch <stephan@rename-it.nl>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: Sieve mailing list <sieve@ietf.org>
Subject: Re: [sieve] I-D Action: draft-ietf-sieve-include-11.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, 27 Sep 2011 19:59:45 -0000
On Sat, Sep 24, 2011 at 6:47 AM, Stephan Bosch <stephan@rename-it.nl> wrote: > Hi Aaron, > > Op 23-9-2011 21:20, internet-drafts@ietf.org schreef: >> >> 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 : Sieve Email Filtering: Include Extension Author(s) >> : Cyrus Daboo Aaron Stone Filename : >> draft-ietf-sieve-include-11.txt Pages : 15 Date >> : 2011-09-23 >> >> The Sieve Email Filtering "include" extension permits users >> to include one Sieve script inside another. This can make managing >> large scripts or multiple sets of scripts much easier, and allows a >> site and its users to build up libraries of scripts. Users are able >> to include their own personal scripts or site-wide scripts. > > > You missed one issue I mentioned earlier: the paragraph about the > application of the :once parameter starting at the end of page 5 and > continuing on page 6 should be located directly below the description of the > :once parameter and not below the paragraph describing :optional. So, it > should be moved one paragraph up. Got it. > A small editorial nit: > > The "spam_checks" example on page 10 has a require statement starting in the > wrong text column and the global command that follows should be on the next > line. Fixed. > Finally, I'd like to share a few things I only notice now because I've > recently read RFC 5703 (mime extensions) once more. On page 6 of the include > draft the following is mentioned: > > The "include" command MAY appear anywhere in a script where a control > structure is legal, and MAY be used within another control structure, > e.g., within an "if" or "foreverypart" block (MIME [RFC5703]). > > So, from this I understand that the foreverypart context is passed down to > any script included while in this context. This means that the behavior of > the :mime-augmented tests in the included scripts is influenced accordingly. I don't see why the context would be passed along, but I'll note explicitly that it is not: OLD: 255 The "include" command MAY appear anywhere in a script where a 256 control structure is legal, and MAY be used within another control 257 structure, e.g., within an "if" or "foreverypart" block (<xref target='RFC5703'>MIME</xref>). NEW: 255 The "include" command MAY appear anywhere in a script where a 256 control structure is legal, and MAY be used within another control 257 structure, e.g., within an "if" or "foreverypart" block (<xref target='RFC5703'>MIME</xref>). 258 The included script SHALL NOT have any special control over the 259 control structure it was included from, e.g., inclusion from within a 260 "foreverypart" block does not allow the included script to directly 261 terminate or continue flow of that block. > Now I was wondering what would happen when a top-level "break" action is > executed in a script included somewhere in context of the foreverypart loop, > or - equivalently - a break statement with name parameter equal to that of > the foreverypart command in the including script. Initially, I feared this > would require ending the included scripts and "return"-ing to the script > executing the loop (at the position of the loop's end). However, on page 6 > of the include draft the following is stated: > > The included script MUST be a valid Sieve script. > > In light of the "break" issue, I like to read this as follows: > > The included script MUST be a valid Sieve script in its own right. > > Since it is not allowed to have a "break" action outside a foreverypart loop > or a break statement referencing a named loop that does not exist, an > included script with such a break statement is invalid because it is not a > valid Sieve script in its own right, i.e. without the foreverypart loop of > the including script. This nicely prevents having break statements that > cross include boundaries. > > Do you agree with this view on the matter? Is some more explicit mention of > the interaction between foreverypart and include necessary? > > > Regards, > > Stephan > > >
- [sieve] I-D Action: draft-ietf-sieve-include-11.t… internet-drafts
- Re: [sieve] I-D Action: draft-ietf-sieve-include-… Stephan Bosch
- Re: [sieve] I-D Action: draft-ietf-sieve-include-… Aaron Stone
- Re: [sieve] I-D Action: draft-ietf-sieve-include-… Stephan Bosch
- Re: [sieve] I-D Action: draft-ietf-sieve-include-… Aaron Stone