draft-ietf-extra-imap-list-myrights-05.txt | draft-ietf-extra-imap-list-myrights-06.txt | |||
---|---|---|---|---|
EXTRA K. Murchison | EXTRA K. Murchison | |||
Internet-Draft B. Gondwana | Internet-Draft B. Gondwana | |||
Intended status: Standards Track FastMail | Intended status: Standards Track FastMail | |||
Expires: October 31, 2018 April 29, 2018 | Expires: December 9, 2018 June 7, 2018 | |||
IMAP4 Extension for Returning MYRIGHTS Information in Extended LIST | IMAP4 Extension for Returning MYRIGHTS Information in Extended LIST | |||
draft-ietf-extra-imap-list-myrights-05 | draft-ietf-extra-imap-list-myrights-06 | |||
Abstract | Abstract | |||
This document defines an extension to the Internet Message Access | This document defines an extension to the Internet Message Access | |||
Protocol (IMAP) LIST command that allows the client to request the | Protocol (IMAP) LIST command that allows the client to request the | |||
set of rights that the logged-in user has been granted on mailboxes, | set of rights that the logged-in user has been granted on mailboxes, | |||
along with other information typically returned by the LIST command. | along with other information typically returned by the LIST command. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 1, line 33 ¶ | skipping to change at page 1, line 33 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on October 31, 2018. | This Internet-Draft will expire on December 9, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Conventions Used in This Document . . . . . . . . . . . . . . 2 | 2. Conventions Used in This Document . . . . . . . . . . . . . . 2 | |||
3. MYRIGHTS Return Option to LIST Command . . . . . . . . . . . 2 | 3. MYRIGHTS Return Option to LIST Command . . . . . . . . . . . 3 | |||
4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 4 | 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | |||
7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 4 | 7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 4 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | |||
8.1. Registration of IMAP capability LIST-MYRIGHTS . . . . . . 4 | 8.1. Registration of IMAP capability LIST-MYRIGHTS . . . . . . 4 | |||
8.2. Registration of LIST-EXTENDED option MYRIGHTS . . . . . . 4 | 8.2. Registration of LIST-EXTENDED option MYRIGHTS . . . . . . 5 | |||
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5 | 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
10. Normative References . . . . . . . . . . . . . . . . . . . . 5 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 5 | ||||
10.2. Informative References . . . . . . . . . . . . . . . . . 6 | ||||
10.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | ||||
Appendix A. Change History (To be removed by RFC Editor before | Appendix A. Change History (To be removed by RFC Editor before | |||
publication) . . . . . . . . . . . . . . . . . . . . 6 | publication) . . . . . . . . . . . . . . . . . . . . 6 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
1. Introduction | 1. Introduction | |||
IMAP [RFC3501] clients typically fetch the set of rights granted on | IMAP [RFC3501] clients typically fetch the set of rights granted on | |||
mailboxes so they can expose the allowed functionality to the logged- | mailboxes so they can expose the allowed functionality to the logged- | |||
in user. In order to do that, the client is forced to issue a LIST | in user. In order to do that, the client is forced to issue a LIST | |||
or LSUB command to list all available mailboxes, followed by a | or LSUB command to list all available mailboxes, followed by a | |||
MYRIGHTS command for each mailbox found. This document defines an | MYRIGHTS command for each mailbox found. This document defines an | |||
extension to the to IMAP LIST command that is identified by the | extension to the to IMAP LIST command that is identified by the | |||
capability string "LIST-MYRIGHTS". The LIST-MYRIGHTS extension | capability string "LIST-MYRIGHTS". The LIST-MYRIGHTS extension | |||
skipping to change at page 2, line 43 ¶ | skipping to change at page 2, line 46 ¶ | |||
user has been granted on mailboxes, along with other information | user has been granted on mailboxes, along with other information | |||
typically returned by the LIST command. | typically returned by the LIST command. | |||
2. Conventions Used in This Document | 2. Conventions Used in This Document | |||
In examples, "C:" indicates lines sent by a client that is connected | In examples, "C:" indicates lines sent by a client that is connected | |||
to a server. "S:" indicates lines sent by the server to the client. | to a server. "S:" indicates lines sent by the server to the client. | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
[RFC2119]. | 14 [1] [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | ||||
3. MYRIGHTS Return Option to LIST Command | 3. MYRIGHTS Return Option to LIST Command | |||
[RFC4314] defines the MYRIGHTS command which is used by an IMAP | [RFC4314] defines the MYRIGHTS command which is used by an IMAP | |||
client to determine the set of rights that the logged-in user has | client to determine the set of rights that the logged-in user has | |||
been granted on a given mailbox. Frequently, a client will have to | been granted on a given mailbox. Frequently, a client will have to | |||
look up the rights for some or all of the mailboxes returned by the | look up the rights for some or all of the mailboxes returned by the | |||
LIST command. Doing so in multiple MYRIGHTS commands wastes | LIST command. Doing so in multiple MYRIGHTS commands wastes | |||
bandwidth and can degrade performance if the client does not pipeline | bandwidth and can degrade performance if the client does not pipeline | |||
the requests. | the requests. | |||
This document extends the LIST command with a new return option | This document extends the LIST command with a new "MYRIGHTS" return | |||
[RFC5258], "MYRIGHTS", which allows the client to request all of the | option [RFC5258], which allows the client to request all of the | |||
desired information in a single command. For each listable mailbox | desired information in a single command. For each listable mailbox | |||
matching the list pattern and selection options, the server MUST | matching the list pattern and selection options, the server MUST | |||
return an untagged LIST response and SHOULD also return an untagged | return an untagged LIST response and SHOULD also return an untagged | |||
MYRIGHTS response containing the set of rights granted to the logged- | MYRIGHTS response containing the set of rights granted to the logged- | |||
in user. The ordering of the responses is significant only in that | in user. The ordering of the responses is significant only in that | |||
the server MUST NOT send a MYRIGHTS response for a given mailbox | the server MUST NOT send a MYRIGHTS response for a given mailbox | |||
before it sends the LIST response for that mailbox. | before it sends the LIST response for that mailbox. | |||
If the server is unable to look up the set of rights for a given | If the server is unable to look up the set of rights for a given | |||
mailbox, it does not send the MYRIGHTS reply for that mailbox. | mailbox, it does not send the MYRIGHTS reply for that mailbox. | |||
skipping to change at page 4, line 15 ¶ | skipping to change at page 4, line 25 ¶ | |||
5. Formal Syntax | 5. Formal Syntax | |||
The following syntax specification uses the augmented Backus-Naur | The following syntax specification uses the augmented Backus-Naur | |||
Form (BNF) as described in [RFC5234]. Terms not defined here are | Form (BNF) as described in [RFC5234]. Terms not defined here are | |||
taken from [RFC5258]. | taken from [RFC5258]. | |||
return-option =/ "MYRIGHTS" | return-option =/ "MYRIGHTS" | |||
6. Security Considerations | 6. Security Considerations | |||
This extension makes it a bit easier for clients to overload the | In addition to the security described in [RFC4314], this extension | |||
server by requesting MYRIGHTS information for a large number of | makes it a bit easier for clients to overload the server by | |||
mailboxes. However, as already noted in the introduction, existing | requesting MYRIGHTS information for a large number of mailboxes. | |||
clients already try to do that by generating a large number of | However, as already noted in the introduction, existing clients | |||
MYRIGHTS commands for each mailbox in which they are interested. | already try to do that by generating a large number of MYRIGHTS | |||
While performing MYRIGHTS information retrieval for big lists of | commands for each mailbox in which they are interested. While | |||
mailboxes, a server implementation needs to make sure that it can | performing MYRIGHTS information retrieval for big lists of mailboxes, | |||
still serve other IMAP connections and yield execution to other | a server implementation needs to make sure that it can still serve | |||
connections, when necessary. | other IMAP connections and yield execution to other connections, when | |||
necessary. | ||||
7. Privacy Considerations | 7. Privacy Considerations | |||
This specification does not introduce any additional privacy concerns | This specification does not introduce any additional privacy concerns | |||
beyond those described in [RFC4314]. | beyond those described in [RFC4314]. | |||
8. IANA Considerations | 8. IANA Considerations | |||
8.1. Registration of IMAP capability LIST-MYRIGHTS | 8.1. Registration of IMAP capability LIST-MYRIGHTS | |||
skipping to change at page 5, line 16 ¶ | skipping to change at page 5, line 32 ¶ | |||
Intended usage: COMMON | Intended usage: COMMON | |||
Person and email address to contact for further | Person and email address to contact for further | |||
information: | information: | |||
Kenneth Murchison <murch@fastmail.com> | Kenneth Murchison <murch@fastmail.com> | |||
Owner/Change controller: IESG <iesg@ietf.org> | Owner/Change controller: IESG <iesg@ietf.org> | |||
9. Acknowledgments | 9. Acknowledgments | |||
This document is based largely on RFC5819. The authors would like to | This document is based largely on [RFC5819]. The authors would like | |||
thank the authors of that document for providing both inspiration and | to thank the authors of that document for providing both inspiration | |||
some borrowed text for this document. The authors would also like to | and some borrowed text for this document. The authors would also | |||
thank the following individuals for contributing their ideas and | like to thank the following individuals for contributing their ideas | |||
support for writing this specification: Barry Leiba. | and support for writing this specification: Barry Leiba. | |||
10. Normative References | 10. References | |||
10.1. Normative References | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION | [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION | |||
4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, | 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, | |||
<https://www.rfc-editor.org/info/rfc3501>. | <https://www.rfc-editor.org/info/rfc3501>. | |||
skipping to change at page 6, line 5 ¶ | skipping to change at page 6, line 19 ¶ | |||
[RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax | [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax | |||
Specifications: ABNF", STD 68, RFC 5234, | Specifications: ABNF", STD 68, RFC 5234, | |||
DOI 10.17487/RFC5234, January 2008, | DOI 10.17487/RFC5234, January 2008, | |||
<https://www.rfc-editor.org/info/rfc5234>. | <https://www.rfc-editor.org/info/rfc5234>. | |||
[RFC5258] Leiba, B. and A. Melnikov, "Internet Message Access | [RFC5258] Leiba, B. and A. Melnikov, "Internet Message Access | |||
Protocol version 4 - LIST Command Extensions", RFC 5258, | Protocol version 4 - LIST Command Extensions", RFC 5258, | |||
DOI 10.17487/RFC5258, June 2008, | DOI 10.17487/RFC5258, June 2008, | |||
<https://www.rfc-editor.org/info/rfc5258>. | <https://www.rfc-editor.org/info/rfc5258>. | |||
[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>. | ||||
10.2. Informative References | ||||
[RFC5819] Melnikov, A. and T. Sirainen, "IMAP4 Extension for | ||||
Returning STATUS Information in Extended LIST", RFC 5819, | ||||
DOI 10.17487/RFC5819, March 2010, | ||||
<https://www.rfc-editor.org/info/rfc5819>. | ||||
10.3. URIs | ||||
[1] https://tools.ietf.org/html/bcp14 | ||||
Appendix A. Change History (To be removed by RFC Editor before | Appendix A. Change History (To be removed by RFC Editor before | |||
publication) | publication) | |||
Changes from draft-ietf-extra-imap-list-myrights-05: | ||||
o Updated Keywords boilerplate. | ||||
o Referenced security concerns in RFC 4314. | ||||
o Reworded first sentence in second paragraph of Section 3. | ||||
o Added informative reference to RFC5819. | ||||
Changes from draft-ietf-extra-imap-list-myrights-04: | Changes from draft-ietf-extra-imap-list-myrights-04: | |||
o Added references for "IMAP" and "return option". | o Added references for "IMAP" and "return option". | |||
Changes from draft-ietf-extra-imap-list-myrights-03: | Changes from draft-ietf-extra-imap-list-myrights-03: | |||
o Fixed a typo in the Abstract. | o Fixed a typo in the Abstract. | |||
Changes from draft-ietf-extra-imap-list-myrights-02: | Changes from draft-ietf-extra-imap-list-myrights-02: | |||
End of changes. 14 change blocks. | ||||
26 lines changed or deleted | 58 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |