idnits 2.17.1 draft-ietf-extra-imap-list-myrights-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (April 26, 2018) is 2189 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC3501' is defined on line 215, but no explicit reference was found in the text ** Obsolete normative reference: RFC 3501 (Obsoleted by RFC 9051) Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 EXTRA K. Murchison 3 Internet-Draft B. Gondwana 4 Intended status: Standards Track FastMail 5 Expires: October 28, 2018 April 26, 2018 7 IMAP4 Extension for Returning MYRIGHTS Information in Extended LIST 8 draft-ietf-extra-imap-list-myrights-04 10 Abstract 12 This document defines an extension to the IMAP LIST command that 13 allows the client to request the set of rights that the logged-in 14 user has been granted on mailboxes, along with other information 15 typically returned by the LIST command. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at https://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on October 28, 2018. 34 Copyright Notice 36 Copyright (c) 2018 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (https://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. Conventions Used in This Document . . . . . . . . . . . . . . 2 53 3. MYRIGHTS Return Option to LIST Command . . . . . . . . . . . 2 54 4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 4 56 6. Security Considerations . . . . . . . . . . . . . . . . . . . 4 57 7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 4 58 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 59 8.1. Registration of IMAP capability LIST-MYRIGHTS . . . . . . 4 60 8.2. Registration of LIST-EXTENDED option MYRIGHTS . . . . . . 4 61 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5 62 10. Normative References . . . . . . . . . . . . . . . . . . . . 5 63 Appendix A. Change History (To be removed by RFC Editor before 64 publication) . . . . . . . . . . . . . . . . . . . . 6 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 67 1. Introduction 69 IMAP clients typically fetch the set of rights granted on mailboxes 70 so they can expose the allowed functionality to the logged-in user. 71 In order to do that, the client is forced to issue a LIST or LSUB 72 command to list all available mailboxes, followed by a MYRIGHTS 73 command for each mailbox found. This document defines an extension 74 to the to IMAP LIST command that is identified by the capability 75 string "LIST-MYRIGHTS". The LIST-MYRIGHTS extension allows the 76 client to request the set of rights that the logged-in user has been 77 granted on mailboxes, along with other information typically returned 78 by the LIST command. 80 2. Conventions Used in This Document 82 In examples, "C:" indicates lines sent by a client that is connected 83 to a server. "S:" indicates lines sent by the server to the client. 85 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 86 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 87 "OPTIONAL" in this document are to be interpreted as described in 88 [RFC2119]. 90 3. MYRIGHTS Return Option to LIST Command 92 [RFC4314] defines the MYRIGHTS command which is used by an IMAP 93 client to determine the set of rights that the logged-in user has 94 been granted on a given mailbox. Frequently, a client will have to 95 look up the rights for some or all of the mailboxes returned by the 96 LIST command. Doing so in multiple MYRIGHTS commands wastes 97 bandwidth and can degrade performance if the client does not pipeline 98 the requests. 100 This document extends the LIST command with a new return option, 101 "MYRIGHTS", which allows the client to request all of the desired 102 information in a single command. For each listable mailbox matching 103 the list pattern and selection options, the server MUST return an 104 untagged LIST response and SHOULD also return an untagged MYRIGHTS 105 response containing the set of rights granted to the logged-in user. 106 The ordering of the responses is significant only in that the server 107 MUST NOT send a MYRIGHTS response for a given mailbox before it sends 108 the LIST response for that mailbox. 110 If the server is unable to look up the set of rights for a given 111 mailbox, it does not send the MYRIGHTS reply for that mailbox. 113 Client authors ought to note that generating the MYRIGHTS responses 114 for a large number of mailboxes may be an expensive operation for the 115 server. Clients SHOULD use a suitable match pattern and/or selection 116 option to limit the set of mailboxes returned to only those whose 117 rights in which they are interested. 119 4. Examples 121 In this example the "bar" mailbox doesn't exist, so it has no 122 MYRIGHTS reply. 124 C: A01 LIST "" % RETURN (MYRIGHTS) 125 S: * LIST () "." "INBOX" 126 S: * MYRIGHTS "INBOX" lrswipkxtecda 127 S: * LIST () "." "foo" 128 S: * MYRIGHTS "foo" lrs 129 S: * LIST (\NonExistent) "." "bar" 130 S: A01 OK List completed. 132 In this example the LIST reply for the "foo" mailbox is returned 133 because it has matching children, but no MYRIGHTS reply is returned 134 because "foo" itself doesn't match the selection criteria. 136 C: A02 LIST (SUBSCRIBED RECURSIVEMATCH) "" % RETURN (MYRIGHTS) 137 S: * LIST (\Subscribed) "." "INBOX" 138 S: * MYRIGHTS "INBOX" lrswipkxtecda 139 S: * LIST () "." "foo" (CHILDINFO ("SUBSCRIBED")) 140 S: A02 OK List completed. 142 5. Formal Syntax 144 The following syntax specification uses the augmented Backus-Naur 145 Form (BNF) as described in [RFC5234]. Terms not defined here are 146 taken from [RFC5258]. 148 return-option =/ "MYRIGHTS" 150 6. Security Considerations 152 This extension makes it a bit easier for clients to overload the 153 server by requesting MYRIGHTS information for a large number of 154 mailboxes. However, as already noted in the introduction, existing 155 clients already try to do that by generating a large number of 156 MYRIGHTS commands for each mailbox in which they are interested. 157 While performing MYRIGHTS information retrieval for big lists of 158 mailboxes, a server implementation needs to make sure that it can 159 still serve other IMAP connections and yield execution to other 160 connections, when necessary. 162 7. Privacy Considerations 164 This specification does not introduce any additional privacy concerns 165 beyond those described in [RFC4314]. 167 8. IANA Considerations 169 8.1. Registration of IMAP capability LIST-MYRIGHTS 171 This document defines the "LIST-MYRIGHTS" IMAP capability to be added 172 to the "IMAP Capabilities" registry: 173 . 176 8.2. Registration of LIST-EXTENDED option MYRIGHTS 178 This section registers the "MYRIGHTS" option to be added to the 179 "LIST-EXTENDED options" registry: . 182 LIST-EXTENDED option name: MYRIGHTS 184 LIST-EXTENDED option type: RETURN 186 LIST-EXTENDED option description: Causes the LIST command to return 187 MYRIGHTS responses in addition to LIST responses. 189 Published specification: RFC XXXX, Section 3 190 Security considerations: RFC XXXX, Section 6 192 Intended usage: COMMON 194 Person and email address to contact for further 195 information: 196 Kenneth Murchison 198 Owner/Change controller: IESG 200 9. Acknowledgments 202 This document is based largely on RFC5819. The authors would like to 203 thank the authors of that document for providing both inspiration and 204 some borrowed text for this document. The authors would also like to 205 thank the following individuals for contributing their ideas and 206 support for writing this specification: Barry Leiba. 208 10. Normative References 210 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 211 Requirement Levels", BCP 14, RFC 2119, 212 DOI 10.17487/RFC2119, March 1997, 213 . 215 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 216 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, 217 . 219 [RFC4314] Melnikov, A., "IMAP4 Access Control List (ACL) Extension", 220 RFC 4314, DOI 10.17487/RFC4314, December 2005, 221 . 223 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 224 Specifications: ABNF", STD 68, RFC 5234, 225 DOI 10.17487/RFC5234, January 2008, 226 . 228 [RFC5258] Leiba, B. and A. Melnikov, "Internet Message Access 229 Protocol version 4 - LIST Command Extensions", RFC 5258, 230 DOI 10.17487/RFC5258, June 2008, 231 . 233 Appendix A. Change History (To be removed by RFC Editor before 234 publication) 236 Changes from draft-ietf-extra-imap-list-myrights-03: 238 o Fixed a typo in the Abstract. 240 Changes from draft-ietf-extra-imap-list-myrights-02: 242 o WGLC editorial changes from Barry Leiba. 244 Changes from draft-ietf-extra-imap-list-myrights-01: 246 o Removed 'n' right from example. 248 o Added advice to client authors regarding expense of calculating 249 MYRIGHTS. 251 o Replicated Security Considerations section from RFC 5819. 253 Changes from draft-ietf-extra-imap-list-myrights-00: 255 o Corrected contact email address in IANA registration. 257 o Fixed typos (extra SP) in examples. 259 Changes from draft-murchison-imap-list-myrights-01: 261 o Renamed document to be a work product of the EXTRA WG. 263 o Updated authors' addresses. 265 Changes from draft-murchison-imap-list-myrights-00: 267 o Augmented Introduction with mention of "LIST-MYRIGHTS" capability 268 string. 270 o Minor editorial changes. 272 Authors' Addresses 274 Kenneth Murchison 275 FastMail Pty Ltd 276 Level 2, 114 William Street 277 Melbourne, VIC 3000 278 Australia 280 Email: murch@fastmailteam.com 281 Bron Gondwana 282 FastMail Pty Ltd 283 Level 2, 114 William Street 284 Melbourne, VIC 3000 285 Australia 287 Email: brong@fastmailteam.com