Subject: Preventing loops?

From: Lawrence Greenfield <[email-masked]>
Date: 31 May 1999 23:50:40 -0400

Hi,

I'm currently integrating Sieve into Cyrus.  I'm attempting to prevent
loops by preventing multiple messages with identical message-id's from
being processed twice by a Sieve script.  However, the envelope test
poses certain complications.

A message may be identical to another, but have a different envelope.
For instance, it might be delivered to both "[email-masked]" and
"[email-masked]", and I might want to sort based on the
envelope address.  Thus, processing one but not the other address may
lead to unfortunate behavior for a user.

I am proposing the following scheme for my implementation, and would
like some feedback:

the sieve script is executed normally upon the first delivery of a
message

upon subsequent deliveries, the sieve script is run, but only keep,
fileinto, and discard actions are executed; "redirect" and "reject"
are silently ignored.  any duplicate delivery to the same mailbox is
ignored.

I'd like feedback on this approach...

Larry

Date: 31 May 1999 23:50:40 -0400
From: Lawrence Greenfield <[email-masked]>
To: [email-masked]
Subject: Preventing loops?
Sender: [email-masked]

Hi,

I'm currently integrating Sieve into Cyrus.  I'm attempting to prevent
loops by preventing multiple messages with identical message-id's from
being processed twice by a Sieve script.  However, the envelope test
poses certain complications.

A message may be identical to another, but have a different envelope.
For instance, it might be delivered to both "[email-masked]" and
"[email-masked]", and I might want to sort based on the
envelope address.  Thus, processing one but not the other address may
lead to unfortunate behavior for a user.

I am proposing the following scheme for my implementation, and would
like some feedback:

the sieve script is executed normally upon the first delivery of a
message

upon subsequent deliveries, the sieve script is run, but only keep,
fileinto, and discard actions are executed; "redirect" and "reject"
are silently ignored.  any duplicate delivery to the same mailbox is
ignored.

I'd like feedback on this approach...

Larry

Date: 20 May 1999 08:58:40 -0400
From: Lawrence Greenfield <[email-masked]>
To: Tim Showalter <[email-masked]>
Cc: [email-masked], Lawrence Greenfield <[email-masked]>
Subject: Re: address test with multiple addresses?
Sender: [email-masked]

Ok, this is the behavior implemented in CMU Sieve 1.1.

I think some clarifying language ("header" and "address" tests are
performed for each header present and for each address present, doing
a logical or of the results.)

Thanks,
Larry

   > > How is the address test suppose to handle multiple addresses?
   > >
   > > For instance, if my message has:
   > >
   > > To: [email-masked], [email-masked]
   > >
   > > and I test
   > >
   > > if address :localpart :is "to" "sg3y" {
   > >   fileinto "INBOX.silly";
   > > }
   > >
   > > does this match?  When should it match with multiple addresses?

   > My assumption is that it would work just like header, and that if any
   > address appeared in any named header, it would match.

   I agree with Tim's assessment (and FWIW, so does my implementation).

				   Ned

Date: Wed, 19 May 1999 21:50:48 -0700 (PDT)
From: Ned Freed <[email-masked]>
Subject: Re: address test with multiple addresses?
To: Tim Showalter <[email-masked]>
Cc: Lawrence Greenfield <[email-masked]>, [email-masked]
Sender: [email-masked]

> > Date: 18 May 1999 17:04:37 -0400
> > From: Lawrence Greenfield <[email-masked]>
> >
> > How is the address test suppose to handle multiple addresses?
> >
> > For instance, if my message has:
> >
> > To: [email-masked], [email-masked]
> >
> > and I test
> >
> > if address :localpart :is "to" "sg3y" {
> >   fileinto "INBOX.silly";
> > }
> >
> > does this match?  When should it match with multiple addresses?

> My assumption is that it would work just like header, and that if any
> address appeared in any named header, it would match.

I agree with Tim's assessment (and FWIW, so does my implementation).

				Ned

Date: 19 May 1999 22:32:13 -0400
From: Lawrence Greenfield <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Subject: CMU Sieve 1.1
Sender: [email-masked]

Hi,

I've placed a new version of CMU Sieve on ftp.andrew.cmu.edu:
ftp://ftp.andrew.cmu.edu/pub/cmu-sieve/cmu-sieve-1.1.tar.gz

This should conform to draft-showalter-sieve-07bis.tar.gz and
implements a simple, non-extensible API.  It also includes a test
application to run a single message through a single script and output
the actions taken.  It now also uses configure.

I'm interested if people are interested in an extensible API---that
is, whether there would be any users.  (I'm not sure whether anybody
is really interested in a sieve library.)

