Network Working Group A. Melnikov Internet-Draft Isode Ltd Updates: 5228 (if approved) K. Murchison Intended status: Standards Track Fastmail Expires: 8 September 2022 7 March 2022 IANA registry for Sieve actions draft-ietf-extra-sieve-action-registry-02 Abstract This document creates a registry of Sieve (RFC 5228) actions in order to help developers and Sieve extension writers track interactions between different extensions. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 8 September 2022. Copyright Notice Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Melnikov & Murchison Expires 8 September 2022 [Page 1] Internet-Draft IANA registry for Sieve actions March 2022 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions Used in This Document . . . . . . . . . . . . . . 2 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 2 3.1. Sieve Actions Registration Template and Procedure . . . . 2 3.2. Initial Sieve Action Registry . . . . . . . . . . . . . . 3 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 5. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.1. Normative References . . . . . . . . . . . . . . . . . . 6 5.2. Informative References . . . . . . . . . . . . . . . . . 6 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction Sieve Email Filtering Language [RFC5228] is a popular email filtering language used upon final mail delivery. Popularity of Sieve resulted 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 out all actions defined by Sieve extensions published in RFCs, which make it quite difficult for Sieve extension writers and Sieve implementation developers to forsee interactions between Sieve actions. This document creates a registry of Sieve [RFC5228] actions in order to help developers and Sieve extension writers track interactions between different extensions. 2. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 3. IANA Considerations 3.1. Sieve Actions Registration Template and Procedure IANA is requested to create a new registry for Sieve actions (see Section 2.9 of [RFC5228] for details on Sieve actions). Registration of both actions specified in IETF Stream RFCs and vendor specific actions is allowed and encouraged. The registration template contains: 1. name of the action; Melnikov & Murchison Expires 8 September 2022 [Page 2] Internet-Draft IANA registry for Sieve actions March 2022 2. short description; 3. references: one or more documents describing the action and any significant updates to its definition (this field is REQUIRED for actions described in RFCs and OPTIONAL otherwise); 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 Designated Expert only checks that the name of the action being registered matches documentation, that the description field is accurate, that the correct documents are referenced and that the list of relevant documents is as complete as possible. The Designated Expert can't reject a registration based on personal dislike of the document defining an action and should always err on the side of registering, even if documentation is not complete. Addition of a new reference to an existing registration or change to the description field goes through the same registration procedure as 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 | | | | Melnikov & Murchison Expires 8 September 2022 [Page 3] Internet-Draft IANA registry for Sieve actions March 2022 | | | | |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 | | | | Melnikov & Murchison Expires 8 September 2022 [Page 4] Internet-Draft IANA registry for Sieve actions March 2022 | |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- | | | | | Melnikov & Murchison Expires 8 September 2022 [Page 5] Internet-Draft IANA registry for Sieve actions March 2022 | | |[RFC8580] |seconds", | | | | | | | | |"fcc" | | | | | +------------+-------------+----------+--------------+------------+--------+-------+--------+ Table 1 4. Security Considerations The sole purpose of this document is to create a new IANA registry, so it doesn't create new security considerations for Sieve implementations. The new registry should help Sieve extension writers and Sieve implementors track interactions between different Sieve actions, so it might improve quality of specifications and implementations, including security aspects. 5. References 5.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC5228] Guenther, P., Ed. and T. Showalter, Ed., "Sieve: An Email Filtering Language", RFC 5228, DOI 10.17487/RFC5228, January 2008, . [RFC6785] Leiba, B., "Support for Internet Message Access Protocol (IMAP) Events in Sieve", RFC 6785, DOI 10.17487/RFC6785, November 2012, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 5.2. Informative References [RFC3894] Degener, J., "Sieve Extension: Copying Without Side Effects", RFC 3894, DOI 10.17487/RFC3894, October 2004, . [RFC5229] Homme, K., "Sieve Email Filtering: Variables Extension", RFC 5229, DOI 10.17487/RFC5229, January 2008, . Melnikov & Murchison Expires 8 September 2022 [Page 6] Internet-Draft IANA registry for Sieve actions March 2022 [RFC5230] Showalter, T. and N. Freed, Ed., "Sieve Email Filtering: Vacation Extension", RFC 5230, DOI 10.17487/RFC5230, January 2008, . [RFC5232] Melnikov, A., "Sieve Email Filtering: Imap4flags Extension", RFC 5232, DOI 10.17487/RFC5232, January 2008, . [RFC5293] Degener, J. and P. Guenther, "Sieve Email Filtering: Editheader Extension", RFC 5293, DOI 10.17487/RFC5293, August 2008, . [RFC5429] Stone, A., Ed., "Sieve Email Filtering: Reject and Extended Reject Extensions", RFC 5429, DOI 10.17487/RFC5429, March 2009, . [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, . [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, . [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, . [RFC6009] Freed, N., "Sieve Email Filtering: Delivery Status Notifications and Deliver-By Extensions", RFC 6009, DOI 10.17487/RFC6009, October 2010, . [RFC6131] George, R. and B. Leiba, "Sieve Vacation Extension: "Seconds" Parameter", RFC 6131, DOI 10.17487/RFC6131, July 2011, . [RFC6134] Melnikov, A. and B. Leiba, "Sieve Extension: Externally Stored Lists", RFC 6134, DOI 10.17487/RFC6134, July 2011, . Melnikov & Murchison Expires 8 September 2022 [Page 7] Internet-Draft IANA registry for Sieve actions March 2022 [RFC6558] Melnikov, A., Leiba, B., and K. Li, "Sieve Extension for Converting Messages before Delivery", RFC 6558, DOI 10.17487/RFC6558, March 2012, . [RFC8579] Bosch, S., "Sieve Email Filtering: Delivering to Special- Use Mailboxes", RFC 8579, DOI 10.17487/RFC8579, May 2019, . [RFC8580] Murchison, K. and B. Gondwana, "Sieve Extension: File Carbon Copy (FCC)", RFC 8580, DOI 10.17487/RFC8580, May 2019, . [RFC9042] Gondwana, B., Ed., "Sieve Email Filtering: Delivery by MAILBOXID", RFC 9042, DOI 10.17487/RFC9042, June 2021, . Appendix A. Acknowledgements TBD. Authors' Addresses Alexey Melnikov Isode Ltd 14 Castle Mews Hampton TW12 2NP United Kingdom 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 Melnikov & Murchison Expires 8 September 2022 [Page 8]