Re: Sieve mime loop issues list
"Nigel Swinson" <Nigel.Swinson@rockliffe.com> Fri, 24 March 2006 13:10 UTC
Received: from balder-227.proper.com (localhost [127.0.0.1]) by balder-227.proper.com (8.13.5/8.13.5) with ESMTP id k2ODAsbH054295; Fri, 24 Mar 2006 06:10:54 -0700 (MST) (envelope-from owner-ietf-mta-filters@mail.imc.org)
Received: (from majordom@localhost) by balder-227.proper.com (8.13.5/8.13.5/Submit) id k2ODAsFE054294; Fri, 24 Mar 2006 06:10:54 -0700 (MST) (envelope-from owner-ietf-mta-filters@mail.imc.org)
X-Authentication-Warning: balder-227.proper.com: majordom set sender to owner-ietf-mta-filters@mail.imc.org using -f
Received: from mail.rockliffe.com (mail.rockliffe.com [147.208.128.10]) by balder-227.proper.com (8.13.5/8.13.5) with ESMTP id k2ODAsPe054288 for <ietf-mta-filters@imc.org>; Fri, 24 Mar 2006 06:10:54 -0700 (MST) (envelope-from Nigel.Swinson@rockliffe.com)
X-Spam-Score: 1
Received: from nigelhome (unverified [10.42.40.206]) by mail.rockliffe.com (Rockliffe SMTPRA 7.0.3) with ESMTP id <B0001228935@mail.rockliffe.com>; Fri, 24 Mar 2006 05:10:48 -0800
Message-ID: <003401c64f44$657bf230$9b42c050@nigelhome>
From: Nigel Swinson <Nigel.Swinson@rockliffe.com>
To: Tony Hansen <tony@att.com>
Cc: IETF MTA Filters List <ietf-mta-filters@imc.org>
References: <44231A5F.6050605@att.com> <01M0EFER83N6000078@mauve.mrochek.com>
Subject: Re: Sieve mime loop issues list
Date: Fri, 24 Mar 2006 13:10:58 -0000
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1506
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by balder-227.proper.com id k2ODAsPe054289
Sender: owner-ietf-mta-filters@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-mta-filters/mail-archive/>
List-ID: <ietf-mta-filters.imc.org>
List-Unsubscribe: <mailto:ietf-mta-filters-request@imc.org?body=unsubscribe>
> > #1: Need to deal with nested for_every_part loops. What will this do:
> > for_every_part { if (some test here) { for_every_part { ... } } }
>
> My inclination is to ban them, or at least allow an implementation-defined
> limit which can be set to 1. (Actually, such a limit is allowed implicitly for
> almost anything in sieve by the base spec.)
I would like the nested for_every_part to operate on the child nodes of the current context body part, not always operate on all the body parts of the root message. This to me is the obvious behaviour. If Ned wants to (understandably) ban them from his implementation, that's fine by me ;o)
> > #2: Need to decide if there would be a "mime" shorthand for testing the
> > type/subtype, without requiring
>
> > if allof (mime :type "multipart", mime :subtype "alternative") ?
>
> How about getting rid of :subtype and making :type check the whole thing? A
> subtype is only meaningful in the context of a particular type; the only
> exception to this are suffix tags, and checking those would require :matches
> anyway.
>
> And :matches can easily be used to check the primary type by itself. I see no
> strong reason to prefer
>
> if mime :type "text" ...
>
> over
>
> if mime :type :matches "text/*" ...
Although it isn't very explicit, I think I'm right in saying the default match type for mime is "is"? So that means if :type matches against type/subtype, then I would be very confused if I wrote :type "text" and it didn't match against text/plain.
I suggest:
- :type to match against type,
- :subtype to match against subtype
- :contenttype to match against type/subtype
> > #3: We need to add some way to look at parameter lists:
> > Content-Type: text/plain; charset="foo"
I currently have:
MimeClause ::= "x_mime" [COMPARATOR] [MATCH-TYPE]
<header-list: string-list> [<parameter-list: string-list>] <key-list: string-list>
MimeClause ::= "x_mime" :filename <key-list: string-list>
MimeClause ::= "x_mime" :type <key-list: string-list>
MimeClause ::= "x_mime" :subtype <key-list: string-list>
So if you don't have a :type/:subtype/:filename, then you must specify a list of header names, a list of parameter names, and the search strings. "type" and "subtype" are supported as psuedo parameter names of the bit before the first ";". If there are no parameter names, then it matches against the text before the first ";". :type/:subtype/:filename then become short hands:
mime :type "text"
mime "Content-Type" "type" "text
mime :subtype "plain"
mime "Content-Type" "subtype" "plain"
mime :filename "junk.txt"
anyof (
mime "Content-Disposition" "filemane""junk.txt"'
mime "Content-Type" "name" "junk.txt"
)
> > The following issues/comments were raised at the meeting:
> > interactions with variables
> > notifications
> > notifications to calendar service
> > address tests, exists tests
> > add tests mimeheader, mimeparameter
>
I prefer
> header :mime
> exists :mime
> address :mime
Over
> mimeheader
> mimeexists
> mimeaddress
>
> but I do want to see some way to do address and exists tests on inner
> headers. This is actually quite a bit more important than a parameter
> test IMO.
I agree
Nigel
- Sieve mime loop issues list Tony Hansen
- Re: Sieve mime loop issues list Ned Freed
- Re: Sieve mime loop issues list Philip Guenther
- Re: Sieve mime loop issues list Ned Freed
- Re: Sieve mime loop issues list Nigel Swinson
- Re: Sieve mime loop issues list Cyrus Daboo
- Re: Sieve mime loop issues list Mark E. Mallett
- Re: Sieve mime loop issues list Kjetil Torgrim Homme