Skip to main content

IANA registry for Sieve actions
draft-ietf-extra-sieve-action-registry-03

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 9122.
Authors Alexey Melnikov , Kenneth Murchison
Last updated 2022-08-15
Replaces draft-melnikov-extra-sieve-action-registry
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state In WG Last Call
Document shepherd Bron Gondwana
IESG IESG state Became RFC 9122 (Proposed Standard)
Consensus boilerplate Yes
Telechat date (None)
Responsible AD (None)
Send notices to brong@fastmailteam.com
draft-ietf-extra-sieve-action-registry-03
Network Working Group                                        A. Melnikov
Internet-Draft                                                 Isode Ltd
Intended status: Informational                              K. Murchison
Expires: 16 February 2023                                       Fastmail
                                                          15 August 2022

                    IANA registry for Sieve actions
               draft-ietf-extra-sieve-action-registry-03

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 16 February 2023.

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 16 February 2023                [Page 1]
Internet-Draft       IANA registry for Sieve actions         August 2022

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   2
     2.1.  Sieve Actions Registration Template and Procedure . . . .   2
     2.2.  Initial Sieve Action Registry . . . . . . . . . . . . . .   3
   3.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   4.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     4.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     4.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   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.  IANA Considerations

2.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;

   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 is optional otherwise);

   4.  name(s) of Sieve capabilit(ies) associated with the Sieve action
       being registered;

Melnikov & Murchison    Expires 16 February 2023                [Page 2]
Internet-Draft       IANA registry for Sieve actions         August 2022

   5.  interactions with other Sieve actions (as described in
       Section 2.10.1 of [RFC5228]), 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]);

   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.

2.2.  Initial Sieve Action Registry

   The following table is used to initialize the actions registry.  Note
   that when "Action Interactions" cell is empty it means that there is
   no restriction on use of the corresponding action with any other
   action, however implementors still need to read the corresponding
   specification(s) to see if there is are any surprising behaviour.

   +============+=============+==========+==============+============+========+=======+========+
   |Name        |Description  |References|Capabilities  |Action      |Cancels |Can use|Comments|
   |            |             |          |              |Interactions|Implicit|with   |        |
   |            |             |          |              |            |Keep?   |IMAP   |        |
   |            |             |          |              |            |        |Events?|        |
   +============+=============+==========+==============+============+========+=======+========+
   |addheader   |Add a header |[RFC5293] |"editheader"  |All         |No      |       |        |
   |            |field to the |          |              |subsequent  |        |       |        |
   |            |existing     |          |              |tests and   |        |       |        |
   |            |message      |          |              |actions     |        |       |        |
   |            |header       |          |              |apply to the|        |       |        |
   |            |             |          |              |altered     |        |       |        |
   |            |             |          |              |message     |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |addflag     |Add IMAP     |[RFC5232],|"imap4flags", |            |No      |       |        |
   |            |flags to a   |[RFC5229] |"variables"   |            |        |       |        |

Melnikov & Murchison    Expires 16 February 2023                [Page 3]
Internet-Draft       IANA registry for Sieve actions         August 2022

   |            |list of IMAP |          |              |            |        |       |        |
   |            |flags that   |          |              |            |        |       |        |
   |            |would be set |          |              |            |        |       |        |
   |            |on the       |          |              |            |        |       |        |
   |            |message if it|          |              |            |        |       |        |
   |            |gets         |          |              |            |        |       |        |
   |            |delivered to |          |              |            |        |       |        |
   |            |a mailbox    |          |              |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |convert     |Convert body |[RFC6558] |"convert"     |All         |No      |       |        |
   |            |parts from   |          |              |subsequent  |        |       |        |
   |            |one MIME type|          |              |tests and   |        |       |        |
   |            |to another   |          |              |actions     |        |       |        |
   |            |             |          |              |apply to the|        |       |        |
   |            |             |          |              |altered     |        |       |        |
   |            |             |          |              |message     |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |deleteheader|Remove a     |[RFC5293] |"editheader"  |All         |No      |       |        |
   |            |header field |          |              |subsequent  |        |       |        |
   |            |from the     |          |              |tests and   |        |       |        |
   |            |existing     |          |              |actions     |        |       |        |
   |            |message      |          |              |apply to the|        |       |        |
   |            |header       |          |              |altered     |        |       |        |
   |            |             |          |              |message     |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |discard     |Silently     |[RFC5228] |              |            |Yes     |       |        |
   |            |throw away   |          |              |            |        |       |        |
   |            |the message  |          |              |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |enclose     |Enclose a    |[RFC5703] |"enclose"     |All         |No      |       |        |
   |            |message as an|          |              |subsequent  |        |       |        |
   |            |attachment to|          |              |tests and   |        |       |        |
   |            |a new message|          |              |actions,    |        |       |        |
   |            |             |          |              |except      |        |       |        |
   |            |             |          |              |"redirect"  |        |       |        |
   |            |             |          |              |apply to the|        |       |        |
   |            |             |          |              |altered     |        |       |        |
   |            |             |          |              |message     |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |ereject     |Refuse       |[RFC5429] |"ereject"     |            |Yes     |No     |        |
   |            |delivery of  |          |              |            |        |       |        |
   |            |the message  |          |              |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |extracttext |Store text of|[RFC5703],|"extracttext",|            |No      |       |        |
   |            |a MIME part  |[RFC5229] |"variables"   |            |        |       |        |
   |            |into a       |          |              |            |        |       |        |
   |            |variable     |          |              |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+