Please let me know your feedback,
Larry

Date: 19 May 1999 17:24:51 -0400
From: Tim Showalter <[email-masked]>
To: Lawrence Greenfield <[email-masked]> [email-masked]
Subject: Re: address test with multiple addresses?
Sender: [email-masked]

> Date: 18 May 1999 17:04:37 -0400
> From: Lawrence Greenfield <[email-masked]>
> 
> How is the address test suppose to handle multiple addresses?
> 
> For instance, if my message has:
> 
> To: [email-masked], [email-masked]
> 
> and I test
> 
> if address :localpart :is "to" "sg3y" {
>   fileinto "INBOX.silly";
> }
> 
> does this match?  When should it match with multiple addresses?

My assumption is that it would work just like header, and that if any
address appeared in any named header, it would match.

Did you have something else in mind?

I'll clarify the text.  Any ideas?

Tim

Date: 18 May 1999 17:04:37 -0400
From: Lawrence Greenfield <[email-masked]>
To: [email-masked]
Subject: address test with multiple addresses?
Sender: [email-masked]

How is the address test suppose to handle multiple addresses?

For instance, if my message has:

To: [email-masked], [email-masked]

and I test

if address :localpart :is "to" "sg3y" {
  fileinto "INBOX.silly";
}

does this match?  When should it match with multiple addresses?

Thanks,
Larry

Date: 17 May 1999 17:06:34 -0400
From: Tim Showalter <[email-masked]>
To: [email-masked]
Subject: Re: sieve 07bis & sieve-vacation 01bis
Sender: [email-masked]

> Date: Fri, 14 May 1999 13:47:29 -0700
> From: Tim Showalter <[email-masked]>

> http://www.andrew.cmu.edu/draft-showalter-sieve-07bis.txt
> http://www.andrew.cmu.edu/draft-showalter-sieve-vacation-01bis.txt

These URLs are wrong; the correct ones are

 http://www.andrew.cmu.edu/~tjs/draft-showalter-sieve-07bis.txt
 http://www.andrew.cmu.edu/~tjs/draft-showalter-sieve-vacation-01bis.txt

Thanks to Ned and Alexey for pointing this out.

Tim

-- 
Tim Showalter <[email-masked]>

Date: Fri, 14 May 1999 13:47:29 -0700
From: Tim Showalter <[email-masked]>
To: [email-masked]
Subject: sieve 07bis & sieve-vacation 01bis
Sender: [email-masked]

Hi.  I have long overdue versions of Sieve and the vacation extension in
a state approaching ready.
I'm not sure what consensus was in some cases, so I'm making them
avalible before I submit them to the I-D repository.  They're avalible
at

http://www.andrew.cmu.edu/draft-showalter-sieve-07bis.txt
http://www.andrew.cmu.edu/draft-showalter-sieve-vacation-01bis.txt

Please take a look and send me any comments.  Thanks.

Tim

Date: 3 May 1999 16:29:12 -0400
From: Tim Showalter <[email-masked]>
To: Tim Showalter <[email-masked]>, [email-masked]
Cc: [email-masked]
Subject: Re: sieve vacation draft, really 
Sender: [email-masked]

> Reply-To: <[email-masked]>
> From: [email-masked] (Alan Stebbens)
> Cc: <[email-masked]>
> Date: Wed, 21 Apr 1999 23:39:35 -0700
> 
> I am resending this.  I did not receive any response on the previous try,
> and there are serious usability issues with the vacation action.

> Can someone answer these questions about the VACATION statement:

> * does it generate replies to bulk mail?  If not, how does it decide not to?

Yes; what's the difference?  Users can selectively do vacation
responses, of course, but...

> * does it generate replies to "mailer-daemon", "Postmaster", "root", and
> other system accounts?

Implementation dependant (as of the next revision).

> * does it generate replies to mail with any subject containing the text:
> "[vacation]" or "[auto-response]"?  If so, why?  If not, are these the only
> two strings that are recognized as being generated by an email
> auto-responder.

Yes, why not?

> * does it generate mail not directly addressed to my account?  How does it
> know what my account is?  How can I tell VACATION what my account is (or
> are)?

No, read the spec, read the spec, respectively.  Text is there and will
be clarified in the revision.

> * does it generate responses to mail that I sent myself?  If so, couldn't
> this start a mail loop?  If not, how does it know what my account is or
> accounts are?

No, no, implementation-dependant with the provision that the user can
suppply additional addresses.  Even if the address checks fail, the loop 
is limited by message-id checks.

-- 
Tim Showalter <[email-masked]>