Movatterモバイル変換


[0]ホーム

URL:


[RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Errata] [Info page]

INFORMATIONAL
Errata Exist
Network Working Group                                          M. GahrnsRequest for Comments: 3348                                      R. ChengCategory: Informational                                        Microsoft                                                               July 2002The Internet Message Action Protocol (IMAP4)Child Mailbox ExtensionStatus of this Memo   This memo provides information for the Internet community.  It does   not specify an Internet standard of any kind.  Distribution of this   memo is unlimited.Copyright Notice   Copyright (C) The Internet Society (2002).  All Rights Reserved.Abstract   The Internet Message Action Protocol (IMAP4) CHILDREN extension   provides a mechanism for a client to efficiently determine if a   particular mailbox has children, without issuing a LIST "" * or a   LIST "" % for each mailbox.1. Conventions used in this document   In examples, "C:" and "S:" indicate lines sent by the client and   server respectively.  If such lines are wrapped without a new "C:" or   "S:" label, then the wrapping is for editorial clarity and is not   part of the command.   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this   document are to be interpreted as described in [RFC-2119].2. Introduction and Overview   Many IMAP4 [RFC-2060] clients present to the user a hierarchical view   of the mailboxes that a user has access to.  Rather than initially   presenting to the user the entire mailbox hierarchy, it is often   preferable to show to the user a collapsed outline list of the   mailbox hierarchy (particularly if there is a large number of   mailboxes).  The user can then expand the collapsed outline hierarchy   as needed.  It is common to include within the collapsed hierarchy aGahrns, et al.               Informational                      [Page 1]

RFC 3348             IMAP4 Child Mailbox Extension             July 2002   visual clue (such as a "+") to indicate that there are child   mailboxes under a particular mailbox.  When the visual clue is   clicked the hierarchy list is expanded to show the child mailboxes.   Several IMAP vendors implemented this proposal, and it is proposed to   document this behavior and functionality as an Informational RFC.   There is interest in addressing the general extensibility of the IMAP   LIST command through an IMAP LIST Extension draft.  Similar   functionality to the \HasChildren and \HasNoChildren flags could be   incorporated into this new LIST Extension.  It is proposed that the   more general LIST Extension draft proceed on the standards track with   this proposal being relegated to informational status only.   If the functionality of the \HasChildren and \HasNoChildren flags   were incorporated into a more general LIST extension, this would have   the advantage that a client could then have the opportunity to   request whether or not the server should return this information.   This would be an advantage over the current draft for servers where   this information is expensive to compute, since the server would only   need to compute the information when it knew that the client   requesting the information was able to consume it.3. Requirements   IMAP4 servers that support this extension MUST list the keyword   CHILDREN in their CAPABILITY response.   The CHILDREN extension defines two new attributes that MAY be   returned within a LIST response.   \HasChildren - The presence of this attribute indicates that the   mailbox has child mailboxes.   Servers SHOULD NOT return \HasChildren if child mailboxes exist, but   none will be displayed to the current user in a LIST response (as   should be the case where child mailboxes exist, but a client does not   have permissions to access them.)  In this case, \HasNoChildren   SHOULD be used.   In many cases, however, a server may not be able to efficiently   compute whether a user has access to all child mailboxes, or multiple   users may be accessing the same account and simultaneously changing   the mailbox hierarchy.  As such a client MUST be prepared to accept   the \HasChildren attribute as a hint.  That is, a mailbox MAY be   flagged with the \HasChildren attribute, but no child mailboxes will   appear in a subsequent LIST response.Gahrns, et al.               Informational                      [Page 2]

RFC 3348             IMAP4 Child Mailbox Extension             July 2002   Example 3.1:   ============   /*** Consider a server that has the following mailbox hierarchy:   INBOX   ITEM_1      ITEM_1A   ITEM_2      TOP_SECRET   Where INBOX, ITEM_1 and ITEM_2 are top level mailboxes.  ITEM_1A is a   child mailbox of ITEM_1 and TOP_SECRET is a child mailbox of ITEM_2   that the currently logged on user does NOT have access to.   Note that in this case, the server is not able to efficiently compute   access rights to child mailboxes and responds with a \HasChildren   attribute for mailbox ITEM_2, even though ITEM_2/TOP_SECRET does not   appear in the list response.  ***/   C: A001 LIST "" *   S: * LIST (\HasNoChildren) "/" INBOX   S: * LIST (\HasChildren) "/" ITEM_1   S: * LIST (\HasNoChildren) "/" ITEM_1/ITEM_1A   S: * LIST (\HasChildren) "/" ITEM_2   S: A001 OK LIST Completed   \HasNoChildren - The presence of this attribute indicates that the   mailbox has NO child mailboxes that are accessible to the currently   authenticated user.  If a mailbox has the \Noinferiors attribute, the   \HasNoChildren attribute is redundant and SHOULD be omitted in the   LIST response.   In some instances a server that supports the CHILDREN extension MAY   NOT be able to determine whether a mailbox has children.  For example   it may have difficulty determining whether there are child mailboxes   when LISTing mailboxes while operating in a particular namespace.   In these cases, a server MAY exclude both the \HasChildren and   \HasNoChildren attributes in the LIST response.  As such, a client   can not make any assumptions about whether a mailbox has children   based upon the absence of a single attribute.   It is an error for the server to return both a \HasChildren and a   \HasNoChildren attribute in a LIST response.Gahrns, et al.               Informational                      [Page 3]

