Internet-Draft IANA registry for Sieve actions December 2022
Melnikov & Murchison Expires 24 June 2023 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-ietf-extra-sieve-action-registry-05
Published:
Intended Status:
Informational
Expires:
Authors:
A. Melnikov
Isode Ltd
K. Murchison
Fastmail

IANA registry for Sieve actions

Abstract

Sieve Email Filtering Language (RFC 5228) is a popular email filtering language used upon final mail delivery. 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 24 June 2023.

Table of Contents

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;
  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. Also note that the "Comments" field of the registration template is omitted from this table, as no registration currently have any comment.

Table 1
Name Description References Capabilities Action Interactions Cancels Implicit Keep? Can use with IMAP Events?
addheader Add a header field to the existing message header [RFC5293] "editheader" All subsequent tests and actions apply to the altered message No Yes
addflag Add IMAP flags to a list of IMAP flags that would be set on the message if it gets delivered to a mailbox [RFC5232], [RFC5229] "imap4flags", "variables" No Yes
convert Convert body parts from one MIME type to another [RFC6558] "convert" All subsequent tests and actions apply to the altered message No Yes
deleteheader Remove a header field from the existing message header [RFC5293] "editheader" All subsequent tests and actions apply to the altered message No Yes
discard Silently throw away the message [RFC5228] Yes Yes
enclose Enclose a message as an attachment to a new message [RFC5703] "enclose" All subsequent tests and actions, except "redirect" apply to the altered message No Yes
ereject Refuse delivery of the message [RFC5429] "ereject" Incompatible with "vacation" action. Typically is not permitted with actions that cause mail delivery, such as "keep", "fileinto", and "redirect". Yes No
extracttext Store text of a MIME part into a variable [RFC5703], [RFC5229] "extracttext", "variables" No Yes
fileinto Deliver the message into the specified mailbox [RFC5228], [RFC3894], [RFC5232], [RFC5490], [RFC9042], [RFC8579] "fileinto", "copy", "imap4flags", "mailbox", "mailboxid", "special-use" Use of :copy suppresses cancelation of implicit keep Yes Yes
keep File message into the user's main mailbox [RFC5228], [RFC5232] "imap4flags" Yes Yes
notify Send a notification to a user [RFC5435], [RFC8580] "enotify", "fcc" No Yes
redirect Send (forward) the message to another user [RFC5228], [RFC3894], [RFC6009], [RFC6134] "copy", "redirect-dsn", "redirect-deliverby", "extlists" Use of :copy suppresses cancelation of implicit keep Yes Yes
reject Refuse delivery of the message [RFC5429] "reject" Incompatible with "vacation" action. Typically is not permitted with actions that cause mail delivery, such as "keep", "fileinto", and "redirect". Yes No
removeflag Remove IMAP flags from a list of IMAP flags that would be set on the message if it gets delivered to a mailbox [RFC5232], [RFC5229] "imap4flags", "variables" No Yes
replace Replace a MIME part [RFC5703] "replace" All subsequent tests and actions, except "redirect" apply to the altered message No Yes
set Store a value in a variable [RFC5229] "variables" No Yes
setflag Set IMAP system flags or keywords that would be set on the message if it gets delivered to a mailbox [RFC5232], [RFC5229] "imap4flags", "variables" No Yes
vacation Vacation autoresponder [RFC5230], [RFC6131], [RFC8580] "vacation", "vacation-seconds", "fcc" Incompatible with "reject" and "ereject" actions. No No

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.

For the Security Considerations of particular actions, see the RFC(s) referenced for that action in the Initial Sieve Action Registry in Section 2.2.

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, , <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, , <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, , <https://www.rfc-editor.org/info/rfc6785>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <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, , <https://www.rfc-editor.org/info/rfc3894>.
[RFC5229]
Homme, K., "Sieve Email Filtering: Variables Extension", RFC 5229, DOI 10.17487/RFC5229, , <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, , <https://www.rfc-editor.org/info/rfc5230>.
[RFC5232]
Melnikov, A., "Sieve Email Filtering: Imap4flags Extension", RFC 5232, DOI 10.17487/RFC5232, , <https://www.rfc-editor.org/info/rfc5232>.
[RFC5293]
Degener, J. and P. Guenther, "Sieve Email Filtering: Editheader Extension", RFC 5293, DOI 10.17487/RFC5293, , <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, , <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, , <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, , <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, , <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, , <https://www.rfc-editor.org/info/rfc6009>.
[RFC6131]
George, R. and B. Leiba, "Sieve Vacation Extension: "Seconds" Parameter", RFC 6131, DOI 10.17487/RFC6131, , <https://www.rfc-editor.org/info/rfc6131>.
[RFC6134]
Melnikov, A. and B. Leiba, "Sieve Extension: Externally Stored Lists", RFC 6134, DOI 10.17487/RFC6134, , <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, , <https://www.rfc-editor.org/info/rfc6558>.
[RFC8579]
Bosch, S., "Sieve Email Filtering: Delivering to Special-Use Mailboxes", RFC 8579, DOI 10.17487/RFC8579, , <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, , <https://www.rfc-editor.org/info/rfc8580>.
[RFC9042]
Gondwana, B., Ed., "Sieve Email Filtering: Delivery by MAILBOXID", RFC 9042, DOI 10.17487/RFC9042, , <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
Kenneth Murchison
Fastmail US LLC
1429 Walnut Street - Suite 1201
Philadelphia, PA 19102
United States of America