Melnikov & Murchison    Expires 16 February 2023                [Page 4]
Internet-Draft       IANA registry for Sieve actions         August 2022

   |fileinto    |Deliver the  |[RFC5228],|"fileinto",   |Use of :copy|Yes     |       |        |
   |            |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"  |            |Yes     |       |        |
   |            |into the     |[RFC5232] |              |            |        |       |        |
   |            |user's main  |          |              |            |        |       |        |
   |            |mailbox      |          |              |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |notify      |Send a       |[RFC5435],|"enotify",    |            |No      |       |        |
   |            |notification |[RFC8580] |"fcc"         |            |        |       |        |
   |            |to a user    |          |              |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |redirect    |Send         |[RFC5228],|"copy",       |Use of :copy|Yes     |       |        |
   |            |(forward) the|[RFC3894],|"redirect-    |suppresses  |        |       |        |
   |            |message to   |[RFC6009],|dsn",         |cancelation |        |       |        |
   |            |another user |[RFC6134] |"redirect-    |of implicit |        |       |        |
   |            |             |          |deliverby",   |keep        |        |       |        |
   |            |             |          |"extlists"    |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |reject      |Refuse       |[RFC5429] |"reject"      |            |Yes     |No     |        |
   |            |delivery of  |          |              |            |        |       |        |
   |            |the message  |          |              |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |removeflag  |Remove IMAP  |[RFC5232],|"imap4flags", |            |No      |       |        |
   |            |flags from a |[RFC5229] |"variables"   |            |        |       |        |
   |            |list of IMAP |          |              |            |        |       |        |
   |            |flags that   |          |              |            |        |       |        |
   |            |would be set |          |              |            |        |       |        |
   |            |on the       |          |              |            |        |       |        |
   |            |message if it|          |              |            |        |       |        |
   |            |gets         |          |              |            |        |       |        |
   |            |delivered to |          |              |            |        |       |        |
   |            |a mailbox    |          |              |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |replace     |Replace a    |[RFC5703] |"replace"     |All         |No      |       |        |
   |            |MIME part    |          |              |subsequent  |        |       |        |
   |            |             |          |              |tests and   |        |       |        |
   |            |             |          |              |actions,    |        |       |        |
   |            |             |          |              |except      |        |       |        |
   |            |             |          |              |"redirect"  |        |       |        |
   |            |             |          |              |apply to the|        |       |        |
   |            |             |          |              |altered     |        |       |        |
   |            |             |          |              |message     |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+

Melnikov & Murchison    Expires 16 February 2023                [Page 5]
Internet-Draft       IANA registry for Sieve actions         August 2022

   |set         |Store a value|[RFC5229] |"variables"   |            |No      |       |        |
   |            |in a variable|          |              |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |setflag     |Set IMAP     |[RFC5232],|"imap4flags", |            |No      |       |        |
   |            |system flags |[RFC5229] |"variables"   |            |        |       |        |
   |            |or keywords  |          |              |            |        |       |        |
   |            |that would be|          |              |            |        |       |        |
   |            |set on the   |          |              |            |        |       |        |
   |            |message if it|          |              |            |        |       |        |
   |            |gets         |          |              |            |        |       |        |
   |            |delivered to |          |              |            |        |       |        |
   |            |a mailbox    |          |              |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+
   |vacation    |Vacation     |[RFC5230],|"vacation",   |            |No      |No     |        |
   |            |autoresponder|[RFC6131],|"vacation-    |            |        |       |        |
   |            |             |[RFC8580] |seconds",     |            |        |       |        |
   |            |             |          |"fcc"         |            |        |       |        |
   +------------+-------------+----------+--------------+------------+--------+-------+--------+

                                  Table 1

3.  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.

4.  References

4.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,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC5228]  Guenther, P., Ed. and T. Showalter, Ed., "Sieve: An Email
              Filtering Language", RFC 5228, DOI 10.17487/RFC5228,
              January 2008, <https://www.rfc-editor.org/info/rfc5228>.

   [RFC6785]  Leiba, B., "Support for Internet Message Access Protocol
              (IMAP) Events in Sieve", RFC 6785, DOI 10.17487/RFC6785,
              November 2012, <https://www.rfc-editor.org/info/rfc6785>.

Melnikov & Murchison    Expires 16 February 2023                [Page 6]
Internet-Draft       IANA registry for Sieve actions         August 2022

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

4.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>.

Melnikov & Murchison    Expires 16 February 2023                [Page 7]
Internet-Draft       IANA registry for Sieve actions         August 2022

   [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

   TBD.

Authors' Addresses

   Alexey Melnikov
   Isode Ltd
   14 Castle Mews
   Hampton
   TW12 2NP
   United Kingdom
   Email: Alexey.Melnikov@isode.com

Melnikov & Murchison    Expires 16 February 2023                [Page 8]
Internet-Draft       IANA registry for Sieve actions         August 2022

   Kenneth Murchison
   Fastmail US LLC
   1429 Walnut Street - Suite 1201
   Philadelphia, PA 19102
   United States of America
   Email: murch@fastmailteam.com

Melnikov & Murchison    Expires 16 February 2023                [Page 9]