RFC 3348             IMAP4 Child Mailbox Extension             July 2002   It is an error for the server to return both a \HasChildren and a   \NoInferiors attribute in a LIST response.   Note: the \HasNoChildren attribute should not be confused with the   IMAP4 [RFC-2060] defined attribute \Noinferiors which indicates that   no child mailboxes exist now and none can be created in the future.   The \HasChildren and \HasNoChildren attributes might not be returned   in response to a LSUB response.  Many servers maintain a simple   mailbox subscription list that is not updated when the underlying   mailbox structure is changed.  A client MUST NOT assume that   hierarchy information will be maintained in the subscription list.   RLIST is a command defined in [RFC-2193] that includes in a LIST   response mailboxes that are accessible only via referral.  That is, a   client must explicitly issue an RLIST command to see a list of these   mailboxes.  Thus in the case where a mailbox has child mailboxes that   are available only via referral, the mailboxes would appear as   \HasNoChildren in response to the LIST command, and \HasChildren in   response to the RLIST command.5. Formal Syntax   The following syntax specification uses the augmented Backus-Naur   Form (BNF) as described in [ABNF].   Two new mailbox attributes are defined as flag_extensions to the   IMAP4 mailbox_list response:   HasChildren = "\HasChildren"   HasNoChildren = "\HasNoChildren"6. Security Considerations   This extension provides a client a more efficient means of   determining whether a particular mailbox has children.  If a mailbox   has children, but the currently authenticated user does not have   access to any of them, the server SHOULD respond with a   \HasNoChildren attribute.  In many cases, however, a server may not   be able to efficiently compute whether a user has access to all child   mailboxes.  If such a server responds with a \HasChildren attribute,   when in fact the currently authenticated user does not have access to   any child mailboxes, potentially more information is conveyed about   the mailbox than intended.  A server designed with such levels of   security in mind SHOULD NOT attach the \HasChildren attribute to a   mailbox unless the server is certain that the user has access to at   least one of the child mailboxes.Gahrns, et al.               Informational                      [Page 4]

RFC 3348             IMAP4 Child Mailbox Extension             July 20027. References   [RFC-2060] Crispin, M., "Internet Message Access Protocol - Version              4rev1",RFC 2060, December 1996.   [RFC-2119] Bradner, S., "Key words for use in RFCs to Indicate              Requirement Levels",BCP 14,RFC 2119, March 1997.   [RFC-2234] Crocker, D. and P. Overell, Editors, "Augmented BNF for              Syntax Specifications: ABNF",RFC 2234, November 1997.   [RFC-2193] Gahrns, M., "IMAP4 Mailbox Referrals",RFC 2193, September              1997.8.  Acknowledgments   The authors would like to thank the participants of several IMC Mail   Connect events for their input when this idea was originally   presented and refined.9. Author's Address   Mike Gahrns   Microsoft   One Microsoft Way   Redmond, WA, 98052   Phone: (425) 936-9833   EMail: mikega@microsoft.com   Raymond Cheng   Microsoft   One Microsoft Way   Redmond, WA, 98052   Phone: (425) 703-4913   EMail: raych@microsoft.comGahrns, et al.               Informational                      [Page 5]

RFC 3348             IMAP4 Child Mailbox Extension             July 200210. Full Copyright Statement   Copyright (C) The Internet Society (2002).  All Rights Reserved.   This document and translations of it may be copied and furnished to   others, and derivative works that comment on or otherwise explain it   or assist in its implementation may be prepared, copied, published   and distributed, in whole or in part, without restriction of any   kind, provided that the above copyright notice and this paragraph are   included on all such copies and derivative works.  However, this   document itself may not be modified in any way, such as by removing   the copyright notice or references to the Internet Society or other   Internet organizations, except as needed for the purpose of   developing Internet standards in which case the procedures for   copyrights defined in the Internet Standards process must be   followed, or as required to translate it into languages other than   English.   The limited permissions granted above are perpetual and will not be   revoked by the Internet Society or its successors or assigns.   This document and the information contained herein is provided on an   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.Acknowledgement   Funding for the RFC Editor function is currently provided by the   Internet Society.Gahrns, et al.               Informational                      [Page 6]

[8]ページ先頭

©2009-2025 Movatter.jp