Subject: I-D ACTION:draft-ietf-sieve-refuse-reject-02.txt

From: [email-masked]
Date: Mon, 19 Jun 2006 18:50:01 -0400

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		: The SIEVE mail filtering language - reject extension
	Author(s)	: M. Elvey, A. Melnikov
	Filename	: draft-ietf-sieve-refuse-reject-02.txt
	Pages		: 0
	Date		: 2006-6-19
	
This memo defines the SIEVE mail filtering language (RFC
   <<3028bis>>) "reject" extension.
   
   A Joe-job is a spam run forged to appear as though it came from an
   innocent party, who is then generally flooded by the bounces,
   Message Disposition Notifications (MDNs) and messages with
   complaints.  The original Sieve "reject" action defined in RFC 3028
   required use of MDNs for rejecting messages, thus contributing to
   the flood of Joe-job spam to victims of Joe-jobs.  This document
   updates definition of "reject" to require rejecting messages during
   the SMTP transaction (instead of accepting them and then sending
   MDNs back to the alleged sender) wherever possible, thereby
   reducing the problem.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-sieve-refuse-reject-02.txt

To remove yourself from the I-D Announcement list, send a message to 
[email-masked] with the word unsubscribe in the body of the message.  
You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce 
to change your subscription settings.

Internet-Drafts are also available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
	"get draft-ietf-sieve-refuse-reject-02.txt".

A list of Internet-Drafts directories can be found in
http://www.ietf.org/shadow.html 
or ftp://ftp.ietf.org/ietf/1shadow-sites.txt

Internet-Drafts can also be obtained by e-mail.

Send a message to:
	[email-masked].
In the body type:
	"FILE /internet-drafts/draft-ietf-sieve-refuse-reject-02.txt".
	
NOTE:	The mail server at ietf.org can return the document in
	MIME-encoded form by using the "mpack" utility.  To use this
	feature, insert the command "ENCODING mime" before the "FILE"
	command.  To decode the response(s), you will need "munpack" or
	a MIME-compliant mail reader.  Different MIME-compliant mail readers
	exhibit different behavior, especially when dealing with
	"multipart" MIME messages (i.e. documents which have been split
	up into multiple messages), so check your local documentation on
	how to manipulate these messages.

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

---

From: Ken Murchison <[email-masked]>
Date: Wed, 21 Jun 2006 08:12:37 -0400

> 	Filename	: draft-ietf-sieve-refuse-reject-02.txt

I gave this a quick read this morning, and the example in section 3.1.1 
still uses a 'refuse' action.

-- 
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University

---

From: Alexey Melnikov <[email-masked]>
Date: Wed, 21 Jun 2006 13:41:47 +0100

Ken Murchison wrote:

> I gave this a quick read this morning, and the example in section 
> 3.1.1 still uses a 'refuse' action.

Fixed.

Thanks,
Alexey

---

From: Arnt Gulbrandsen <[email-masked]>
Date: Wed, 21 Jun 2006 14:54:14 +0200

What does the incompatibility imply?

If a script contains three blocks,

if a
    fileinto b
if c
    reject
if d
    fileinto e

what SHOULD happen if the message satisifies conditions a and c, and 
what if it satisfies c and d?

Arnt

---

From: Alexey Melnikov <[email-masked]>
Date: Thu, 22 Jun 2006 18:32:12 +0100

> what if it satisfies c and d?

If the message satisfies both a & c (or both c & d), then this SHOULD 
result in a runtime error.

---

From: Arnt Gulbrandsen <[email-masked]>
Date: Thu, 22 Jun 2006 19:41:03 +0200

> result in a runtime error.

That's not nice. After all, c might easily be a spam test and a might be 
"from colleagues", and that doesn't sound like it should provoke a 
runtime error.

I'd prefer that reject either turns itself into a noop if one of the 
incompatible actions are also taken, or that they're compatible.

Either way, please specify what "incompatible" means.

Arnt

---

From: Arnt Gulbrandsen <[email-masked]>
Date: Thu, 22 Jun 2006 19:54:25 +0200

> Either way, please specify what "incompatible" means.

Sorry, I'd forgotten that sentence in 3028.

Arnt

---

From: "Mark E. Mallett" <[email-masked]>
Date: Thu, 22 Jun 2006 15:42:22 -0400

I like the improved clarity in a lot of things, such as in the ordered
list of techniques that are tried for carrying out the reject action.
However I think the problem still remains that the script writer does
not get any control over which are tried.  I mention again the potential
irony that whereas a script writer will intentionally avoid 'reject' if
they know it will result in a separate bounce message, the writer will
be tempted more often to use 'reject' if they think it may result in an
SMTP time refusal.  The irony being that 'reject' will be then be used
more often, which without some influence as to how it falls back,
can result in more bounce messages.

Personally I liked the syntax proposed by Kjetil Torgrim Homme,
probably here:

   http://www.imc.org/ietf-mta-filters/mail-archive/msg02408.html

i.e.:

   reject :refuse :stop "Don't send e-mail to this address";
   fileinto "INBOX.old-address";
   stop;

where ":refuse" says "only execute this if you can do a protocol refusal"
and ":stop" says "stop if the action was taken."

If the script continues, the script writer can then add steps to further
classify the message, to see if a non-protocol refusal is still
warranted, or otherwise to file or discard the message.

I don't mean to belabor this, but I thought this had some support.

mm