Internet-Draft IANA registry for Sieve actions March 2022
Melnikov & Murchison Expires 8 September 2022 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-ietf-extra-sieve-action-registry-02
Updates:
5228 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Authors:
A. Melnikov
Isode Ltd
K. Murchison
Fastmail

IANA registry for Sieve actions

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.

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

Table 1
Name Description References Capabilities Interactions Cancels Implicit Keep? Use with IMAP Events? Comments
addheader Add a header field to the existing message header [RFC5293] "editheader" All subsequent tests and actions apply to the altered message N
addflag Add flags to a list of IMAP flags [RFC5232], [RFC5229] "imap4flags", "variables" N
convert Convert body parts from one MIME type to another [RFC6558] "convert" All subsequent tests and actions apply to the altered message N
deleteheader Remove a header field from the existing message header [RFC5293] "editheader" All subsequent tests and actions apply to the altered message N
discard Silently throw away the message [RFC5228] Compatible with all other actions Y
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 N
ereject Refuse delivery of the message [RFC5429] "ereject" Y N
extracttext Store text of a MIME part into a variable [RFC5703], [RFC5229] "extracttext", "variables" N
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 Y
keep File message into the user's main mailbox [RFC5228], [RFC5232] "imap4flags" Y
notify Send a notification to a user [RFC5435], [RFC8580] "enotify", "fcc" N
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 Y
reject Refuse delivery of the message [RFC5429] "reject" Y N
removeflag Remove flags from a list of IMAP flags [RFC5232], [RFC5229] "imap4flags", "variables" N
replace Replace a MIME part [RFC5703] "replace" All subsequent tests and actions, except "redirect" apply to the altered message N
set Store a value in a variable [RFC5229] "variables" N
setflag Set IMAP system flags or keywords [RFC5232], [RFC5229] "imap4flags", "variables" N
vacation Vacation autoresponder [RFC5230], [RFC6131], [RFC8580] "vacation", "vacation-seconds", "fcc" N N

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

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