IMAP Extensions Working Group M. Gahrns, Microsoft
R. Cheng, Microsoft
INTERNET-DRAFT
Document: draft-gahrns-imap-child-mailbox-03 November 2000
IMAP4 Child Mailbox Extension
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents validA new Request for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It Comments is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work now available in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
To view the list Internet-Draft Shadow Directories, see
http://www.ietf.org/shadow.html.
1. Abstract
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). online RFC libraries.
RFC 3348
Title: The user can then expand the collapsed outline
hierarchy as needed. It is common to include within the collapsed
hierarchy a 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. Internet Message Action Protocol (IMAP4) Child
Mailbox Extension
Author(s): M. Gahrns, R. Cheng
Status: Informational
Date: July 2002
Mailbox: mikega@microsoft.com, raych@microsoft.com
Pages: 6
Characters: 11868
Updates/Obsoletes/SeeAlso: None
I-D Tag: draft-gahrns-imap-child-mailbox-04.txt
URL: ftp://ftp.rfc-editor.org/in-notes/rfc3348.txt
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 name.
Several IMAP vendors have implemented this proposal and this
documents mailbox.
This memo provides information for the expected behavior Internet community. It does
not specify an Internet standard of existing implementations. The
IMAPEXT Working Group, any kind. Distribution of this
memo is currently considering a LIST extension
where it has been proposed to incorporate similar functionality unlimited.
This announcement is sent to the \HasChildren and \HasNoChildren flags. With this new LIST
Gahrns IETF list and Cheng Expires May 2001 1
IMAP4 Child Mailbox Extension November 2000
Extension, the client would have an opportunity RFC-DIST list.
Requests to be added to request whether or not deleted from the server IETF distribution list
should return child mailbox information. This
would be an advantage for servers where this information is
expensive sent to compute, since the server would only need IETF-REQUEST@IETF.ORG. Requests to compute
the information when it knew that the client requesting the
information would be able
added to use it.
As such, it is expected that this internet-draft will move to
informational status, as child mailbox information is absorbed into
a more general LIST extension.
2. 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 deleted from 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].
3. Requirements
IMAP4 servers that support this extension MUST RFC-DIST distribution 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 sent to all child mailboxes, RFC-DIST-REQUEST@RFC-EDITOR.ORG.
Details on obtaining RFCs via FTP or
multiple users EMAIL 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.
Example 3.1:
============
Gahrns and Cheng Expires May 2001 2
IMAP4 Child Mailbox Extension November 2000
/*** 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 obtained by sending
an EMAIL message to child mailboxes and responds rfc-info@RFC-EDITOR.ORG 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. message body
help: ways_to_get_rfcs. 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.
It is an error example:
To: rfc-info@RFC-EDITOR.ORG
Subject: getting rfcs
help: ways_to_get_rfcs
Requests for the server to return both a \HasChildren and a
\NoInferiors attribute in a LIST response.
Note: the \HasNoChildren attribute special distribution 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.
Gahrns and Cheng Expires May 2001 3
IMAP4 Child Mailbox Extension November 2000
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 addressed to either the
IMAP4 mailbox_list response:
HasChildren = "\HasChildren"
HasNoChildren = "\HasNoChildren"
6. Security Considerations
This extension provides a client a more efficient means
author 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 RFC in mind SHOULD NOT attach the \HasChildren
attribute to a mailbox unless the server is certain that the user
has access question, or to at least one of RFC-Manager@RFC-EDITOR.ORG. Unless
specifically noted otherwise on the child mailboxes.
7. References
[RFC-2060], Crispin, M., "Internet Message Access Protocol - Version
4rev1", RFC 2060, University of Washington, December 1996.
[RFC-2119], Bradner, S, "Key words for use in itself, all RFCs to Indicate
Requirement Levels", RFC 2119, Harvard University, March 1997
Gahrns and Cheng Expires May 2001 4
IMAP4 Child Mailbox Extension November 2000
[RFC-2234], D. Crocker and P. Overell, Editors, "Augmented BNF are for
Syntax Specifications: ABNF", RFC 2234, Internet Mail Consortium,
November 1997
[RFC-2193], Gahrns, M, "IMAP4 Mailbox Referrals", RFC 2193,
Microsoft Corporation, September 1997
8. Acknowledgments
The authors would like to thank the participants of several IMC Mail
Connect events
unlimited distribution.echo
Submissions for their input when this idea was originally
presented and refined.
9. Author's Address
Mike Gahrns
Microsoft
One Microsoft Way
Redmond, WA, 98072
Phone: (425) 936-9833
Email: mikega@microsoft.com
Raymond Cheng
Microsoft
One Microsoft Way
Redmond, WA, 98072
Phone: (425) 703-4913
Email: raych@microsoft.com
Gahrns and Cheng Expires May 2001 5
IMAP4 Child Mailbox Extension November 2000
Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may Requests for Comments should be copied and furnished sent 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
RFC-EDITOR@RFC-EDITOR.ORG. Please consult RFC 2223, Instructions to the
Internet Society or other Internet organizations, except as needed
For the purpose of developing Internet standards in which case the
procedures RFC
Authors, 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.
Gahrns and Cheng Expires May 2001 6 further information.