| < draft-ietf-extra-imap-list-myrights-01.txt | draft-ietf-extra-imap-list-myrights-02.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: July 6, 2018 January 2, 2018 | Expires: September 23, 2018 March 22, 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-01 | draft-ietf-extra-imap-list-myrights-02 | |||
| Abstract | Abstract | |||
| This document defines an extension to the to IMAP LIST command that | This document defines an extension to the to IMAP LIST command that | |||
| allows the client to request the set of rights that the logged-in | allows the client to request the set of rights that the logged-in | |||
| 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. | |||
| 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 July 6, 2018. | This Internet-Draft will expire on September 23, 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 | |||
| skipping to change at page 2, line 11 ¶ | skipping to change at page 2, line 11 ¶ | |||
| 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 . . . . . . . . . . . 2 | |||
| 4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 3 | 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 . . . . . . 4 | |||
| 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 4 | 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 5 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 5 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 5 | 10.2. Informative References . . . . . . . . . . . . . . . . . 5 | |||
| Appendix A. Change History (To be removed by RFC Editor before | Appendix A. Change History (To be removed by RFC Editor before | |||
| publication) . . . . . . . . . . . . . . . . . . . . 5 | publication) . . . . . . . . . . . . . . . . . . . . 6 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 1. Introduction | 1. Introduction | |||
| IMAP clients typically fetch the set of rights granted on mailboxes | IMAP clients typically fetch the set of rights granted on mailboxes | |||
| so they can expose the allowed functionality to the logged-in user. | 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 or LSUB | In order to do that, the client is forced to issue a LIST or LSUB | |||
| command to list all available mailboxes, followed by a MYRIGHTS | command to list all available mailboxes, followed by a MYRIGHTS | |||
| command for each mailbox found. This document defines an extension | command for each mailbox found. This document defines an extension | |||
| to the to IMAP LIST command that is identified by the capability | to the to IMAP LIST command that is identified by the capability | |||
| skipping to change at page 3, line 20 ¶ | skipping to change at page 3, line 20 ¶ | |||
| "MYRIGHTS", which allows the client to request all of the desired | "MYRIGHTS", which allows the client to request all of the desired | |||
| information in a single command. For each listable mailbox matching | information in a single command. For each listable mailbox matching | |||
| the list pattern and selection options, the server MUST return an | the list pattern and selection options, the server MUST return an | |||
| untagged LIST response followed by an untagged MYRIGHTS response | untagged LIST response followed by an untagged MYRIGHTS response | |||
| containing the set of rights granted to the logged-in user. | containing the set of rights granted to the logged-in user. | |||
| 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 MAY drop the corresponding MYRIGHTS reply. In such a | mailbox, it MAY drop the corresponding MYRIGHTS reply. In such a | |||
| situation, the LIST command would still return a tagged OK reply. | situation, the LIST command would still return a tagged OK reply. | |||
| Client authors ought to note that generating the MYRIGHTS responses | ||||
| for a large number of mailboxes may be an expensive operation for the | ||||
| server. Clients SHOULD use a suitable match pattern and/or selection | ||||
| option to limit the set of mailboxes returned to only those whose | ||||
| rights in which they are interested. | ||||
| 4. Examples | 4. Examples | |||
| In this example the "bar" mailbox doesn't exist, so it has no | In this example the "bar" mailbox doesn't exist, so it has no | |||
| MYRIGHTS reply. | MYRIGHTS reply. | |||
| C: A01 LIST "" % RETURN (MYRIGHTS) | C: A01 LIST "" % RETURN (MYRIGHTS) | |||
| S: * LIST () "." "INBOX" | S: * LIST () "." "INBOX" | |||
| S: * MYRIGHTS "INBOX" lrswipkxtecdan | S: * MYRIGHTS "INBOX" lrswipkxtecda | |||
| S: * LIST () "." "foo" | S: * LIST () "." "foo" | |||
| S: * MYRIGHTS "foo" lrs | S: * MYRIGHTS "foo" lrs | |||
| S: * LIST (\NonExistent) "." "bar" | S: * LIST (\NonExistent) "." "bar" | |||
| S: A01 OK List completed. | S: A01 OK List completed. | |||
| In this example the LIST reply for the "foo" mailbox is returned | In this example the LIST reply for the "foo" mailbox is returned | |||
| because it has matching children, but no MYRIGHTS reply is returned | because it has matching children, but no MYRIGHTS reply is returned | |||
| because "foo" itself doesn't match the selection criteria. | because "foo" itself doesn't match the selection criteria. | |||
| C: A02 LIST (SUBSCRIBED RECURSIVEMATCH) "" % RETURN (MYRIGHTS) | C: A02 LIST (SUBSCRIBED RECURSIVEMATCH) "" % RETURN (MYRIGHTS) | |||
| S: * LIST (\Subscribed) "." "INBOX" | S: * LIST (\Subscribed) "." "INBOX" | |||
| S: * MYRIGHTS "INBOX" lrswipkxtecdan | S: * MYRIGHTS "INBOX" lrswipkxtecda | |||
| S: * LIST () "." "foo" (CHILDINFO ("SUBSCRIBED")) | S: * LIST () "." "foo" (CHILDINFO ("SUBSCRIBED")) | |||
| S: A02 OK List completed. | S: A02 OK List completed. | |||
| 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 specification does not introduce any additional security | This extension makes it a bit easier for clients to overload the | |||
| concerns beyond those described in [RFC5258]. | server by requesting MYRIGHTS information for a large number of | |||
| mailboxes. However, as already noted in the introduction, existing | ||||
| clients already try to do that by generating a large number of | ||||
| MYRIGHTS commands for each mailbox in which they are interested. | ||||
| While performing MYRIGHTS information retrieval for big lists of | ||||
| mailboxes, a server implementation needs to make sure that it can | ||||
| still serve 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 42 ¶ | skipping to change at page 6, line 8 ¶ | |||
| 10.2. Informative References | 10.2. Informative References | |||
| [RFC5819] Melnikov, A. and T. Sirainen, "IMAP4 Extension for | [RFC5819] Melnikov, A. and T. Sirainen, "IMAP4 Extension for | |||
| Returning STATUS Information in Extended LIST", RFC 5819, | Returning STATUS Information in Extended LIST", RFC 5819, | |||
| DOI 10.17487/RFC5819, March 2010, | DOI 10.17487/RFC5819, March 2010, | |||
| <https://www.rfc-editor.org/info/rfc5819>. | <https://www.rfc-editor.org/info/rfc5819>. | |||
| 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-01: | ||||
| o Removed 'n' right from example. | ||||
| o Added advice to client authors regarding expense of calculating | ||||
| MYRIGHTS. | ||||
| o Replicated Security Considerations section from RFC 5819. | ||||
| Changes from draft-ietf-extra-imap-list-myrights-00: | Changes from draft-ietf-extra-imap-list-myrights-00: | |||
| o Corrected contact email address in IANA registration. | o Corrected contact email address in IANA registration. | |||
| o Fixed typos (extra SP) in examples. | o Fixed typos (extra SP) in examples. | |||
| Changes from draft-murchison-imap-list-myrights-01: | Changes from draft-murchison-imap-list-myrights-01: | |||
| o Renamed document to be a work product of the EXTRA WG. | o Renamed document to be a work product of the EXTRA WG. | |||
| End of changes. 11 change blocks. | ||||
| 10 lines changed or deleted | 32 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/ | ||||