idnits 2.17.1 draft-ietf-extra-imap-list-myrights-02.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 (March 22, 2018) is 2220 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) ** Obsolete normative reference: RFC 3501 (Obsoleted by RFC 9051) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 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: September 23, 2018 March 22, 2018 7 IMAP4 Extension for Returning MYRIGHTS Information in Extended LIST 8 draft-ietf-extra-imap-list-myrights-02 10 Abstract 12 This document defines an extension to the to 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 September 23, 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. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 63 10.1. Normative References . . . . . . . . . . . . . . . . . . 5 64 10.2. Informative References . . . . . . . . . . . . . . . . . 5 65 Appendix A. Change History (To be removed by RFC Editor before 66 publication) . . . . . . . . . . . . . . . . . . . . 6 67 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 69 1. Introduction 71 IMAP clients typically fetch the set of rights granted on mailboxes 72 so they can expose the allowed functionality to the logged-in user. 73 In order to do that, the client is forced to issue a LIST or LSUB 74 command to list all available mailboxes, followed by a MYRIGHTS 75 command for each mailbox found. This document defines an extension 76 to the to IMAP LIST command that is identified by the capability 77 string "LIST-MYRIGHTS". The LIST-MYRIGHTS extension allows the 78 client to request the set of rights that the logged-in user has been 79 granted on mailboxes, along with other information typically returned 80 by the LIST command. 82 2. Conventions Used in This Document 84 In examples, "C:" indicates lines sent by a client that is connected 85 to a server. "S:" indicates lines sent by the server to the client. 87 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 88 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 89 "OPTIONAL" in this document are to be interpreted as described in 90 [RFC2119]. 92 3. MYRIGHTS Return Option to LIST Command 94 [RFC4314] defines the MYRIGHTS command which is used by an IMAP 95 client to determine the set of rights that the logged-in user has 96 been granted on a given mailbox. Frequently, a client will have to 97 look up the rights for some or all of the mailboxes returned by the 98 LIST command. Doing so in multiple MYRIGHTS commands wastes 99 bandwidth and can degrade performance if the client does not pipeline 100 the requests. 102 This document extends the LIST command with a new return option, 103 "MYRIGHTS", which allows the client to request all of the desired 104 information in a single command. For each listable mailbox matching 105 the list pattern and selection options, the server MUST return an 106 untagged LIST response followed by an untagged MYRIGHTS response 107 containing the set of rights granted to the logged-in user. 109 If the server is unable to look up the set of rights for a given 110 mailbox, it MAY drop the corresponding MYRIGHTS reply. In such a 111 situation, the LIST command would still return a tagged OK reply. 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 registry defined in Section 12 of [RFC3501]. 174 8.2. Registration of LIST-EXTENDED option MYRIGHTS 176 This section registers the "MYRIGHTS" option to be added to the 177 registry defined in Section 9 of [RFC5258]. 179 LIST-EXTENDED option name: MYRIGHTS 181 LIST-EXTENDED option type: RETURN 183 LIST-EXTENDED option description: Causes the LIST command to return 184 MYRIGHTS responses in addition to LIST responses. 186 Published specification: RFC XXXX, Section 3 188 Security considerations: RFC XXXX, Section 6 189 Intended usage: COMMON 191 Person and email address to contact for further 192 information: 193 Kenneth Murchison 195 Owner/Change controller: IESG 197 9. Acknowledgments 199 This document is based largely on [RFC5819]. The author would like 200 to thank the authors of that document for providing both inspiration 201 and some borrowed text for this document. 203 10. References 205 10.1. Normative References 207 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 208 Requirement Levels", BCP 14, RFC 2119, 209 DOI 10.17487/RFC2119, March 1997, 210 . 212 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 213 4rev1", RFC 3501, DOI 10.17487/RFC3501, March 2003, 214 . 216 [RFC4314] Melnikov, A., "IMAP4 Access Control List (ACL) Extension", 217 RFC 4314, DOI 10.17487/RFC4314, December 2005, 218 . 220 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 221 Specifications: ABNF", STD 68, RFC 5234, 222 DOI 10.17487/RFC5234, January 2008, 223 . 225 [RFC5258] Leiba, B. and A. Melnikov, "Internet Message Access 226 Protocol version 4 - LIST Command Extensions", RFC 5258, 227 DOI 10.17487/RFC5258, June 2008, 228 . 230 10.2. Informative References 232 [RFC5819] Melnikov, A. and T. Sirainen, "IMAP4 Extension for 233 Returning STATUS Information in Extended LIST", RFC 5819, 234 DOI 10.17487/RFC5819, March 2010, 235 . 237 Appendix A. Change History (To be removed by RFC Editor before 238 publication) 240 Changes from draft-ietf-extra-imap-list-myrights-01: 242 o Removed 'n' right from example. 244 o Added advice to client authors regarding expense of calculating 245 MYRIGHTS. 247 o Replicated Security Considerations section from RFC 5819. 249 Changes from draft-ietf-extra-imap-list-myrights-00: 251 o Corrected contact email address in IANA registration. 253 o Fixed typos (extra SP) in examples. 255 Changes from draft-murchison-imap-list-myrights-01: 257 o Renamed document to be a work product of the EXTRA WG. 259 o Updated authors' addresses. 261 Changes from draft-murchison-imap-list-myrights-00: 263 o Augmented Introduction with mention of "LIST-MYRIGHTS" capability 264 string. 266 o Minor editorial changes. 268 Authors' Addresses 270 Kenneth Murchison 271 FastMail Pty Ltd 272 Level 2, 114 William Street 273 Melbourne, VIC 3000 274 Australia 276 Email: murch@fastmailteam.com 277 Bron Gondwana 278 FastMail Pty Ltd 279 Level 2, 114 William Street 280 Melbourne, VIC 3000 281 Australia 283 Email: brong@fastmailteam.com