rfc9042.original.xml | rfc9042.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | ||||
<!-- name="GENERATOR" content="github.com/mmarkdown/mmark Mmark Markdown Process or - mmark.miek.nl" --> | <!-- name="GENERATOR" content="github.com/mmarkdown/mmark Mmark Markdown Process or - mmark.miek.nl" --> | |||
<rfc version="3" ipr="trust200902" docName="draft-ietf-extra-sieve-mailboxid-09" | ||||
submissionType="IETF" category="std" xml:lang="en" xmlns:xi="http://www.w3.org/ | <rfc version="3" ipr="trust200902" docName="draft-ietf-extra-sieve-mailboxid-09" | |||
2001/XInclude" updates="5228" consensus="true"> | number="9042" submissionType="IETF" category="std" consensus="true" xml:lang="e | |||
n" xmlns:xi="http://www.w3.org/2001/XInclude" updates="5228" sortRefs="true" sym | ||||
Refs="true" tocInclude="true"> | ||||
<front> | <front> | |||
<title abbrev="Sieve MAILBOXID">Sieve Email Filtering: delivery by mailboxid</ti | <title abbrev="Sieve MAILBOXID">Sieve Email Filtering: Delivery by | |||
tle><seriesInfo value="draft-ietf-extra-sieve-mailboxid-09" stream="IETF" status | MAILBOXID</title> | |||
="standard" name="Internet-Draft"></seriesInfo> | <seriesInfo name="RFC" value="9042"/> | |||
<author role="editor" initials="B." surname="Gondwana" fullname="Bron Gondwana"> | <author role="editor" initials="B." surname="Gondwana" fullname="Bron Gondwana"> | |||
<organization>Fastmail</organization><address><postal><street>Level 2, 114 Willi | <organization>Fastmail</organization> | |||
am St</street> | <address> | |||
<postal> | ||||
<extaddr>Level 2</extaddr> | ||||
<street>114 William St</street> | ||||
<city>Melbourne</city> | <city>Melbourne</city> | |||
<code>VIC 3000</code> | <region>VIC</region> | |||
<code>3000</code> | ||||
<country>Australia</country> | <country>Australia</country> | |||
</postal><email>brong@fastmailteam.com</email> | </postal> | |||
<email>brong@fastmailteam.com</email> | ||||
<uri>https://www.fastmail.com</uri> | <uri>https://www.fastmail.com</uri> | |||
</address></author> | </address></author> | |||
<date year="2021" month="March" day="16"></date> | <date year="2021" month="June"></date> | |||
<area>Applications</area> | <area>Applications</area> | |||
<workgroup>EXTRA</workgroup> | <workgroup>EXTRA</workgroup> | |||
<keyword>sieve</keyword> | <keyword>sieve</keyword> | |||
<keyword>email</keyword> | <keyword>email</keyword> | |||
<abstract> | <abstract> | |||
<t>The OBJECTID capability of the IMAP protocol (RFC8474) allows clients to | <t>The OBJECTID capability of IMAP (RFC 8474) allows clients to | |||
identify mailboxes by a unique identifier which survives rename.</t> | identify mailboxes by a unique identifier that survives renaming.</t> | |||
<t>This document extends the Sieve mail filtering language (RFC5228) to | <t>This document extends the Sieve email filtering language (RFC 5228) to | |||
allow using that same unique identifier as a target for fileinto rules, | allow using that same unique identifier as a target for fileinto rules | |||
and for testing the existance of mailboxes.</t> | and for testing the existence of mailboxes.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="introduction"><name>Introduction</name> | <section anchor="introduction"><name>Introduction</name> | |||
<t><xref target="RFC5228"></xref> Sieve rules are sometimes created using graphi cal interfaces | <t>Sieve rules <xref target="RFC5228"></xref> are sometimes created using graphi cal interfaces, | |||
which allow users to select the mailbox to be used as a target for a rule.</t> | which allow users to select the mailbox to be used as a target for a rule.</t> | |||
<t>If that mailbox is renamed, the client may also update its internal | <t>If that mailbox is renamed, the client may also update its internal | |||
representation of the rule and update the sieve script to match, | representation of the rule and update the Sieve script to match; | |||
however this is a multi-step process and subject to partial failures. | however, this is a multistep process and subject to partial failures. | |||
Also, if the folder is renamed by a different mechanism (e.g. another | Also, if the folder is renamed by a different mechanism (e.g., another | |||
IMAP client) the rules will get out of sync.</t> | IMAP client), the rules will get out of sync.</t> | |||
<t>By telling "fileinto" to reference the immutable mailboxid specifie | <t>By telling fileinto to reference the immutable MAILBOXID specified | |||
d | by <xref target="RFC8474"></xref>, using the extension specified herein, Sieve r | |||
by <xref target="RFC8474"></xref>, using the extension specified herein, sieve r | ules can | |||
ules can | continue to target the same mailbox, even if it gets renamed.</t> | |||
continue to target the same mailbox even if it gets renamed.</t> | ||||
</section> | </section> | |||
<section anchor="conventions-used-in-this-document"><name>Conventions Used In Th | <section anchor="conventions-used-in-this-document"><name>Conventions Used in Th | |||
is Document</name> | is Document</name> | |||
<t>The key words "MUST", "MUST NOT", "REQUIRED", & | <t> | |||
quot;SHALL", "SHALL | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
"NOT RECOMMENDED", | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
"MAY", and "OPTIONAL" in this document are to be interpreted | RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
as | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
described in BCP 14 <xref target="RFC2119"></xref> <xref target="RFC8174"></xref | be interpreted as | |||
> when, and only when, | described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | |||
they appear in all capitals, as shown here.</t> | when, and only when, they appear in all capitals, as shown here. | |||
</t> | ||||
</section> | </section> | |||
<section anchor="sieve-capability-string"><name>Sieve capability string</name> | <section anchor="sieve-capability-string"><name>Sieve Capability String</name> | |||
<t>Scripts which use the following extensions MUST explicitly require | <t>Scripts that use the extensions defined in this document <bcp14>MUST</bcp14> | |||
the capability "mailboxid".</t> | explicitly require | |||
the capability "mailboxid".</t> | ||||
<t>Example:</t> | <t>Example:</t> | |||
<artwork>require "mailboxid"; | <sourcecode type=""><![CDATA[ | |||
</artwork> | require "mailboxid"; | |||
]]></sourcecode> | ||||
</section> | </section> | |||
<section anchor="argument-mailboxid-to-command-fileinto"><name>Argument ":m | <section anchor="argument-mailboxid-to-command-fileinto"> | |||
ailboxid" to Command "fileinto"</name> | <name>Argument :mailboxid to Command fileinto</name> | |||
<t>Normally, the "fileinto" command delivers the message in the mailbo | <t>Normally, the fileinto command delivers the message in the mailbox | |||
x | ||||
specified using its positional mailbox argument. However, if the | specified using its positional mailbox argument. However, if the | |||
optional ":mailboxid" argument is also specified, the "fileinto&q uot; | optional :mailboxid argument is also specified, the fileinto | |||
command first checks whether a mailbox exists in the user's personal | command first checks whether a mailbox exists in the user's personal | |||
namespace <xref target="RFC2342"></xref> with the specified <xref target="RFC847 4"></xref> MAILBOXID.</t> | namespace <xref target="RFC2342"></xref> with the specified MAILBOXID <xref targ et="RFC8474"></xref>.</t> | |||
<t>If a matching mailbox is found, that mailbox is used for delivery.</t> | <t>If a matching mailbox is found, that mailbox is used for delivery.</t> | |||
<t>If there is no such mailbox, the "fileinto" action proceeds as it w | <t>If there is no such mailbox, the fileinto action proceeds as it would | |||
ould | without the :mailboxid argument.</t> | |||
without the ":mailboxid" argument.</t> | <t>The tagged argument :mailboxid to fileinto consumes one additional token, | |||
<t>The tagged argument <tt>:mailboxid</tt> to fileinto consumes one additional t | a string containing the OBJECTID of the target mailbox.</t> | |||
oken, | ||||
a string with the objectid of the mailbox to file into.</t> | ||||
<t>Example:</t> | <t>Example:</t> | |||
<artwork>require "fileinto"; | <sourcecode type=""><![CDATA[ | |||
require "mailboxid"; | require "fileinto"; | |||
require "mailboxid"; | ||||
if header :contains ["from"] "coyote" { | if header :contains ["from"] "coyote" { | |||
fileinto :mailboxid "F6352ae03-b7f5-463c-896f-d8b48ee3" | fileinto :mailboxid "F6352ae03-b7f5-463c-896f-d8b48ee3" | |||
"INBOX.harassment"; | "INBOX.harassment"; | |||
} | } | |||
</artwork> | ]]></sourcecode> | |||
<section anchor="interaction-with-mailbox-extension"><name>Interaction with &quo | <section anchor="interaction-with-mailbox-extension"><name>Interaction with Mail | |||
t;mailbox" extension</name> | box Extension</name> | |||
<t>For servers which also support the <xref target="RFC5490"></xref> mailbox ext | <t>For servers that also support the mailbox extension defined in <xref target=" | |||
ension, if both the | RFC5490"></xref>, if both the | |||
":create" and ":mailboxid" arguments are provided to a " | :create and :mailboxid arguments are provided to a fileinto command and | |||
;fileinto" command and | ||||
no matching mailbox is found, then a new mailbox will be created.</t> | no matching mailbox is found, then a new mailbox will be created.</t> | |||
<t>This new mailbox will have the name specified by the positional mailbox | <t>This new mailbox will have the name specified by the positional mailbox | |||
argument ([RFC5228] section 4.1), however it will get a different mailboxid | argument (<xref target="RFC5228" sectionFormat="comma" section="4.1"/>); however | |||
(chosen by the server) rather than the one specified by the ":mailboxid&quo | , it will get a different MAILBOXID | |||
t; | (chosen by the server) rather than the one specified by the :mailboxid | |||
argument to fileinto.</t> | argument to fileinto.</t> | |||
<t>Example:</t> | <t>Example:</t> | |||
<artwork>require "fileinto"; | <sourcecode type=""><![CDATA[ | |||
require "mailboxid"; | require "fileinto"; | |||
require "mailbox"; | require "mailboxid"; | |||
require "mailbox"; | ||||
fileinto :mailboxid "Fnosuch" | fileinto :mailboxid "Fnosuch" | |||
:create | :create | |||
"INBOX.no-such-folder"; | "INBOX.no-such-folder"; | |||
# creates INBOX.no-such-folder, but it doesn't | # creates INBOX.no-such-folder, but it doesn't | |||
# get the "Fnosuch" mailboxid. | # get the "Fnosuch" mailboxid. | |||
</artwork> | ]]></sourcecode> | |||
</section> | </section> | |||
<section anchor="interaction-with-specialuse-extension"><name>Interaction with & | <section anchor="interaction-with-specialuse-extension"><name>Interaction with S | |||
quot;specialuse" extension</name> | pecial-Use Extension</name> | |||
<t>For servers which also support <xref target="RFC8579"></xref> delivery to spe | <t>For servers that also support delivery to special-use mailboxes <xref target= | |||
cial-use mailboxes, | "RFC8579"></xref>, | |||
it is an error to specify both ":mailboxid" and ":specialuse" | it is an error to specify both :mailboxid and :specialuse in the same | |||
; in the same | ||||
fileinto command.</t> | fileinto command.</t> | |||
<t>Advanced filtering based on both special-use and mailboxid can be | <t>Advanced filtering based on both special-use and MAILBOXID can be | |||
built with explicit "specialuse_exists" and "mailboxidexists" | built with explicit specialuse_exists and mailboxidexists tests.</t> | |||
; tests.</t> | <aside> | |||
<t>Note to developers of sieve generation tools: it is advisable to use | <t>Note to developers of Sieve generation tools:</t> | |||
special-use rather than mailboxid when creating rules that are based | <t>It is advisable to use | |||
on a special-use purpose (e.g. delivery directly to the Junk folder | special-use rather than MAILBOXID when creating rules that are based | |||
on a special-use purpose (e.g., delivery directly to the Junk folder | ||||
based on a header that was added by a scanning agent earlier in the | based on a header that was added by a scanning agent earlier in the | |||
mailflow).</t> | mail flow).</t> | |||
</aside> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="interaction-with-fcc-extension"><name>Interaction with "fc | <section anchor="interaction-with-fcc-extension"><name>Interaction with FCC Exte | |||
c" extension</name> | nsion</name> | |||
<t>This document extends the definition of the ":fcc" argument defined | <t>This document extends the definition of the :fcc argument defined in | |||
in | <xref target="RFC8580"></xref> so that it can optionally be used with the :mailb | |||
<xref target="RFC8580"></xref> so that it can optionally be used with the " | oxid | |||
:mailboxid" | argument. The syntax for FCC is extended here using ABNF <xref target="RFC5234" | |||
argument. The syntax for "FCC" is extended here using ABNF <xref targ | ></xref>:</t> | |||
et="RFC5234"></xref>:</t> | ||||
<artwork>MAILBOXID-OPT = ":mailboxid" objectid | <sourcecode type="abnf"><![CDATA[ | |||
MAILBOXID-OPT = ":mailboxid" objectid | ||||
FCC-OPTS =/ MAILBOXID-OPT | FCC-OPTS =/ MAILBOXID-OPT | |||
</artwork> | ]]></sourcecode> | |||
<t>If the optional ":mailboxid" argument is specified with ":fcc& | <t>If the optional :mailboxid argument is specified with :fcc, it | |||
quot;, it | ||||
instructs the Sieve interpreter to check whether a mailbox exists | instructs the Sieve interpreter to check whether a mailbox exists | |||
with the specific mailboxid. If such a mailbox exists, the generated | with the specific MAILBOXID. If such a mailbox exists, the generated | |||
message is filed into that mailbox. Otherwise, the generated message | message is filed into that mailbox. Otherwise, the generated message | |||
is filed into the ":fcc" target mailbox.</t> | is filed into the :fcc target mailbox.</t> | |||
<t>As with fileinto, it is an error to specify both ":mailboxid" | <t>As with fileinto, it is an error to specify both :mailboxid | |||
and ":specialuse" for the same fcc rule.</t> | and :specialuse for the same fcc rule.</t> | |||
<t>Example:</t> | <t>Example:</t> | |||
<artwork>require ["enotify", "fcc", "mailboxid"]; | <sourcecode type=""><![CDATA[ | |||
notify :fcc "INBOX.Sent" | require ["enotify", "fcc", "mailboxid"]; | |||
:mailboxid "F6352ae03-b7f5-463c-896f-d8b48ee3" | notify :fcc "INBOX.Sent" | |||
:message "You got mail!" | :mailboxid "F6352ae03-b7f5-463c-896f-d8b48ee3" | |||
"mailto:ken@example.com"; | :message "You got mail!" | |||
</artwork> | "mailto:ken@example.com"; | |||
]]></sourcecode> | ||||
</section> | </section> | |||
<section anchor="test-mailboxidexists"><name>Test "mailboxidexists"</n | <section anchor="test-mailboxidexists"><name>Test mailboxidexists</name> | |||
ame> | <t>Usage: mailboxidexists <mailbox-objectids: string-list></t> | |||
<t>The "mailboxidexists" test is true if all mailboxes listed in the | <t>The mailboxidexists test is true if every string argument provided is the MAI | |||
"mailboxids" argument exist in the mailstore, and each allows the | LBOXID of a mailbox that exists in the mailstore and that allows the user in who | |||
user in whose context the Sieve script runs to "deliver" messages | se context the Sieve script runs to deliver messages into it.</t> | |||
into it. When the mailstore is an IMAP server, "delivery" of | <t>When the mailstore is an IMAP server that also supports IMAP | |||
messages is possible if:</t> | Access Control List (ACL) <xref target="RFC4314"></xref>, delivery is allowed if | |||
<t>a) the READ-WRITE response code is present for the mailbox (see | the user has the 'p' or 'i' rights for the mailbox (see | |||
Section 7.1 of <xref target="RFC3501"></xref>), if IMAP Access Control List ( | <xref target="RFC4314" sectionFormat="of" section="5.2"/>).</t> | |||
ACL) | <t> When the mailstore is an IMAP server that does not support IMAP ACL, deliver | |||
<xref target="RFC4314"></xref> is not supported by the server, or</t> | y is allowed if the READ-WRITE response code is present for the mailbox when sel | |||
<t>b) the user has 'p' or 'i' rights for the mailbox (see Section 5.2 | ected by the user (see <xref target="RFC3501" sectionFormat="of" section="7.1"/> | |||
of <xref target="RFC4314"></xref>).</t> | ).</t> | |||
<t>Note that a successful "mailboxidexists" test for a mailbox doesn't | <t>Note that a successful mailboxidexists test for a mailbox doesn't | |||
necessarily mean that a "fileinto :mailboxid" action on this mailbox | necessarily mean that a "fileinto :mailboxid" action on this mailbox | |||
would succeed. For example, the "fileinto" action might put user over | would succeed. For example, the fileinto action might put the user over | |||
quota. The "mailboxidexists" test only verifies existence of the | quota. The mailboxidexists test only verifies existence of the | |||
mailbox and whether the user in whose context the Sieve script runs | mailbox and whether the user in whose context the Sieve script runs | |||
has permissions to execute "fileinto" on it.</t> | has permissions to execute fileinto on it.</t> | |||
<t>Example:</t> | <t>Example:</t> | |||
<artwork>require "fileinto"; | <sourcecode type=""><![CDATA[ | |||
require "mailboxid"; | require "fileinto"; | |||
require "mailboxid"; | ||||
if header :contains ["from"] "coyote" { | if header :contains ["from"] "coyote" { | |||
if mailboxidexists "F6352ae03-b7f5-463c-896f-d8b48ee3" { | if mailboxidexists "F6352ae03-b7f5-463c-896f-d8b48ee3" { | |||
fileinto :mailboxid "F6352ae03-b7f5-463c-896f-d8b48ee3" | fileinto :mailboxid "F6352ae03-b7f5-463c-896f-d8b48ee3" | |||
"INBOX.name.will.not.be.used"; | "INBOX.name.will.not.be.used"; | |||
} else { | } else { | |||
fileinto "INBOX.harassment"; | fileinto "INBOX.harassment"; | |||
} | } | |||
} | } | |||
</artwork> | ]]></sourcecode> | |||
<t>Note to implementers: this test behaves identically to the | <aside> | |||
<tt>mailboxexists</tt> test defined in <xref target="RFC5490"></xref> but operat | <t>Note to implementers:</t> | |||
es on | <t>This test behaves identically to the | |||
mailboxids rather than mailbox names.</t> | mailboxexists test defined in <xref target="RFC5490"></xref> but operates on | |||
MAILBOXIDs rather than mailbox names.</t> | ||||
</aside> | ||||
</section> | </section> | |||
<section anchor="interaction-with-variables-extension"><name>Interaction with va | <section anchor="interaction-with-variables-extension"><name>Interaction with Va | |||
riables extension</name> | riables Extension</name> | |||
<t>There is no special interaction defined, however as an objectid | <t>There is no special interaction defined; however, as an OBJECTID | |||
is a string in this document, objectid values can contain | is a string in this document, OBJECTID values can contain | |||
variable expansions if <xref target="RFC5229"></xref> is enabled.</t> | variable expansions if <xref target="RFC5229"></xref> is enabled.</t> | |||
</section> | </section> | |||
<section anchor="security-considerations"><name>Security considerations</name> | <section anchor="security-considerations"><name>Security Considerations</name> | |||
<t>Because mailboxid is always generated by the server, implementations | <t>Because MAILBOXID is always generated by the server, implementations | |||
MUST NOT allow sieve to make an endrun around this protection by | <bcp14>MUST NOT</bcp14> allow Sieve to make an end run around this protection by | |||
creating mailboxes with the specified ID by using ":create" and | creating mailboxes with the specified ID by using :create and | |||
":mailboxid" in a fileinto rule for a non-existant mailbox.</t> | :mailboxid in a fileinto rule for a nonexistent mailbox.</t> | |||
<t>Implementers are referred to the security considerations sections | <t>Implementers are referred to the Security Considerations sections | |||
of <xref target="RFC5228"></xref> and <xref target="RFC8474"></xref>.</t> | of <xref target="RFC5228"></xref> and <xref target="RFC8474"></xref>.</t> | |||
</section> | </section> | |||
<section anchor="iana-considerations"><name>IANA Considerations</name> | ||||
<t>IANA has added the following capability to the "Sieve Extensions" registry | ||||
at <eref brackets="angle" | ||||
target="https://www.iana.org/assignments/sieve-extensions"/>:</t> | ||||
<section anchor="iana-considerations"><name>IANA considerations</name> | <dl newline="false" spacing="compact"> | |||
<t>IANA are requested to add a capability to the sieve-extensions registry:</t> | <dt>Capability name:</dt> | |||
<dd>mailboxid</dd> | ||||
<artwork>To: iana@iana.org | <dt>Description:</dt> | |||
Subject: Registration of new Sieve extension | <dd>adds a test for checking mailbox existence by OBJECTID | |||
and new optional arguments to fileinto and :fcc that | ||||
Capability name: mailboxid | allow selecting the destination mailbox by OBJECTID.</dd> | |||
Description: adds a test for checking mailbox existence by objectid, | <dt>RFC number:</dt> | |||
and new optional arguments to fileinto and :fcc which | <dd>RFC 9042</dd> | |||
allow selecting the destination mailbox by objectid. | <dt>Contact address:</dt> | |||
RFC number: this RFC | <dd>EXTRA discussion list <extra@ietf.org></dd> | |||
Contact address: The EXTRA discussion list <extra@ietf.org> | </dl> | |||
</artwork> | ||||
</section> | ||||
<section anchor="acknowledgements"><name>Acknowledgements</name> | ||||
<t>This document borrows heavily from <xref target="RFC5490"></xref> for the mat | ||||
ching | ||||
mailboxexists test, and from <xref target="RFC8579"></xref> for an example of mo | ||||
difying | ||||
the fileinto command.</t> | ||||
<t>Thanks to Ned Freed and Ken Murchison and Alexey Melnikov for feedback | ||||
on the EXTRA mailing list.</t> | ||||
</section> | ||||
<section anchor="changes"><name>Changes</name> | ||||
<t>(EDITOR: remove this section before publication)</t> | ||||
<section anchor="draft-ietf-sieve-mailboxid-09"><name>draft-ietf-sieve-mailboxid | ||||
-09</name> | ||||
<ul> | ||||
<li>update FCC-OPTS to have an intermediate production for the :mailboxid | ||||
option, and reference <tt>objectid</tt> from RFC8474 as the valid format for | ||||
the option value.</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-ietf-sieve-mailboxid-08"><name>draft-ietf-sieve-mailboxid | ||||
-08</name> | ||||
<ul> | ||||
<li>IETF110 discussion - re-add FCC-OPTS syntax, and clarify that :mailboxid | ||||
is incompatible with :specialuse to parallel the fileinto behaviour</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-ietf-sieve-mailboxid-07"><name>draft-ietf-sieve-mailboxid | ||||
-07</name> | ||||
<ul> | ||||
<li>Martin Duke review - remove formal section</li> | ||||
<li>Martin Duke review - wording for section 4.1 (interaction with :create)</li> | ||||
<li>Ken Murchison review - fixed :special-use to :specialuse per RFC8579</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-ietf-sieve-mailboxid-06"><name>draft-ietf-sieve-mailboxid | ||||
-06</name> | ||||
<ul> | ||||
<li>GENART review - fixed example to not be semantically pointless</li> | ||||
<li>GENART review - fixed !@ to @! in RFC reference mmark syntax</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-ietf-sieve-mailboxid-05"><name>draft-ietf-sieve-mailboxid | ||||
-05</name> | ||||
<ul> | ||||
<li>disallow :mailboxid and :special-use in the same fileinto action.</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-ietf-sieve-mailboxid-04"><name>draft-ietf-sieve-mailboxid | ||||
-04</name> | ||||
<ul> | ||||
<li>made RFC5490 and RFC8579 normative</li> | ||||
<li>clarified wording based on AD feedback from Barry</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-ietf-sieve-mailboxid-03"><name>draft-ietf-sieve-mailboxid | ||||
-03</name> | ||||
<ul> | ||||
<li>Fixed ABNF syntax error</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-ietf-sieve-mailboxid-02"><name>draft-ietf-sieve-mailboxid | ||||
-02</name> | ||||
<ul> | ||||
<li>removed bogus : from "mailboxidexists" test title</li> | ||||
<li>moved FCC to its own top-level section since it is not used | ||||
with the fileinto command.</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-ietf-sieve-mailboxid-01"><name>draft-ietf-sieve-mailboxid | ||||
-01</name> | ||||
<ul> | ||||
<li>fixed idnits - RFC5228 not mentioned in the abstract</li> | ||||
<li>fixed other I-D references I had missed, oops</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-ietf-sieve-mailboxid-00"><name>draft-ietf-sieve-mailboxid | ||||
-00</name> | ||||
<ul> | ||||
<li>Adopted into working group per adoption call on list</li> | ||||
<li>Updated references to old drafts which have since been published.</li> | ||||
<li>Fixed some typoes and simplified some language.</li> | ||||
<li>Removed stray leading colon on mailboxexists (thanks Alexey)</li> | ||||
<li>Added :fcc to the IANA registration description (thanks Alexey)</li> | ||||
<li>Mentioned that variables can be expanded (thanks Alexey)</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-gondwana-sieve-mailboxid-02"><name>draft-gondwana-sieve-m | ||||
ailboxid-02</name> | ||||
<ul> | ||||
<li>Update document date by a couple of years! Ooops, it got forgotten after | ||||
a WGLC which got not dissent.</li> | ||||
<li>Create xml2rfc v3 output.</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-gondwana-sieve-mailboxid-01"><name>draft-gondwana-sieve-m | ||||
ailboxid-01</name> | ||||
<ul> | ||||
<li>Switch to :mailboxid tagged parameter value with fallback mailbox name.</li> | ||||
<li>Document interaction with "mailbox".</li> | ||||
<li>Document interaction with "special-use".</li> | ||||
<li>Document interaction with "fcc".</li> | ||||
<li>Document security considerations around :mailboxid and :create.</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="draft-gondwana-sieve-mailboxid-00"><name>draft-gondwana-sieve-m | ||||
ailboxid-00</name> | ||||
<ul> | ||||
<li>Initial version.</li> | ||||
</ul> | ||||
</section> | ||||
</section> | </section> | |||
</middle> | </middle> | |||
<back> | <back> | |||
<references><name>References</name> | ||||
<references><name>Normative References</name> | <references><name>Normative References</name> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5228. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5228. xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8474. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8474. xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174. xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5234. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5234. xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119. xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2342. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2342. xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8580. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8580. xml"/> | |||
</references> | </references> | |||
<references><name>Informative References</name> | <references><name>Informative References</name> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8579. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8579. xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5490. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5490. xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3501. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3501. xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4314. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4314. xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5229. xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5229. xml"/> | |||
</references> | </references> | |||
</references> | ||||
<section anchor="acknowledgements" numbered="false"><name>Acknowledgements</name | ||||
> | ||||
<t>This document borrows heavily from <xref target="RFC5490"></xref> for the mat | ||||
ching | ||||
mailboxexists test and from <xref target="RFC8579"></xref> for an example of mod | ||||
ifying | ||||
the fileinto command.</t> | ||||
<t>Thanks to <contact fullname="Ned Freed"/>, <contact fullname="Ken Murchison"/ | ||||
>, and <contact fullname="Alexey Melnikov"/> for feedback | ||||
on the EXTRA mailing list.</t> | ||||
</section> | ||||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 50 change blocks. | ||||
308 lines changed or deleted | 194 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/ |