idnits 2.17.1 draft-ietf-extra-imap-list-myrights-07.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 seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (June 7, 2018) is 2143 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) -- Looks like a reference, but probably isn't: '1' on line 254 ** Obsolete normative reference: RFC 3501 (Obsoleted by RFC 9051) Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). 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: December 9, 2018 June 7, 2018 7 IMAP4 Extension for Returning MYRIGHTS Information in Extended LIST 8 draft-ietf-extra-imap-list-myrights-07 10 Abstract 12 This document defines an extension to the Internet Message Access 13 Protocol (IMAP) LIST command that allows the client to request the 14 set of rights that the logged-in user has been granted on mailboxes, 15 along with other information 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 December 9, 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 . . . . . . . . . . . 3 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 . . . . . . 5 61 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5 62 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 63 10.1. Normative References . . . . . . . . . . . . . . . . . . 5 64 10.2. Informative References . . . . . . . . . . . . . . . . . 6 65 10.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 6 66 Appendix A. Change History (To be removed by RFC Editor before 67 publication) . . . . . . . . . . . . . . . . . . . . 6 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 70 1. Introduction 72 IMAP [RFC3501] clients typically fetch the set of rights granted on 73 mailboxes so they can expose the allowed functionality to the logged- 74 in user. In order to do that, the client is forced to issue a LIST 75 or LSUB command to list all available mailboxes, followed by a 76 MYRIGHTS command for each mailbox found. This document defines an 77 extension to the to IMAP LIST command that is identified by the 78 capability string "LIST-MYRIGHTS". The LIST-MYRIGHTS extension 79 allows the client to request the set of rights that the logged-in 80 user has been granted on mailboxes, along with other information 81 typically returned by the LIST command. 83 2. Conventions Used in This Document 85 In examples, "C:" indicates lines sent by a client that is connected 86 to a server. "S:" indicates lines sent by the server to the client. 88 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 89 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 90 "OPTIONAL" in this document are to be interpreted as described in BCP 91 14 [1] [RFC2119] [RFC8174] when, and only when, they appear in all 92 capitals, as shown here. 94 3. MYRIGHTS Return Option to LIST Command 96 [RFC4314] defines the MYRIGHTS command which is used by an IMAP 97 client to determine the set of rights that the logged-in user has 98 been granted on a given mailbox. Frequently, a client will have to 99 look up the rights for some or all of the mailboxes returned by the 100 LIST command. Doing so in multiple MYRIGHTS commands wastes 101 bandwidth and can degrade performance if the client does not pipeline 102 the requests. 104 This document extends the LIST command with a new "MYRIGHTS" return 105 option [RFC5258], which allows the client to request all of the 106 desired information in a single command. For each listable mailbox 107 matching the list pattern and selection options, the server MUST 108 return an untagged LIST response and SHOULD also return an untagged 109 MYRIGHTS response containing the set of rights granted to the logged- 110 in user. The ordering of the responses is significant only in that 111 the server MUST NOT send a MYRIGHTS response for a given mailbox 112 before it sends the LIST response for that mailbox. 114 If the server is unable to look up the set of rights for a given 115 mailbox, it does not send the MYRIGHTS reply for that mailbox. 117 Client authors ought to note that generating the MYRIGHTS responses 118 for a large number of mailboxes may be an expensive operation for the 119 server. Clients SHOULD use a suitable match pattern and/or selection 120 option to limit the set of mailboxes returned to only those whose 121 rights in which they are interested. 123 4. Examples 125 In this example the "bar" mailbox doesn't exist, so it has no 126 MYRIGHTS reply. 128 C: A01 LIST "" % RETURN (MYRIGHTS) 129 S: * LIST () "." "INBOX" 130 S: * MYRIGHTS "INBOX" lrswipkxtecda 131 S: * LIST () "." "foo" 132 S: * MYRIGHTS "foo" lrs 133 S: * LIST (\NonExistent) "." "bar" 134 S: A01 OK List completed. 136 In this example the LIST reply for the "foo" mailbox is returned 137 because it has matching children, but no MYRIGHTS reply is returned 138 because "foo" itself doesn't match the selection criteria. 140 C: A02 LIST (SUBSCRIBED RECURSIVEMATCH) "" % RETURN (MYRIGHTS) 141 S: * LIST (\Subscribed) "." "INBOX" 142 S: * MYRIGHTS "INBOX" lrswipkxtecda 143 S: * LIST () "." "foo" (CHILDINFO ("SUBSCRIBED")) 144 S: A02 OK List completed. 146 5. Formal Syntax 148 The following syntax specification uses the augmented Backus-Naur 149 Form (BNF) as described in [RFC5234]. Terms not defined here are 150 taken from [RFC5258]. 152 return-option =/ "MYRIGHTS" 154 6. Security Considerations 156 In addition to the security considerations described in [RFC4314], 157 this extension makes it a bit easier for clients to overload the 158 server by requesting MYRIGHTS information for a large number of 159 mailboxes. However, as already noted in the introduction, existing 160 clients already try to do that by generating a large number of 161 MYRIGHTS commands for each mailbox in which they are interested. 162 While performing MYRIGHTS information retrieval for big lists of 163 mailboxes, a server implementation needs to make sure that it can 164 still serve other IMAP connections and yield execution to other 165 connections, when necessary. 167 7. Privacy Considerations 169 This specification does not introduce any additional privacy concerns 170 beyond those described in [RFC4314]. 172 8. IANA Considerations 174 8.1. Registration of IMAP capability LIST-MYRIGHTS 176 This document defines the "LIST-MYRIGHTS" IMAP capability to be added 177 to the "IMAP Capabilities" registry: 178 . 181 8.2. Registration of LIST-EXTENDED option MYRIGHTS 183 This section registers the "MYRIGHTS" option to be added to the 184 "LIST-EXTENDED options" registry: . 187 LIST-EXTENDED option name: MYRIGHTS 189 LIST-EXTENDED option type: RETURN 191 LIST-EXTENDED option description: Causes the LIST command to return 192 MYRIGHTS responses in addition to LIST responses. 194 Published specification: RFC XXXX, Section 3 196 Security considerations: RFC XXXX, Section 6 198 Intended usage: COMMON 200 Person and email address to contact for further 201 information: 202 Kenneth Murchison 204 Owner/Change controller: IESG 206 9. Acknowledgments 208 This document is based largely on [RFC5819]. The authors would like 209 to thank the authors of that document for providing both inspiration 210 and some borrowed text for this document. The authors would also 211 like to thank the following individuals for contributing their ideas 212 and support for writing this specification: Barry Leiba. 214 10. References 216 10.1. Normative References 218 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 219 Requirement Levels", BCP 14, RFC 2119, 220 DOI 10.17487/RFC2119, March 1997, 221 . 223 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 224 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, 225 . 227 [RFC4314] Melnikov, A., "IMAP4 Access Control List (ACL) Extension", 228 RFC 4314, DOI 10.17487/RFC4314, December 2005, 229 . 231 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 232 Specifications: ABNF", STD 68, RFC 5234, 233 DOI 10.17487/RFC5234, January 2008, 234 . 236 [RFC5258] Leiba, B. and A. Melnikov, "Internet Message Access 237 Protocol version 4 - LIST Command Extensions", RFC 5258, 238 DOI 10.17487/RFC5258, June 2008, 239 . 241 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 242 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 243 May 2017, . 245 10.2. Informative References 247 [RFC5819] Melnikov, A. and T. Sirainen, "IMAP4 Extension for 248 Returning STATUS Information in Extended LIST", RFC 5819, 249 DOI 10.17487/RFC5819, March 2010, 250 . 252 10.3. URIs 254 [1] https://tools.ietf.org/html/bcp14 256 Appendix A. Change History (To be removed by RFC Editor before 257 publication) 259 Changes from draft-ietf-extra-imap-list-myrights-06: 261 o Editorial fix. 263 Changes from draft-ietf-extra-imap-list-myrights-05: 265 o Updated Keywords boilerplate. 267 o Referenced security concerns in RFC 4314. 269 o Reworded first sentence in second paragraph of Section 3. 271 o Added informative reference to RFC5819. 273 Changes from draft-ietf-extra-imap-list-myrights-04: 275 o Added references for "IMAP" and "return option". 277 Changes from draft-ietf-extra-imap-list-myrights-03: 279 o Fixed a typo in the Abstract. 281 Changes from draft-ietf-extra-imap-list-myrights-02: 283 o WGLC editorial changes from Barry Leiba. 285 Changes from draft-ietf-extra-imap-list-myrights-01: 287 o Removed 'n' right from example. 289 o Added advice to client authors regarding expense of calculating 290 MYRIGHTS. 292 o Replicated Security Considerations section from RFC 5819. 294 Changes from draft-ietf-extra-imap-list-myrights-00: 296 o Corrected contact email address in IANA registration. 298 o Fixed typos (extra SP) in examples. 300 Changes from draft-murchison-imap-list-myrights-01: 302 o Renamed document to be a work product of the EXTRA WG. 304 o Updated authors' addresses. 306 Changes from draft-murchison-imap-list-myrights-00: 308 o Augmented Introduction with mention of "LIST-MYRIGHTS" capability 309 string. 311 o Minor editorial changes. 313 Authors' Addresses 315 Kenneth Murchison 316 FastMail Pty Ltd 317 Level 2, 114 William Street 318 Melbourne, VIC 3000 319 Australia 321 Email: murch@fastmailteam.com 322 Bron Gondwana 323 FastMail Pty Ltd 324 Level 2, 114 William Street 325 Melbourne, VIC 3000 326 Australia 328 Email: brong@fastmailteam.com