draft-ietf-sieve-refuse-reject-00.txt   draft-ietf-sieve-refuse-reject-01.txt 
Internet Draft M. Elvey Internet Draft M. Elvey
Document: draft-ietf-sieve-refuse-reject-00 The Elvey Partnership,LLC Document: draft-ietf-sieve-refuse-reject-01 The Elvey Partnership,
Expires: November 2005 A. Melnikov LLC
Expires: September 2006 A. Melnikov
Isode Ltd Isode Ltd
The SIEVE mail filtering language - reject and refuse extensions The SIEVE mail filtering language - reject and refuse extensions
draft-ietf-sieve-refuse-reject draft-ietf-sieve-refuse-reject
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
skipping to change at line 38 skipping to change at line 39
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
A revised version of this draft document will be submitted to the A revised version of this draft document will be submitted to the
RFC editor as a Proposed Standard for the Internet Community. RFC editor as a Proposed Standard for the Internet Community.
Discussion and suggestions for improvement are requested. Discussion and suggestions for improvement are requested.
Distribution of this draft is unlimited. Distribution of this draft is unlimited.
Abstract Abstract
This memo defines the SIEVE mail filtering language [SIEVE] This memo defines the SIEVE mail filtering language (RFC
"reject" and "refuse" extensions. <<3028bis>>) "reject" extension.
A Joe-job is a spam run forged to appear as though it came from an 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, MDNs innocent party, who is then generally flooded by the bounces,
and messages with complaints. With the Sieve "reject" action, MDNs Message Disposition Notifications (MDNs) and messages with
contribute to the flood of Joe-job spam to victims of Joe-jobs; complaints. The original Sieve "reject" action defined in RFC 3028
SMTP level refusals usually don't. With "refuse", Sieve gains the required use of MDNs for rejecting messages, thus contributing to
ability to simply not accept an email during the SMTP transaction the flood of Joe-job spam to victims of Joe-jobs. This document
(instead of accepting it and then sending an MDN [MDN] back to the updates definition of "reject" to allow for rejecting messages
alleged sender using "reject"). during the SMTP transaction.
Table of Contents Table of Contents
1. Introduction 4 1. Introduction 3
2. Conventions Used in this Document 4 2. Conventions Used in this Document 3
3. Discussion of finer points 4 3. SIEVE "reject" extension 4
4. SIEVE "reject" extension 5 3.1 Action reject 4
4.1 Action reject 5 3.2 "reject" compatibility with other actions 7
4.2 "reject" compatibility with other actions 6 4. Security Considerations 7
5. SIEVE "refuse" extension 6 5. IANA Considerations 7
5.1 Action refuse 6 5.1 reject extension registration 7
5.2 "refuse" compatibility with other actions 7 5.2 refuse extension registration 8
5.3 Explicit accomodation for servers that support Enhanced 6. References 8
Error Codes [ENHANCED-CODES] 7 6.1 Normative References 8
6. Security Considerations 8 6.2 Informative References 8
7. IANA Considerations 8 7. Acknowledgments 8
7.1 reject extension registration 8 8. Author's Addresses 9
7.2 refuse extension registration 8 9. Intellectual Property Rights Statement 9
8. References 9 10. Full Copyright Statement 10
8.1 Normative References 9 11. Changes from RFC 3028 10
8.2 Informative References 9 12. Change Log 10
9. Acknowledgments 9
10. Author's Addresses 10
11. Intellectual Property Rights Statement 10
12. Full Copyright Statement 11
13. Changes from RFC 3028 11
14. Change Log 11
1. Introduction 1. Introduction
The SIEVE mail filtering language [SIEVE] "reject" action allows The SIEVE mail filtering language [SIEVE] "reject" action defined
users to refuse delivery of a message by sending an [MDN]. This in RFC 3028 only allows users to refuse delivery of a message by
action was originally defined in RFC 3028 [SIEVE]. sending an [MDN].
The "refuse" extension, if supported, permits users to handle This document updates definition of the "reject" action to permit
unwanted email in a way that is sometimes preferable to the users to handle unwanted email in a way that is sometimes
existing 'discard' and 'reject' capabilities. When a spam- preferable to the existing 'discard' and the original 'reject'
detection system suspects a message is spam, but isn't certain, capabilities. When a spam-detection system suspects a message is
discarding the email is considered too risky for some users, for spam, but isn't certain, discarding the email is considered too
example, those who receive sales leads by email. They are willing risky for some users, for example, those who receive sales leads by
to use the reject command. Users are willing to reject but not email. They are willing to use the reject command. Users are
discard because the sender of an email incorrectly marked as spam willing to reject but not discard because the sender of an email
will receive a notification that the email was refused, and will incorrectly marked as spam will receive a notification that the
likely try again to contact the intended recipient, perhaps via email was refused, and will likely try again to contact the
another method of communication. Unfortunately, this usage is intended recipient, perhaps via another method of communication.
problematic, because in the usual case, the email is indeed spam, Unfortunately, this usage is problematic, because in the usual
and the alleged sender to whom the MDN caused by the reject will be case, the email is indeed spam, and the alleged sender to whom the
sent will often be an innocent Joe-job victim. "Refuse" is MDN caused by the reject will be sent will often be an innocent Joe-
intended to be superior to "reject" because it will be less likely job victim. The updated "reject" is less likely to result in email
to result in email to an innocent victim. "Refuse" refuses to to an innocent victim, because it allows to refuse to accept an
accept an email for delivery instead of accepting it and then email for delivery instead of accepting it and then sending an MDN.
sending an MDN. Much spam is sent through open proxies, so Much spam is sent through open proxies, so SMTP level refusal
"refuse" reduces Joe-job bounces resulting from usage of reject. reduces Joe-job bounces (AKA backscatter) resulting from usage of
"Refuse" will also reduce Joe-jobs caused by virus self-propagation MDNs. The updated "reject" will also reduce Joe-jobs caused by
via emails with false sender information. "Refuse" may conserve virus self-propagation via emails with false sender information.
bandwidth, by reducing the number of MDNs sent. Further discussion SMTP level refusal may conserve bandwidth, by reducing the number
highlighting the risks of "reject" and the benefits of "refuse" can of MDNs sent. Further discussion highlighting the risks of
be found in [Joe-DoS]. generating MDNs and the benefits of protocol level refusal can be
found in [Joe-DoS].
2. Conventions Used in this Document 2. Conventions Used in this Document
Conventions for notations are as in [SIEVE] section 1.1, including Conventions for notations are as in [SIEVE] section 1.1, including
use of [KEYWORDS]. use of [KEYWORDS].
This document does not attempt to define what exactly constitutes a This document does not attempt to define what exactly constitutes a
spam or virus containing email or how it should be identified, or spam or virus containing email or how it should be identified, or
what actions should be taken when detected. what actions should be taken when detected.
3. Discussion of finer points 3. SIEVE "reject" extension
The "refuse" action MUST refuse to accept an email for delivery at
the SMTP/LMTP level by returning a 5XX reply code, instead of
sending an MDN as required by the "reject" action, other than for
the two exceptions specified below. A SIEVE implementation that
cannot do so MUST NOT claim to support the refuse extension.
There is an exception when a message has multiple valid recipients,
and at least one but not all of them are refusing delivery (whether
the refusal is caused by execution of a Sieve "refuse" or for
another reason). In this case, the server MUST accept the message
and generate DSNs for all recipients that are refusing it. Note
that this exception only applies to SMTP, as LMTP is able to reject
messages on a per-recipient basis.
If a "refuse" implementation performs a return-path verification
and it clearly indicates that the message has a forged return-path,
the implementation need not refuse to accept the mail, but rather
MAY accept and discard it.
The "reject" action is defined so that it can be used by
implementations unable to implement "refuse" (i.e. by MUAs) or for
backwards compatibility with scripts based on RFC3028.
4. SIEVE "reject" extension
SIEVE implementations that implement the "reject" action must use SIEVE implementations that implement the "reject" action must use
the "reject" capability string. the "reject" capability string.
4.1 Action reject 3.1 Action reject
Syntax: reject <reason: string>
The "reject" action refuses delivery of a message by sending back
an [MDN] to the sender. The "reject" action also cancels the
implicit keep. It resends the message to the sender, wrapping it
in a "reject" form, noting that it was rejected by the recipient.
In the following script, a message is rejected and returned to the
sender.
Example:
require ["reject"]
if header :contains "from" "coyote@desert.example.org" {
reject "I am not taking mail from you, and I don't
want your birdseed, either!";
}
A reject message MUST take the form of a failure MDN as specified
by [MDN]. The human-readable portion of the message, the
first component of the MDN, contains the human readable message
describing the error, and it SHOULD contain additional text
alerting the original sender that mail was refused by a filter.
This part of the MDN might appear as follows:
------------------------------------------------------------
The message was refused by the recipient's mail filtering program.
The reason
given was as follows:
I am not taking mail from you, and I don't want your birdseed,
either!
------------------------------------------------------------
The MDN action-value field as defined in the MDN specification MUST
be "deleted" and MUST have the MDN-sent-automatically and automatic-
action modes set.
4.2 "reject" compatibility with other actions
A "reject" action cancels the implicit keep.
Implementations MUST prohibit more than one reject in a SIEVE
script. "Reject" is also incompatible with the "refuse" and
"vacation" [VACATION] extensions.
Implementations SHOULD prohibit reject when used with other
actions.
5. SIEVE "refuse" extension
SIEVE implementations that implement the "refuse" action must use Usage: reject <reason: string>
the "refuse" capability string.
5.1 Action refuse The "reject" action cancels the implicit keep and refuses delivery
of a message. How message is refused depends on capabilities of
mail component (MUA, MDA or MTA) executing the Sieve script. The
Sieve interpreter must do one of the following actions, as detailed
by the following priority table (items listed earlier take
precedence). Note that if action can not be taken or fails, the
interpreter should try the next item in the list:
Syntax: refuse <reason: string> 1. If message return-path (MAIL FROM) is empty the message MAY be
accepted and discarded.
2. If a "reject" implementation performs a return-path
verification and it clearly indicates that the message has a
forged return-path, the implementation need not refuse mail
delivery, but rather MAY accept and discard it.
3. Message delivery is refused by sending 5XX response code over
SMTP/LMTP. See section 3.1.1 for more details.
4. Message delivery is refused by sending a non delivery report
(DSN). See section 3.1.2 for more details.
5. Message delivery is refused by sending a message disposition
notification report (MDN). See section 3.1.3 for more details.
The "refuse" action refuses delivery of a message by sending back 3.1.1 Rejecting message at SMTP/LMTP protocol level
the 550 SMTP response code to an SMTP client.
This extension can be only supported by a Sieve implementation Sieve engines that are able to reject messages at SMTP/LMTP level
running in an MTA. SHOULD use 550 response code. Note that it is not always possible
to do that, for example if the message is arriving over SMTP and
has multiple recipients, some of which have accepted the message.
See section 3.1.2 for recommendations on how to reject message in
such case.
<<Open issue: do we want to allow for non-ascii text below and do
we need a way to control "reject with DSN containing non-ascii
text" versa "replace non-ascii characters with ?">>
Note that SMTP [SMTP] doesn't allow for non-ASCII characters in Note that SMTP [SMTP] doesn't allow for non-ASCII characters in
SMTP response text. It is an error for non-ASCII characters to SMTP response text. It is an error for non-ASCII characters to
appear in the "reason" string (unless the client and the server use appear in the "reason" string (unless the client and the server use
an SMTP extension that allows for transmission of non-ASCII reply an SMTP extension that allows for transmission of non-ASCII reply
text; such an extension is not known to the authors). text).
If the "reason" string is multiline, than the reason text MUST be If the "reason" string is multiline, than the reason text MUST be
returned as a multiline SMTP/LMTP response, per [SMTP], section returned as a multiline SMTP/LMTP response, per [SMTP], section
4.2.1. 4.2.1. Any line MUST NOT exceed the SMTP limit on the maximal line
length. To make the reason string conform to any such limits the
server MAY insert CRLFs and turn the response into multiline
response.
In the following script (which assumes support for the spamtest In the following script (which assumes support for the spamtest and
extension), messages that test highly positive for spam are fileinto extensions), messages that test highly positive for spam
refused. are refused.
Example: Example:
require ["refuse", "spamtest"] require ["reject", "spamtest",
"comparator-i;ascii-numeric", "fileinto"]
if spamtest :value "ge" :comparator "i;ascii-numeric" "6" { if spamtest :value "ge" :comparator "i;ascii-numeric" "6" {
refuse text: refuse text:
SpamAssassin thinks the message is spam. AntiSpam engine thinks your message is spam.
It is therefore being refused. It is therefore being refused.
Please call 1-900-PAY-US if you want to reach us. Please call 1-900-PAY-US if you want to reach us.
. .
; ;
elsif spamtest :value "ge" :comparator "i;ascii-numeric" "4" { } elsif spamtest :value "ge" :comparator "i;ascii-numeric" "4" {
fileinto "Suspect"; fileinto "Suspect";
} }
The following excerpt from an SMTP session shows it in action. The following excerpt from an SMTP session shows it in action.
...
C: DATA C: DATA
S: 354 Send message, ending in CRLF.CRLF. S: 354 Send message, ending in CRLF.CRLF.
... ...
C: . C: .
S: 550-SpamAssassin thinks the message is spam. S: 550-AntiSpam engine thinks your message is spam.
S: 550-It is therefore being refused. S: 550-It is therefore being refused.
S: 550 Please call 1-900-PAY-US if you want to reach us. S: 550 Please call 1-900-PAY-US if you want to reach us.
5.2 "refuse" compatibility with other actions If the SMTP/LMTP server supports RFC 2034 [ENHANCED-CODES] it MUST
prepend an appropriate Enhanced Error Code to the "reason" text.
Enhanced Error code 5.7.1 or a more generic 5.7.0 are RECOMMENDED.
With Enhanced Error Code the response to DATA command in the SMTP
example below will look like:
"Refuse" cancels the implicit keep, and is incompatible with S: 550-5.7.1 AntiSpam engine thinks your message is spam.
"reject" and "discard". "Refuse" is also incompatible with the S: 550-5.7.1 It is therefore being refused.
"vacation" [VACATION] action. Any action that would modify the S: 550 5.7.1 Please call 1-900-PAY-US if you want to reach us.
message body will necessarily have no effect on the body of any
message refused by "refuse" using the 550 SMTP response code.
If a script attempts to "refuse" the same message more than once,
the implementation may ignore the later attempts or consider it
an error."
5.3 Explicit accomodation for servers that support Enhanced Error if the server selected "5.7.1" as appropriate.
Codes [ENHANCED-CODES]
This section only concerns implementations that support Enhanced 3.1.2 Rejecting message by sending DSN
Error Codes.
If the server supports RFC 2034 [ENHANCED-CODES] it MUST select an If the implementation receives a message via SMTP that has more
appropriate Enhanced Error Code (e.g. 5.7.1 or a more generic than one RCPT TO that has been accepted by the server, and at least
5.7.0) and prepend it to the "reason" text. I.e. on such an one but not all of them are refusing delivery (whether the refusal
implementation, the example in section 4.1 would show up in SMTP is caused by execution of a Sieve "reject" or for another reason).
as: 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.
550-5.7.1 SpamAssassin thinks the message is spam. 3.1.3 Rejecting message by sending MDN
550-5.7.1 It is therefore being refused.
550 5.7.1 Please call 1-900-PAY-US if you want to reach us.
if the server selected "5.7.1" as appropriate. When Sieve engine is running inside MUA it has no ability to reject
the message before it was delivered, as the message is already
deliverd. In this case the client should send a Message Disposition
Notification [MDN] back to the sender. It resends the message to
the sender as specified in the Return-Path header field, wrapping
it in a "reject" form, noting that it was rejected by the
recipient. In the following script, a message is rejected and
returned to the sender.
6. Security Considerations Example:
require ["reject"]
The "refuse" extension does not raise any security considerations if header :contains "from" "coyote@desert.example.org"
that are not present in the base [SIEVE] protocol, and these issues {
are discussed in [SIEVE]. reject text:
I am not taking mail from you, and I don't
want your birdseed, either!"
.
;
}
7. IANA Considerations A reject message MUST take the form of a failure MDN as specified
by [MDN]. The human-readable portion of the message, the first
component of the MDN, contains the human readable message
describing the error, and it SHOULD contain additional text
alerting the original sender that mail was refused by a filter.
This part of the MDN might appear as follows:
The following section provides the IANA registrations for the Sieve ------------------------------------------------------------
extensions specified in this document: The message was refused by the recipient's mail filtering program.
The reason
given was as follows:
7.1 reject extension registration I am not taking mail from you, and I don't want your birdseed,
either!
------------------------------------------------------------
IANA is requested to update the registration for the SIEVE "reject" The MDN action-value field as defined in the MDN specification MUST
and "refuse" extensions to point to this document. be "deleted" and MUST have the MDN-sent-automatically and automatic-
action modes set.
<<Update Tim's email address as well?>> 3.2 "reject" compatibility with other actions
7.2 refuse extension registration A "reject" action cancels the implicit keep.
To: iana@iana.org Implementations MUST prohibit the execution of more than one reject
Subject: Registration of new Sieve extension in a SIEVE script. "Reject" is also incompatible with the
"vacation" [VACATION] extensions.
Capability name: refuse Any action that would modify the message body will not have effect
Capability keyword: refuse on the body of any message refused by "reject" using the 550 SMTP
Capability arguments: N/A response code <<and might not have any effect on context of
Standards Track/IESG-approved experimental RFC number: this RFC generated DSN/MDNs>>.
Person and email address to contact for further information:
Matthew Elvey Implementations SHOULD prohibit reject when used with other
The Elvey Partnership, LLC actions.
3042 Sacramento-ietf St Ste 04
San Francisco, CA
U.S.A.
<mailto:sieve3@matthew.elvey.com> 4. Security Considerations
8. References The "reject" extension does not raise any security considerations
that are not present in the base [SIEVE] protocol, and these issues
are discussed in [SIEVE]. <<Mail loops>>
8.1 Normative References The Introduction section talks about why rejecting messages before
delivery is better then accepting and bouncing them.
5. IANA Considerations
The following section provides the IANA registrations for the Sieve
extensions specified in this document:
5.1 reject extension registration
IANA is requested to update the registration for the SIEVE "reject"
extension to point to this document.
IANA is also requested to update Tim Showalter's email address to
be
tjs@psaux.com
5.2 refuse extension registration
IANA is requested to remove registration of the refuse extension.
6. References
6.1 Normative References
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March 1997. Requirement Levels", RFC 2119, March 1997.
[SIEVE] Showalter, "Sieve: A Mail Filtering Language", RFC 3028, [SIEVE] Showalter, T. and P. Guenther, "Sieve: An Email Filtering
January 2001. Language", Work-in-progress, draft-ietf-sieve-3028bis-XX.txt
Guenther, P., "Sieve: An Email Filtering Language", Work-in-
progress, draft-ietf-sieve-3028bis-XX.txt
[SMTP] Klensin, J. (Editor), "Simple Mail Transfer Protocol", AT&T [SMTP] Klensin, J. (Editor), "Simple Mail Transfer Protocol", AT&T
Laboratories, RFC 2821, April 2001. Laboratories, RFC 2821, April 2001.
[LMTP] Myers, J., "Local Mail Transfer Protocol", Carnegie-Mellon [LMTP] Myers, J., "Local Mail Transfer Protocol", Carnegie-Mellon
University, RFC 2033, October 1996. University, RFC 2033, October 1996.
[DSN] Moore , K., Vaudreuil, G., "An Extensible Message Format for [DSN] Moore , K., Vaudreuil, G., "An Extensible Message Format for
Delivery Status Notifications", University of Tennessee, Lucent Delivery Status Notifications", University of Tennessee, Lucent
Technologies, RFC 3464, January 2003. Technologies, RFC 3464, January 2003.
[MDN] Fajman, R., "An Extensible Message Format for Message [MDN] Fajman, R., "An Extensible Message Format for Message
Disposition Notifications", National Institutes of Health, RFC Disposition Notifications", National Institutes of Health, RFC
2298, March 1998. 2298, March 1998.
[ENHANCED-CODES] Freed, N., "SMTP Service Extension for Returning [ENHANCED-CODES] Freed, N., "SMTP Service Extension for Returning
Enhanced Error Codes", Innosoft, RFC 2034, October 1996. Enhanced Error Codes", Innosoft, RFC 2034, October 1996.
8.2 Informative References 6.2 Informative References
[Joe-DoS] Stefan Frei, Ivo Silvestri, Gunter Ollmann, "Mail Non [Joe-DoS] Stefan Frei, Ivo Silvestri, Gunter Ollmann, "Mail Non
Delivery Message DDoS Attacks", 5 April 2004", Delivery Message DDoS Attacks", 5 April 2004",
<http://www.techzoom.net/paper-mailbomb.asp>. <http://www.techzoom.net/paper-mailbomb.asp>.
9. Acknowledgments [SPAMTEST] Daboo, C., "SIEVE Email Filtering: Spamtest and
Virustest Extensions", work in progress, draft-ietf-sieve-
spamtestbis-XX.txt
<<Note that this reference can be safely replaced with RFC 3685.>>
7. Acknowledgments
Thanks to Ned Freed, Cyrus Daboo, Arnt Gulbrandsen, Kristin Hubner, Thanks to Ned Freed, Cyrus Daboo, Arnt Gulbrandsen, Kristin Hubner,
Mark E. Mallett and Philip Guenther for comments and corrections. Mark E. Mallett, Philip Guenther and Michael Haardt for comments
and corrections.
The authors gratefully acknowledge the extensive work of Tim The authors gratefully acknowledge the extensive work of Tim
Showalter as the author of the RFC 3028, which originally defined Showalter as the author of the RFC 3028, which originally defined
"reject". "reject".
10. Author's Addresses 8. Author's Addresses
Matthew Elvey Matthew Elvey
The Elvey Partnership, LLC The Elvey Partnership, LLC
3042 Sacramento-ietf St Ste 04 3042 Sacramento-ietf St Ste 04
San Francisco, CA San Francisco, CA
U.S.A. U.S.A.
Email: sieve3@matthew.elvey.com Email: sieve3@matthew.elvey.com
Alexey Melnikov Alexey Melnikov
Isode Limited Isode Limited
5 Castle Business Village 5 Castle Business Village
36 Station Road 36 Station Road
Hampton, Middlesex, TW12 2BX Hampton, Middlesex, TW12 2BX
UK UK
Email: Alexey.Melnikov@isode.com Email: Alexey.Melnikov@isode.com
11. Intellectual Property Rights Statement 9. Intellectual Property Rights Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed Intellectual Property Rights or other rights that might be claimed
to pertain to the implementation or use of the technology described to pertain to the implementation or use of the technology described
in this document or the extent to which any license under such in this document or the extent to which any license under such
rights might or might not be available; nor does it represent that rights might or might not be available; nor does it represent that
it has made any independent effort to identify any such rights. it has made any independent effort to identify any such rights.
Information on the procedures with respect to rights in RFC Information on the procedures with respect to rights in RFC
documents can be found in BCP 78 and BCP 79. documents can be found in BCP 78 and BCP 79.
skipping to change at line 404 skipping to change at line 396
of such proprietary rights by implementers or users of this of such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository specification can be obtained from the IETF on-line IPR repository
at http://www.ietf.org/ipr. at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf- this standard. Please address the information to the IETF at ietf-
ipr@ietf.org. ipr@ietf.org.
12. Full Copyright Statement 10. Full Copyright Statement
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors contained in BCP 78, and except as set forth therein, the authors
retain all their rights. retain all their rights.
This document and the information contained herein are provided on This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR
ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE. PARTICULAR PURPOSE.
Acknowledgement Acknowledgement
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
13. Changes from RFC 3028 11. Changes from RFC 3028
Clarified that the "reject" action cancels the implicit keep. Clarified that the "reject" action cancels the implicit keep.
Extended list of allowable actions on reject to include protocol
level message rejection and generation of DSNs.
14. Change Log 12. Change Log
<<Note that this section will be deleted before publication.>> <<Note that this section will be deleted before publication.>>
00 First formal draft. 00 First formal draft.
01 Explicit RFC 2034 support, disallow "refuse" in MUAs, typos 01 Explicit RFC 2034 support, disallow "refuse" in MUAs, typos
corrected, clarifications, etc. corrected, clarifications, etc.
02 Many insubstantial editorial changes (mostly rewording text for 02 Many insubstantial editorial changes (mostly rewording text for
readability). Added text regarding non-ASCII characters in the readability). Added text regarding non-ASCII characters in the
refuse "reason" string. Added an exception allowing return-path refuse "reason" string. Added an exception allowing return-path
forgery to justify discarding a message. forgery to justify discarding a message.
03 (Renamed to be SIEVE WG 00) - Updated boilerplate, added reject 03 (Renamed to be SIEVE WG 00) - Updated boilerplate, added reject
action from the base spec, acknowledged Tim as the author of action from the base spec, acknowledged Tim as the author of
"reject". "reject".
04 (SIEVE WG 01) Based on WGLC feedback, the refuse and the reject
actions were merged into a single action called reject. Text
reorganized as the result. Typos and examples corrected. Updated
IANA registration and Security Considerations sections.
 End of changes. 55 change blocks. 
220 lines changed or deleted 214 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/