draft-ietf-extra-sieve-action-registry-01.txt   draft-ietf-extra-sieve-action-registry-02.txt 
Network Working Group A. Melnikov Network Working Group A. Melnikov
Internet-Draft Isode Ltd Internet-Draft Isode Ltd
Updates: 5228 (if approved) 3 March 2022 Updates: 5228 (if approved) K. Murchison
Intended status: Standards Track Intended status: Standards Track Fastmail
Expires: 4 September 2022 Expires: 8 September 2022 7 March 2022
IANA registry for Sieve actions IANA registry for Sieve actions
draft-ietf-extra-sieve-action-registry-01 draft-ietf-extra-sieve-action-registry-02
Abstract Abstract
This document creates a registry of Sieve (RFC 5228) actions in order This document creates a registry of Sieve (RFC 5228) actions in order
to help developers and Sieve extension writers track interactions to help developers and Sieve extension writers track interactions
between different extensions. between different extensions.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 33 skipping to change at page 1, line 33
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 4 September 2022. This Internet-Draft will expire on 8 September 2022.
Copyright Notice Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License. provided without warranty as described in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions Used in This Document . . . . . . . . . . . . . . 2 2. Conventions Used in This Document . . . . . . . . . . . . . . 2
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 2 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 2
4. Security Considerations . . . . . . . . . . . . . . . . . . . 3 3.1. Sieve Actions Registration Template and Procedure . . . . 2
5. Normative References . . . . . . . . . . . . . . . . . . . . 3 3.2. Initial Sieve Action Registry . . . . . . . . . . . . . . 3
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 3 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 4 5. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Normative References . . . . . . . . . . . . . . . . . . 6
5.2. Informative References . . . . . . . . . . . . . . . . . 6
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction 1. Introduction
Sieve Email Filtering Language [RFC5228] is a popular email filtering Sieve Email Filtering Language [RFC5228] is a popular email filtering
language used upon final mail delivery. Popularity of Sieve resulted language used upon final mail delivery. Popularity of Sieve resulted
in a myriad of Sieve extensions that can interact with each other in in a myriad of Sieve extensions that can interact with each other in
wonderful and complex ways. There is currently no easy way to find wonderful and complex ways. There is currently no easy way to find
out all actions defined by Sieve extensions published in RFCs, which out all actions defined by Sieve extensions published in RFCs, which
make it quite difficult for Sieve extension writers and Sieve make it quite difficult for Sieve extension writers and Sieve
implementation developers to forsee interactions between Sieve implementation developers to forsee interactions between Sieve
skipping to change at page 2, line 40 skipping to change at page 2, line 44
2. Conventions Used in This Document 2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. IANA Considerations 3. IANA Considerations
3.1. Sieve Actions Registration Template and Procedure
IANA is requested to create a new registry for Sieve actions (see IANA is requested to create a new registry for Sieve actions (see
Section 2.9 of [RFC5228] for details on Sieve actions). Registration Section 2.9 of [RFC5228] for details on Sieve actions). Registration
of both actions specified in IETF Stream RFCs and vendor specific of both actions specified in IETF Stream RFCs and vendor specific
actions is allowed and encouraged. The registration template actions is allowed and encouraged. The registration template
contains 1) name of the action; 2) short description; 3) references: contains:
one or more documents describing the action and any significant
updates to its definition (this field is REQUIRED for actions 1. name of the action;
described in RFCs and OPTIONAL otherwise); 4) name(s) of Sieve 2. short description;
capabilit(ies) associated with the Sieve action being registered; 5)
interactions with other Sieve actions, if any; 6) flag specifying 3. references: one or more documents describing the action and any
whether the action cancels the implicit keep (see Section 2.10.2 of significant updates to its definition (this field is REQUIRED for
[RFC5228]); 7) whether or not this action can be used with IMAP actions described in RFCs and OPTIONAL otherwise);
events in Sieve ([RFC6785]), and 8) optional comment.
4. name(s) of Sieve capabilit(ies) associated with the Sieve action
being registered;
5. interactions with other Sieve actions, if any;
6. flag specifying whether the action cancels the implicit keep (see
Section 2.10.2 of [RFC5228]);
7. whether or not this action can be used with IMAP events in Sieve
([RFC6785]), and
8. optional comment.
Registration procedure for this registry is Expert Review. The Registration procedure for this registry is Expert Review. The
Designated Expert only checks that the name of the action being Designated Expert only checks that the name of the action being
registered matches documentation, that the description field is registered matches documentation, that the description field is
accurate, that the correct documents are referenced and that the list accurate, that the correct documents are referenced and that the list
of relevant documents is as complete as possible. The Designated of relevant documents is as complete as possible. The Designated
Expert can't reject a registration based on personal dislike of the Expert can't reject a registration based on personal dislike of the
document defining an action and should always err on the side of document defining an action and should always err on the side of
registering, even if documentation is not complete. registering, even if documentation is not complete.
Addition of a new reference to an existing registration or change to Addition of a new reference to an existing registration or change to
the description field goes through the same registration procedure as the description field goes through the same registration procedure as
a new registration. a new registration.
3.2. Initial Sieve Action Registry
The following table is used to initialize the actions registry.
+============+=============+==========+==============+============+========+=======+========+
|Name |Description |References|Capabilities |Interactions|Cancels |Use |Comments|
| | | | | |Implicit|with | |
| | | | | |Keep? |IMAP | |
| | | | | | |Events?| |
+============+=============+==========+==============+============+========+=======+========+
|addheader |Add a header |[RFC5293] |"editheader" |All |N | | |
| |field to the | | |subsequent | | | |
| |existing | | |tests and | | | |
| |message | | |actions | | | |
| |header | | |apply to the| | | |
| | | | |altered | | | |
| | | | |message | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|addflag |Add flags to |[RFC5232],|"imap4flags", | |N | | |
| |a list of |[RFC5229] |"variables" | | | | |
| |IMAP flags | | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|convert |Convert body |[RFC6558] |"convert" |All |N | | |
| |parts from | | |subsequent | | | |
| |one MIME type| | |tests and | | | |
| |to another | | |actions | | | |
| | | | |apply to the| | | |
| | | | |altered | | | |
| | | | |message | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|deleteheader|Remove a |[RFC5293] |"editheader" |All |N | | |
| |header field | | |subsequent | | | |
| |from the | | |tests and | | | |
| |existing | | |actions | | | |
| |message | | |apply to the| | | |
| |header | | |altered | | | |
| | | | |message | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|discard |Silently |[RFC5228] | |Compatible |Y | | |
| |throw away | | |with all | | | |
| |the message | | |other | | | |
| | | | |actions | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|enclose |Enclose a |[RFC5703] |"enclose" |All |N | | |
| |message as an| | |subsequent | | | |
| |attachment to| | |tests and | | | |
| |a new message| | |actions, | | | |
| | | | |except | | | |
| | | | |"redirect" | | | |
| | | | |apply to the| | | |
| | | | |altered | | | |
| | | | |message | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|ereject |Refuse |[RFC5429] |"ereject" | |Y |N | |
| |delivery of | | | | | | |
| |the message | | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|extracttext |Store text of|[RFC5703],|"extracttext",| |N | | |
| |a MIME part |[RFC5229] |"variables" | | | | |
| |into a | | | | | | |
| |variable | | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|fileinto |Deliver the |[RFC5228],|"fileinto", |Use of :copy|Y | | |
| |message into |[RFC3894],|"copy", |suppresses | | | |
| |the specified|[RFC5232],|"imap4flags", |cancelation | | | |
| |mailbox |[RFC5490],|"mailbox", |of implicit | | | |
| | |[RFC9042],|"mailboxid", |keep | | | |
| | |[RFC8579] |"special-use" | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|keep |File message |[RFC5228],|"imap4flags" | |Y | | |
| |into the |[RFC5232] | | | | | |
| |user's main | | | | | | |
| |mailbox | | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|notify |Send a |[RFC5435],|"enotify", | |N | | |
| |notification |[RFC8580] |"fcc" | | | | |
| |to a user | | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|redirect |Send |[RFC5228],|"copy", |Use of :copy|Y | | |
| |(forward) the|[RFC3894],|"redirect- |suppresses | | | |
| |message to |[RFC6009],|dsn", |cancelation | | | |
| |another user |[RFC6134] |"redirect- |of implicit | | | |
| | | |deliverby", |keep | | | |
| | | |"extlists" | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|reject |Refuse |[RFC5429] |"reject" | |Y |N | |
| |delivery of | | | | | | |
| |the message | | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|removeflag |Remove flags |[RFC5232],|"imap4flags", | |N | | |
| |from a list |[RFC5229] |"variables" | | | | |
| |of IMAP flags| | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|replace |Replace a |[RFC5703] |"replace" |All |N | | |
| |MIME part | | |subsequent | | | |
| | | | |tests and | | | |
| | | | |actions, | | | |
| | | | |except | | | |
| | | | |"redirect" | | | |
| | | | |apply to the| | | |
| | | | |altered | | | |
| | | | |message | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|set |Store a value|[RFC5229] |"variables" | |N | | |
| |in a variable| | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|setflag |Set IMAP |[RFC5232],|"imap4flags", | |N | | |
| |system flags |[RFC5229] |"variables" | | | | |
| |or keywords | | | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
|vacation |Vacation |[RFC5230],|"vacation", | |N |N | |
| |autoresponder|[RFC6131],|"vacation- | | | | |
| | |[RFC8580] |seconds", | | | | |
| | | |"fcc" | | | | |
+------------+-------------+----------+--------------+------------+--------+-------+--------+
Table 1
4. Security Considerations 4. Security Considerations
The sole purpose of this document is to create a new IANA registry, The sole purpose of this document is to create a new IANA registry,
so it doesn't create new security considerations for Sieve so it doesn't create new security considerations for Sieve
implementations. implementations.
The new registry should help Sieve extension writers and Sieve The new registry should help Sieve extension writers and Sieve
implementors track interactions between different Sieve actions, so implementors track interactions between different Sieve actions, so
it might improve quality of specifications and implementations, it might improve quality of specifications and implementations,
including security aspects. including security aspects.
5. Normative References 5. References
5.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC5228] Guenther, P., Ed. and T. Showalter, Ed., "Sieve: An Email [RFC5228] Guenther, P., Ed. and T. Showalter, Ed., "Sieve: An Email
Filtering Language", RFC 5228, DOI 10.17487/RFC5228, Filtering Language", RFC 5228, DOI 10.17487/RFC5228,
January 2008, <https://www.rfc-editor.org/info/rfc5228>. January 2008, <https://www.rfc-editor.org/info/rfc5228>.
[RFC6785] Leiba, B., "Support for Internet Message Access Protocol [RFC6785] Leiba, B., "Support for Internet Message Access Protocol
(IMAP) Events in Sieve", RFC 6785, DOI 10.17487/RFC6785, (IMAP) Events in Sieve", RFC 6785, DOI 10.17487/RFC6785,
November 2012, <https://www.rfc-editor.org/info/rfc6785>. November 2012, <https://www.rfc-editor.org/info/rfc6785>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
5.2. Informative References
[RFC3894] Degener, J., "Sieve Extension: Copying Without Side
Effects", RFC 3894, DOI 10.17487/RFC3894, October 2004,
<https://www.rfc-editor.org/info/rfc3894>.
[RFC5229] Homme, K., "Sieve Email Filtering: Variables Extension",
RFC 5229, DOI 10.17487/RFC5229, January 2008,
<https://www.rfc-editor.org/info/rfc5229>.
[RFC5230] Showalter, T. and N. Freed, Ed., "Sieve Email Filtering:
Vacation Extension", RFC 5230, DOI 10.17487/RFC5230,
January 2008, <https://www.rfc-editor.org/info/rfc5230>.
[RFC5232] Melnikov, A., "Sieve Email Filtering: Imap4flags
Extension", RFC 5232, DOI 10.17487/RFC5232, January 2008,
<https://www.rfc-editor.org/info/rfc5232>.
[RFC5293] Degener, J. and P. Guenther, "Sieve Email Filtering:
Editheader Extension", RFC 5293, DOI 10.17487/RFC5293,
August 2008, <https://www.rfc-editor.org/info/rfc5293>.
[RFC5429] Stone, A., Ed., "Sieve Email Filtering: Reject and
Extended Reject Extensions", RFC 5429,
DOI 10.17487/RFC5429, March 2009,
<https://www.rfc-editor.org/info/rfc5429>.
[RFC5435] Melnikov, A., Ed., Leiba, B., Ed., Segmuller, W., and T.
Martin, "Sieve Email Filtering: Extension for
Notifications", RFC 5435, DOI 10.17487/RFC5435, January
2009, <https://www.rfc-editor.org/info/rfc5435>.
[RFC5490] Melnikov, A., "The Sieve Mail-Filtering Language --
Extensions for Checking Mailbox Status and Accessing
Mailbox Metadata", RFC 5490, DOI 10.17487/RFC5490, March
2009, <https://www.rfc-editor.org/info/rfc5490>.
[RFC5703] Hansen, T. and C. Daboo, "Sieve Email Filtering: MIME Part
Tests, Iteration, Extraction, Replacement, and Enclosure",
RFC 5703, DOI 10.17487/RFC5703, October 2009,
<https://www.rfc-editor.org/info/rfc5703>.
[RFC6009] Freed, N., "Sieve Email Filtering: Delivery Status
Notifications and Deliver-By Extensions", RFC 6009,
DOI 10.17487/RFC6009, October 2010,
<https://www.rfc-editor.org/info/rfc6009>.
[RFC6131] George, R. and B. Leiba, "Sieve Vacation Extension:
"Seconds" Parameter", RFC 6131, DOI 10.17487/RFC6131, July
2011, <https://www.rfc-editor.org/info/rfc6131>.
[RFC6134] Melnikov, A. and B. Leiba, "Sieve Extension: Externally
Stored Lists", RFC 6134, DOI 10.17487/RFC6134, July 2011,
<https://www.rfc-editor.org/info/rfc6134>.
[RFC6558] Melnikov, A., Leiba, B., and K. Li, "Sieve Extension for
Converting Messages before Delivery", RFC 6558,
DOI 10.17487/RFC6558, March 2012,
<https://www.rfc-editor.org/info/rfc6558>.
[RFC8579] Bosch, S., "Sieve Email Filtering: Delivering to Special-
Use Mailboxes", RFC 8579, DOI 10.17487/RFC8579, May 2019,
<https://www.rfc-editor.org/info/rfc8579>.
[RFC8580] Murchison, K. and B. Gondwana, "Sieve Extension: File
Carbon Copy (FCC)", RFC 8580, DOI 10.17487/RFC8580, May
2019, <https://www.rfc-editor.org/info/rfc8580>.
[RFC9042] Gondwana, B., Ed., "Sieve Email Filtering: Delivery by
MAILBOXID", RFC 9042, DOI 10.17487/RFC9042, June 2021,
<https://www.rfc-editor.org/info/rfc9042>.
Appendix A. Acknowledgements Appendix A. Acknowledgements
TBD. TBD.
Author's Address Authors' Addresses
Alexey Melnikov Alexey Melnikov
Isode Ltd Isode Ltd
14 Castle Mews 14 Castle Mews
Hampton Hampton
TW12 2NP TW12 2NP
United Kingdom United Kingdom
Email: Alexey.Melnikov@isode.com Email: Alexey.Melnikov@isode.com
Kenneth Murchison
Fastmail US LLC
1429 Walnut Street - Suite 1201
Philadelphia, PA 19102
United States of America
Email: murch@fastmailteam.com
 End of changes. 11 change blocks. 
20 lines changed or deleted 230 lines changed or added

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