Re: Three new drafts and a question

Jutta Degener <jutta@sendmail.com> Fri, 25 April 2003 02:19 UTC

Received: from above.proper.com (localhost [127.0.0.1]) by above.proper.com (8.12.8p1/8.12.8) with ESMTP id h3P2Jjt2039970 for <ietf-mta-filters-bks@above.proper.com>; Thu, 24 Apr 2003 19:19:45 -0700 (PDT) (envelope-from owner-ietf-mta-filters@mail.imc.org)
Received: (from majordom@localhost) by above.proper.com (8.12.8p1/8.12.9/Submit) id h3P2JjcN039969 for ietf-mta-filters-bks; Thu, 24 Apr 2003 19:19:45 -0700 (PDT)
X-Authentication-Warning: above.proper.com: majordom set sender to owner-ietf-mta-filters@mail.imc.org using -f
Received: from spork.sendmail.com (spork.Sendmail.COM [209.246.26.39]) by above.proper.com (8.12.8p1/8.12.8) with ESMTP id h3P2Jet2039951 for <ietf-mta-filters@imc.org>; Thu, 24 Apr 2003 19:19:44 -0700 (PDT) (envelope-from jutta@sendmail.com)
Received: from foon.sendmail.com (smtp.sendmail.com [209.246.26.40]) by spork.sendmail.com (Switch-3.0.4/Switch-3.0.0) with ESMTP id h3P2JfFe024411 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK) for <ietf-mta-filters@imc.org>; Thu, 24 Apr 2003 19:19:42 -0700 (PDT)
Received: from jutta.sendmail.com (newshell.Sendmail.COM [209.246.26.43]) by foon.sendmail.com (Switch-3.0.4/Switch-3.0.0) with ESMTP id h3P2Jfqu027840 for <ietf-mta-filters@imc.org>; Thu, 24 Apr 2003 19:19:41 -0700
Received: by jutta.sendmail.com (Postfix, from userid 500) id 26CD2179B3; Thu, 24 Apr 2003 19:19:31 -0700 (PDT)
Date: Thu, 24 Apr 2003 19:19:31 -0700
From: Jutta Degener <jutta@sendmail.com>
To: ietf-mta-filters@imc.org
Subject: Re: Three new drafts and a question
Message-ID: <20030425021930.GB1572@jutta.sendmail.com>
References: <20030423201405.GA1432@jutta.sendmail.com> <01KV40Q9XC50002O3W@mauve.mrochek.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <01KV40Q9XC50002O3W@mauve.mrochek.com>
User-Agent: Mutt/1.3.24i
X-Filtered: Sendmail MIME Filter v2.3.1 foon.sendmail.com h3P2Jfqu027840
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>


On Thu, Apr 24, 2003 at 11:08:49AM -0700, ned.freed@mrochek.com wrote:
[editheader]
>     I prefer the approach of having a single argument,
>     which can either be a string specifying a single field or a list
>     specifying multiple fields.

Hm, you mean a real ["foo", "bar"] list, or a chunk of text
that becomes the header?

If you're using ["foo", "bar"], you'll quickly run into the
lack of list operations and -variables.

If you're using a big chunk of text, I think it will still have
to be parsed into names and values and checked or, more likely,
reformatted.  I don't like doing that, not so much for efficiency
reasons but because it pretends to the script writer that they're
touching the true outgoing header when I really can't let them
do that.

Do you have a usage scenario where a single string vs. multiple
makes a big difference?

> (2) I sure wish we'd allowed signed integers as numbers in the base sieve
>     specification. If we had them available we could use negative indices
>     to represent offsets from the last occurence of a given field.

Yeah, that would be nice, but I couldn't get it to work either.

> (3) I see considerable value in addheader and deleteheader. Replaceheader,
>     however, goes a bit too far for my tastes. Do we really need this? Is
>     it worth the complexity?

The "replaceheader" command started out as a "tagheader" command
that just gave its user a choice of adding a prefix or a suffix.

The original audience for this was users with message stores that
don't support direct fileinto.  They can tag their messages by adding
or changing the Subject: line, and then filter based on the Subject
line in their browsers.

Then people wanted an "untagheader" command, and didn't generally
respond well to the complexity of picking a header vs. the simplicity
of what I let them do it once they had it, so "replaceheader"
replaced the "tag" and "untag" versions and got a little more solid.

We can argue whether :newname has any business being there, though.

> > <http://www.ietf.org/internet-drafts/draft-degener-sieve-multiscript-00.txt>
> > 	
> > 	Sequential execution of (unrelated) sieve scripts by the
> > 	environment.  A meta-feature -- it doesn't define new sieve
> > 	language elements -- that's interesting in particular in
> > 	contrast to Cyrus's "include" draft.
> 
> Hmm. The approach taken here is very similar but not quite identical to the
> approach I've used to combine multiple scripts. We agree in that any script
> that ends in an implicit keep in effect cedes control to the next script
> in the sequence, and that the explicit actions reject, fileinto, and
> redirect that cancel implicit keep prevent subsequent scripts from running.
> 
> The place where we differ is in the handling of explicit keep. The draft calls
> for subsequent scripts to be called. I don't do that; in my implementation an
> explicit keep prevents subsequent scripts from acting.

Interesting.  I've had some push-back about that, too, where colleagues
felt (and probably still feel) uncomfortable that the system would react
to an explicit command with this big-brotheresque "well, you're saying you
want to keep the message, but what you _really_ may want is to give it the
default trailing script treatment".

> I don't think this is something I can change at this point either. One of the
> things that's often done is to have some kind of filtering in a system-level
> sieve script. That script may elect to discard a message. I wanted the ability
> for users to override such system-level decisions by issuing an explicit
> "keep" in their scripts. This trick got documented and is now in use.

We'd just have used "fileinto "INBOX"" for that, but okay.  And of
course you might not have "fileinto".

> There's also one semantics issue I see here: RFC 3028 says that fileinto
> "INBOX" and "keep" are equivalent in an IMAP environment. This specification
> tweaks that equivalence somewhat.

Yeah, I know...

I guess the alternative here is to make explicit keep and implicit
keep once again behave differently.  That's ugly, but it does seem
to be closer to expectations.

Did you ever run into a situation where that gave you trouble --
where you wished you could have an explicit implicit keep?

Jutta