Re: Last Call: draft-ietf-sieve-refuse-reject (Sieve Email Filtering: Reject and Extended Reject Extensions) to Proposed Standard

"Spencer Dawkins" <spencer@wonderhamster.org> Mon, 11 August 2008 16:00 UTC

Return-Path: <owner-ietf-mta-filters@mail.imc.org>
X-Original-To: ietfarch-sieve-archive-Aet6aiqu@core3.amsl.com
Delivered-To: ietfarch-sieve-archive-Aet6aiqu@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DB2B628C164 for <ietfarch-sieve-archive-Aet6aiqu@core3.amsl.com>; Mon, 11 Aug 2008 09:00:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.022
X-Spam-Level:
X-Spam-Status: No, score=-1.022 tagged_above=-999 required=5 tests=[AWL=1.023, BAYES_00=-2.599, HELO_MISMATCH_COM=0.553, STOX_REPLY_TYPE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lCZzkvS7a5MS for <ietfarch-sieve-archive-Aet6aiqu@core3.amsl.com>; Mon, 11 Aug 2008 09:00:53 -0700 (PDT)
Received: from balder-227.proper.com (Balder-227.Proper.COM [192.245.12.227]) by core3.amsl.com (Postfix) with ESMTP id 7ABE53A6E6B for <sieve-archive-Aet6aiqu@ietf.org>; Mon, 11 Aug 2008 09:00:50 -0700 (PDT)
Received: from balder-227.proper.com (localhost [127.0.0.1]) by balder-227.proper.com (8.14.2/8.14.2) with ESMTP id m7BFamUY040131 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 11 Aug 2008 08:36:48 -0700 (MST) (envelope-from owner-ietf-mta-filters@mail.imc.org)
Received: (from majordom@localhost) by balder-227.proper.com (8.14.2/8.13.5/Submit) id m7BFamDa040130; Mon, 11 Aug 2008 08:36:48 -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 mout.perfora.net (mout.perfora.net [74.208.4.197]) by balder-227.proper.com (8.14.2/8.14.2) with ESMTP id m7BFaiw6040118 for <ietf-mta-filters@imc.org>; Mon, 11 Aug 2008 08:36:45 -0700 (MST) (envelope-from spencer@wonderhamster.org)
Received: from s73602 (w173.z064002096.dfw-tx.dsl.cnc.net [64.2.96.173]) by mrelay.perfora.net (node=mrus1) with ESMTP (Nemesis) id 0MKpCa-1KSZRc4889-00057f; Mon, 11 Aug 2008 11:36:37 -0400
Message-ID: <047b01c8fbc8$2034eeb0$ad600240@china.huawei.com>
From: Spencer Dawkins <spencer@wonderhamster.org>
To: ietf@ietf.org
Cc: ietf-mta-filters@imc.org, General Area Review Team <gen-art@ietf.org>, Cyrus Daboo <cyrus@daboo.name>, Alexey Melnikov <alexey.melnikov@isode.com>, Lisa Dusseault <lisa@osafoundation.org>, Aaron Stone <aaron@serendipity.palo-alto.ca.us>, Matthew Elvey <sieve3@matthew.elvey.com>
References: <20080727120256.E26073A68B7@core3.amsl.com>
Subject: Re: Last Call: draft-ietf-sieve-refuse-reject (Sieve Email Filtering: Reject and Extended Reject Extensions) to Proposed Standard
Date: Mon, 11 Aug 2008 10:36:57 -0500
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"; charset="iso-8859-1"; reply-type="original"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.3138
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198
X-Provags-ID: V01U2FsdGVkX19Gr8PqlZIh4MO+jrvhCAINx/15sTHi6AHOp9k +mgcF4cRrWZ6dd2S7jDQZpOxIHKcKwTt4eC/d2+geaKTuHCUoV 7OaxsJ/ti8Ba/gw+rEHT1c71DAzI6JpfVV0PwOem3o=
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>

I have been selected as the General Area Review Team (Gen-ART)
reviewer for this draft (for background on Gen-ART, please see
http://www.alvestrand.no/ietf/gen/art/gen-art-FAQ.html ).

Please resolve these comments along with any other Last Call comments
you may receive.

Document: draft-ietf-sieve-refuse-reject-07
Reviewer: Spencer Dawkins
Review Date: 2008-08-10
IETF LC End Date: 2008-08-10 (oops!)
IESG Telechat date: N/A

Summary: Almost ready for publication as a Proposed Standard. I have some 
clarity questions below, and two technical questions involving 2119 language 
...

Comments:

Abstract

   This memo updates the definition of the Sieve mail filtering language
   "reject" extension, originally defined in RFC 3028.

   A "Joe-job" is a spam run forged to appear as though it came from an

Spencer (clarity): I'm OK with the use of "joe-job" (or, at a minimum, I'm 
OK with what you guys say it is), but there's not a clear statement in the 
abstract that the update to 3028 is in response to the "joe-job" practice. 
I'd suggest something like "... originally defined in RFC 3028, because the 
definition in RFC 3028 did not allow messages to be refused during the STMP 
transaction, and experience has shown this to be valuable in response to 
"joe-jobs"."

   innocent party, who is then generally flooded by automated bounces,
   Message Disposition Notifications (MDNs), and personal 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 memo updates the definition of the "reject" action to allow
   messages to be refused during the SMTP transaction, and defines the
   "ereject" action to require messages to be refused during the SMTP
   transaction, if possible.

   The "ereject" action is intended to replace the "reject" action
   wherever possible.

Spencer (clarity): a LOT later in the document, the following text appears: 
"The "ereject" action is similar to "reject", but will always favor protocol 
level message rejection". That's a really helpful summary - I'd like to see 
something like that much earlier in the document, maybe here.

1.  Introduction

   The Sieve mail filtering language [SIEVEBIS], as originally defined
   in RFC 3028 [SIEVE], specified that the "reject" action shall discard
   a message and send a Message Disposition Notification [MDN] to the
   envelope sender along with an explanatory message.  RFC 5228
   [SIEVEBIS] does not define any reject action, hence the purpose of
   this document.

Spencer (clarity): hmm. I'm almost sure that "The Sieve mail filtering 
language [SIEVEBIS]" was NOT "originally defined in RFC 3028 [SIEVE]"... :-) 
If you drop the first [SIEVEBIS] reference in this sentence, I think it's 
correct.

Spencer (clarity): It's not particularly easy for me to understand this 
paragraph, given that SIEVEBIS is used as the reference for "RFC 5228" in 
the last sentence. I might suggest "the updated Sieve mail filtering 
language [SIEVEBIS] does not define any reject action ..."

   This document updates the definition of the "reject" action to permit
   refusal of the message during the SMTP transaction, if possible, and
   defines a new "ereject" action to require refusal of the message
   during the SMTP transaction, if possible.

Spencer (clarity): a LOT later in the document, the following text appears: 
"The "ereject" action is similar to "reject", but will always favor protocol 
level message rejection". That's a really helpful summary - I'd like to see 
something like that much earlier in the document, maybe here.

   Implementations are further encouraged to use spam-detection systems
   to determine the level of risk associated with sending an MDN, and
   this document allows implementations to silently drop the MDN if the
   rejected message is deemed to be likely spam.

   Further discussion highlighting the risks of generating MDNs and the
   benefits of protocol-level refusal can be found in [Joe-DoS].

2.1.1.  Rejecting a message at the SMTP/LMTP protocol level

   Sieve implementations that are able to reject messages at the SMTP/
   LMTP level MUST do so and SHOULD use the 550 response code.  Note

Spencer (technical): since rejection is a MUST, I'd expect to see guidance 
about why using 550 might not be the right thing to do ("why is this a 
SHOULD?"). There's some text at the bottom of 2.5 about using 4XX first, but 
it should appear here, I think.

   that if a message is arriving over SMTP and has multiple recipients,
   some of whom have accepted the message, Section 2.1.2 defines how to
   reject such a message.

2.1.2.  Rejecting a message by sending a DSN

   An implementation may receive a message via SMTP that has more than
   one RCPT TO that has been accepted by the server, and at least one
   but not all of them are refusing delivery (whether the refusal is
   caused by a Sieve "ereject" action or for some other reason).  In
   this case, the server MUST accept the message and generate DSNs for
   all recipients that are refusing it.  Note that this exception does
   not apply to LMTP, as LMTP is able to reject messages on a per-
   recipient basis.  (However, the LMTP client may then have no choice
   but to generate a DSN to report the error, which may result in
   blowback.)

Spencer (clarity): "blowback" isn't defined (yet, at least).

2.2.  Action reject

   The "reject" action cancels the implicit keep and refuses delivery of
   a message.  The reason string is a UTF-8 [UTF-8] string specifying
   the reason for refusal.  Unlike the "ereject" action described above,
   this action would always favor preserving the exact text of the
   refusal reason.  Typically the "reject" action refuses delivery of a
   message by sending back an MDN to the alleged sender (see
   Section 2.2.1).  However implementations MAY refuse delivery over
   protocol (as detailed in Section 2.5), if and only if all of the

Spencer (clarity): "refuse delivery over protocol" reads roughly to me. is 
there an adjective for "protocol" that might make this sentence clearer? i'm 
not sure that "over protocol" is even required - is it? if not, you could 
just delete the two words.

   following conditions are true:

       Example:
               require ["reject"];

               if size :over 100K {
                   reject text:
       Your message is to big. If you want to send me a big attachment,

Spencer (nit): s/to/too/ :-)

2.3.  Silent upgrade from reject to ereject

   Implementations MUST NOT silently upgrade reject actions to ereject
   actions, however user interfaces may change the specific action
   underlying a descriptive representation, thereby effecting a silent
   upgrade of sorts.

Spencer (technical): ??? I may not understand the point here, but from the 
user's point of view, the requirement seems religious - protocol 
implementations are prohibited from silently upgrading, but user interfaces 
aren't, and the effect on the rejected e-mail, from the user's perspective, 
is the same, isn't it? Or is this talking about "silently upgrading reject 
actions" without making sure that the other side is ereject-capable?

----- Original Message ----- 
From: "The IESG" <iesg-secretary@ietf.org>
To: "IETF-Announce" <ietf-announce@ietf.org>
Cc: <ietf-mta-filters@imc.org>
Sent: Sunday, July 27, 2008 7:02 AM
Subject: Last Call: draft-ietf-sieve-refuse-reject (Sieve Email Filtering: 
Reject and Extended Reject Extensions) to Proposed Standard


>
> The IESG has received a request from the Sieve Mail Filtering Language
> WG (sieve) to consider the following document:
>
> - 'Sieve Email Filtering: Reject and Extended Reject Extensions '
>   <draft-ietf-sieve-refuse-reject-07.txt> as a Proposed Standard
>
> This document has a normative reference to RFC 2033 which documents LMTP,
> Local Mail Transfor Protocol.  Support for LMTP is not required for
> servers supporting the mechanisms in this specification.  The
> procedure of RFC 3967 is applied in this last call to approve the
> downward reference.
>
> The IESG plans to make a decision in the next few weeks, and solicits
> final comments on this action.  Please send substantive comments to the
> ietf@ietf.org mailing lists by 2008-08-10. Exceptionally,
> comments may be sent to iesg@ietf.org instead. In either case, please
> retain the beginning of the Subject line to allow automated sorting.
>
> The file can be obtained via
> http://www.ietf.org/internet-drafts/draft-ietf-sieve-refuse-reject-07.txt
>
>
> IESG discussion can be tracked via
> https://datatracker.ietf.org/public/pidtracker.cgi?command=view_id&dTag=13141&rfc_flag=0
>
> _______________________________________________
> IETF-Announce mailing list
> IETF-Announce@ietf.org
> https://www.ietf.org/mailman/listinfo/ietf-announce
>