Re: Three new drafts and a question
ned.freed@mrochek.com Fri, 25 April 2003 04:29 UTC
Received: from above.proper.com (localhost [127.0.0.1]) by above.proper.com (8.12.8p1/8.12.8) with ESMTP id h3P4Twt2044614 for <ietf-mta-filters-bks@above.proper.com>; Thu, 24 Apr 2003 21:29:58 -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 h3P4TwrV044613 for ietf-mta-filters-bks; Thu, 24 Apr 2003 21:29:58 -0700 (PDT)
X-Authentication-Warning: above.proper.com: majordom set sender to owner-ietf-mta-filters@mail.imc.org using -f
Received: from mauve.mrochek.com (mauve.mrochek.com [209.55.107.55]) by above.proper.com (8.12.8p1/8.12.8) with ESMTP id h3P4Tst2044608 for <ietf-mta-filters@imc.org>; Thu, 24 Apr 2003 21:29:57 -0700 (PDT) (envelope-from ned.freed@mrochek.com)
Received: from mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01KV4BVK39LC002O3W@mauve.mrochek.com> for ietf-mta-filters@imc.org; Thu, 24 Apr 2003 21:29:47 -0700 (PDT)
Date: Thu, 24 Apr 2003 21:20:54 -0700
From: ned.freed@mrochek.com
Subject: Re: Three new drafts and a question
In-reply-to: "Your message dated Thu, 24 Apr 2003 19:19:31 -0700" <20030425021930.GB1572@jutta.sendmail.com>
To: Jutta Degener <jutta@sendmail.com>
Cc: ietf-mta-filters@imc.org
Message-id: <01KV4C9OZ7IY002O3W@mauve.mrochek.com>
MIME-version: 1.0
Content-type: TEXT/PLAIN; CHARSET="us-ascii"
Content-transfer-encoding: 7bit
References: <20030423201405.GA1432@jutta.sendmail.com> <01KV40Q9XC50002O3W@mauve.mrochek.com> <20030425021930.GB1572@jutta.sendmail.com>
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? I mean ["Comment: 1", "Comment: 2"]. > If you're using ["foo", "bar"], you'll quickly run into the > lack of list operations and -variables. I don't think so. But we can handle that fairly easily by saying empty strings add nothing. > 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. I agree. I don't think the chunk of text approach is appropriate. > Do you have a usage scenario where a single string vs. multiple > makes a big difference? Not really. It just looks better to have all of the fields added in a single operation. > > (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. OK. Just wanted to check and see if there was something I was missing. > > (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. Good point. Even if we retain replaceheader I'd argue that :newname should go. You can always get the effect by deleting and adding. There's also the question of the interaction of a replaceheader aimed at the third instance of one field being renamed to a field that already exists. > > > <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". Good point. Since I implement it I tend to forget it is optional... > > 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? I don't believe I ever have. But it is hard to predict what is going to happen once variables are available. I suspect they are going to change usage patterns fairly substantially, and it is hard to know which of these little quirks of the language are going to prove problematic. Ned
- Re: Three new drafts and a question Kjetil Torgrim Homme
- Three new drafts and a question Jutta Degener
- Re: Three new drafts and a question Nigel Swinson
- Re: Three new drafts and a question michael
- Re: Three new drafts and a question Rob Siemborski
- Re: Three new drafts and a question Kjetil Torgrim Homme
- Re: Three new drafts and a question ned.freed
- Re: Three new drafts and a question Jutta Degener
- Re: Three new drafts and a question ned.freed
- Re: Three new drafts and a question ned.freed
- Re: Three new drafts and a question Jutta Degener
- Re: Three new drafts and a question Marc Mutz
- Re: Three new drafts and a question ned.freed
- Re: Three new drafts and a question Simon Josefsson
- Re: Three new drafts and a question Marc Mutz
- Re: Three new drafts and a question ned.freed
- Re: Three new drafts and a question Marc Mutz
- Re: Three new drafts and a question Nigel Swinson
- Re: Three new drafts and a question ned.freed
- Re: Three new drafts and a question ned.freed
- Re: Three new drafts and a question Simon Josefsson
- Re: Three new drafts and a question Kjetil Torgrim Homme
- Re: Three new drafts and a question Kjetil Torgrim Homme
- Re: Three new drafts and a question ned.freed
- Re: Three new drafts and a question ned.freed
- Re: Three new drafts and a question Kjetil Torgrim Homme
- Re: Three new drafts and a question Marc Mutz
- Re: Three new drafts and a question Marc Mutz
- Re: Three new drafts and a question Arnt Gulbrandsen
- Re: Three new drafts and a question Kjetil Torgrim Homme
- Re: Three new drafts and a question Kjetil Torgrim Homme
- Re: Three new drafts and a question ned.freed