draft-ietf-imapext-list-extensions-14.txt   draft-ietf-imapext-list-extensions-15.txt 
IMAP Extensions Working Group B. Leiba IMAP Extensions Working Group B. Leiba
Internet-Draft IBM T.J. Watson Research Center Internet-Draft IBM T.J. Watson Research Center
Updates: 2193 (if approved) A. Melnikov Updates: 2193 (if approved) A. Melnikov
Obsoletes: 3348 (if approved) Isode Limited Obsoletes: 3348 (if approved) Isode Limited
Expires: April 22, 2006 October 19, 2005 Expires: April 4, 2006 October 2005
IMAP4 LIST Command Extensions IMAP4 LIST Command Extensions
draft-ietf-imapext-list-extensions-14 draft-ietf-imapext-list-extensions-15
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 35 skipping to change at page 1, line 35
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 22, 2006. This Internet-Draft will expire on April 4, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2005).
Abstract Abstract
IMAP4 has two commands for listing mailboxes: LIST and LSUB. As we IMAP4 has two commands for listing mailboxes: LIST and LSUB. As we
have added extensions, such as Mailbox Referrals, that have required have added extensions, such as Mailbox Referrals, that have required
specialized lists we have had to expand the number of list commands, specialized lists we have had to expand the number of list commands,
skipping to change at page 2, line 12 skipping to change at page 2, line 12
needed the extensions to work together, we've had to add a set of needed the extensions to work together, we've had to add a set of
commands to mix the different options, the set increasing in size commands to mix the different options, the set increasing in size
with each new extension. This document describes an extension to the with each new extension. This document describes an extension to the
base LIST command that will allow these additions to be done with base LIST command that will allow these additions to be done with
mutually compatible options to the LIST command, avoiding the mutually compatible options to the LIST command, avoiding the
exponential increase in specialized list commands. exponential increase in specialized list commands.
Note Note
A revised version of this draft document will be submitted to the RFC A revised version of this draft document will be submitted to the RFC
editor as an Proposed Standard for the Internet Community. editor as a Proposed Standard for the Internet Community. Discussion
Discussion and suggestions for improvement are requested, and should and suggestions for improvement are requested, and should be sent to
be sent to ietf-imapext@imc.org. ietf-imapext@imc.org.
This document obsoletes RFC 3348 and updates RFC 2193. This document obsoletes RFC 3348 and updates RFC 2193.
Table of Contents Table of Contents
1. Conventions used in this document . . . . . . . . . . . . . . 3 1. Conventions used in this document . . . . . . . . . . . . . . 3
2. Introduction and overview . . . . . . . . . . . . . . . . . . 4 2. Introduction and overview . . . . . . . . . . . . . . . . . . 4
3. Extended LIST Command . . . . . . . . . . . . . . . . . . . . 6 3. Extended LIST Command . . . . . . . . . . . . . . . . . . . . 6
skipping to change at page 26, line 17 skipping to change at page 26, line 17
The following syntax specification uses the augmented Backus-Naur The following syntax specification uses the augmented Backus-Naur
Form (BNF) as described in [ABNF]. Terms not defined here are taken Form (BNF) as described in [ABNF]. Terms not defined here are taken
from [IMAP4]. from [IMAP4].
"vendor-token" is defined in [ACAP]. Note that this normative "vendor-token" is defined in [ACAP]. Note that this normative
reference to ACAP is an issue in moving this spec forward, since ACAP reference to ACAP is an issue in moving this spec forward, since ACAP
will never move to Draft Standard. The definitions of "vendor-token" will never move to Draft Standard. The definitions of "vendor-token"
and of the IANA registry must eventually go somewhere else, in a and of the IANA registry must eventually go somewhere else, in a
document that can be moved forward on the standards track. document that can be moved forward on the standards track.
childinfo-extended-item = "CHILDINFO" SP "(" list-select-base-opt- childinfo-extended-item = "CHILDINFO" SP "("
quoted list-select-base-opt-quoted
*( SP list-select-base-opt-quoted ) ")" *( SP list-select-base-opt-quoted ) ")"
; Extended data item returned when the RECURSIVEMATCH ; Extended data item returned when the RECURSIVEMATCH
; selection option is specified. ; selection option is specified.
; Note 1: the CHILDINFO tag can be returned ; Note 1: the CHILDINFO tag can be returned
; with and without surrounding quotes, as per ; with and without surrounding quotes, as per
; mbox-list-extended-item-tag production. ; mbox-list-extended-item-tag production.
; Note 2: The selection options are returned quoted, ; Note 2: The selection options are returned quoted,
; unlike their specification in the extended LIST ; unlike their specification in the extended LIST
; command. ; command.
skipping to change at page 26, line 43 skipping to change at page 26, line 43
eitem-standard-tag = atom eitem-standard-tag = atom
; a tag for extended list data defined in a Standard ; a tag for extended list data defined in a Standard
; Track or Experimental RFC. ; Track or Experimental RFC.
eitem-vendor-tag = vendor-tag eitem-vendor-tag = vendor-tag
; a vendor specific tag for extended list data ; a vendor specific tag for extended list data
list = "LIST" [SP list-select-opts] SP mailbox SP mbox-or-pat list = "LIST" [SP list-select-opts] SP mailbox SP mbox-or-pat
[SP list-return-opts] [SP list-return-opts]
list-return-opts = "RETURN" SP "(" [return-option *(SP return- list-return-opts = "RETURN" SP
option)] ")" "(" [return-option *(SP return-option)] ")"
; list return options, e.g. CHILDREN ; list return options, e.g. CHILDREN
list-select-base-opt = "SUBSCRIBED" / option-extension list-select-base-opt = "SUBSCRIBED" / option-extension
; options that can be used by themselves ; options that can be used by themselves
list-select-base-opt-quoted = <"> list-select-base-opt <"> list-select-base-opt-quoted = <"> list-select-base-opt <">
list-select-independent-opt = "REMOTE" / option-extension list-select-independent-opt = "REMOTE" / option-extension
; options that do not syntactically interact with ; options that do not syntactically interact with
; other options ; other options
skipping to change at page 27, line 28 skipping to change at page 27, line 28
/ list-select-mod-opt / list-select-mod-opt
; An option registration template is described in ; An option registration template is described in
; Section 8.3 of this document. ; Section 8.3 of this document.
list-select-opts = "(" [ list-select-opts = "(" [
(*(list-select-opt SP) list-select-base-opt (*(list-select-opt SP) list-select-base-opt
*(SP list-select-opt)) *(SP list-select-opt))
/ (list-select-independent-opt / (list-select-independent-opt
*(SP list-select-independent-opt)) *(SP list-select-independent-opt))
] ")" ] ")"
; Any number of options may be in any order ; Any number of options may be in any order.
; If a list-select-mod-opt appears, then a
; list-select-base-opt must also appear.
; This allows these: ; This allows these:
; () ; ()
; (REMOTE) ; (REMOTE)
; (SUBSCRIBED) ; (SUBSCRIBED)
; (SUBSCRIBED REMOTE) ; (SUBSCRIBED REMOTE)
; (SUBSCRIBED RECURSIVEMATCH) ; (SUBSCRIBED RECURSIVEMATCH)
; (SUBSCRIBED REMOTE RECURSIVEMATCH) ; (SUBSCRIBED REMOTE RECURSIVEMATCH)
; But does NOT allow these: ; But does NOT allow these:
; (RECURSIVEMATCH) ; (RECURSIVEMATCH)
; (REMOTE RECURSIVEMATCH) ; (REMOTE RECURSIVEMATCH)
skipping to change at page 28, line 16 skipping to change at page 28, line 16
mbox-list-extended-item = "(" mbox-list-extended-item-data ")" mbox-list-extended-item = "(" mbox-list-extended-item-data ")"
mbox-list-extended-item-data = mbox-list-extended-item-tag SP mbox-list-extended-item-data = mbox-list-extended-item-tag SP
nstring-list nstring-list
mbox-list-extended-item-tag = astring mbox-list-extended-item-tag = astring
; The content MUST conform to either "eitem-vendor-tag" ; The content MUST conform to either "eitem-vendor-tag"
; or "eitem-standard-tag" ABNF productions. ; or "eitem-standard-tag" ABNF productions.
; A tag registration template is described in this ; A tag registration template is described in this
document ; document in Section 8.5.
; in Section 8.5.
mbox-list-oflag = child-mbox-flag / "\NonExistent" / mbox-list-oflag = child-mbox-flag / "\NonExistent" / "\Subscribed" /
/ "\Subscribed" / "\Remote" "\Remote"
mbox-or-pat = list-mailbox / patterns mbox-or-pat = list-mailbox / patterns
nstring-list = nstring / nstring-list = nstring /
"(" [nstring-list *(SP nstring-list)] ")" "(" [nstring-list *(SP nstring-list)] ")"
; a recursive list definition ; a recursive list definition
option-extension = (option-standard-tag / option-vendor-tag) [SP option-extension = (option-standard-tag / option-vendor-tag)
option-value] [SP option-value]
option-standard-tag = atom option-standard-tag = atom
; an option defined in a Standards Track or Experimental ; an option defined in a Standards Track or
RFC ; Experimental RFC
option-value = "(" astring *(SP astring) ")" option-val-comp = astring /
option-val-comp *(SP option-val-comp) /
"(" option-val-comp ")"
option-value = "(" option-val-comp ")"
option-vendor-tag = vendor-token "-" atom option-vendor-tag = vendor-token "-" atom
; a vendor specific option, non-standard ; a vendor specific option, non-standard
patterns = "(" list-mailbox *(SP list-mailbox) ")" patterns = "(" list-mailbox *(SP list-mailbox) ")"
return-option = "SUBSCRIBED" / "CHILDREN" / return-option = "SUBSCRIBED" / "CHILDREN" / option-extension
option-extension
7. Security Considerations 7. Security Considerations
This document describes syntactic changes to the specification of the This document describes syntactic changes to the specification of the
IMAP4 commands LIST, LSUB, RLIST, and RLSUB, and the modified LIST IMAP4 commands LIST, LSUB, RLIST, and RLSUB, and the modified LIST
command has the same security considerations as those commands. They command has the same security considerations as those commands. They
are described in [IMAP4] and [MBRef]. are described in [IMAP4] and [MBRef].
The Child Mailbox Extension provides a client a more efficient means The Child Mailbox Extension provides a client a more efficient means
of determining whether a particular mailbox has children. If a of determining whether a particular mailbox has children. If a
skipping to change at page 37, line 22 skipping to change at page 37, line 22
mailing lists and is meant to reflect consensus of those groups. In mailing lists and is meant to reflect consensus of those groups. In
particular, Mark Crispin, Philip Guenther, Cyrus Daboo, Timo particular, Mark Crispin, Philip Guenther, Cyrus Daboo, Timo
Sirainen, Ken Murchison, Rob Siemborski, Steve Hole, Arnt Sirainen, Ken Murchison, Rob Siemborski, Steve Hole, Arnt
Gulbrandsen, Larry Greenfield, Dave Cridland and Pete Maclean were Gulbrandsen, Larry Greenfield, Dave Cridland and Pete Maclean were
active participants in those discussions or made suggestions to this active participants in those discussions or made suggestions to this
document. document.
10. Normative References 10. Normative References
[ABNF] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax [ABNF] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997. Specifications: ABNF", RFC 4234, October 2005.
[ACAP] Newman, C. and J. Myers, "ACAP -- Application Configuration [ACAP] Newman, C. and J. Myers, "ACAP -- Application Configuration
Access Protocol", RFC 2244, November 1997. Access Protocol", RFC 2244, November 1997.
[CMbox] Gahrns, M. and R. Cheng, "", RFC 3348, July 2002. [CMbox] Gahrns, M. and R. Cheng, "", RFC 3348, July 2002.
[IMAP4] Crispin, M., "Internet Message Access Protocol - Version [IMAP4] Crispin, M., "Internet Message Access Protocol - Version
4rev1", RFC 3501, March 2003. 4rev1", RFC 3501, March 2003.
[Kwds] Bradner, S., "Key words for use in RFCs to Indicate [Kwds] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March 1997. Requirement Levels", RFC 2119, March 1997.
[MBRef] Gahrns, M., "IMAP4 Mailbox Referrals", RFC 2193, [MBRef] Gahrns, M., "IMAP4 Mailbox Referrals", RFC 2193,
September 1997. September 1997.
Authors' Addresses Authors' Addresses
Barry Leiba Barry Leiba
IBM T.J. Watson Research Center IBM T.J. Watson Research Center
30 Saw Mill River Road 19 Skyline Drive
Hawthorne, NY 10532 Hawthorne, NY 10532
US US
Phone: +1 914 784 7941 Phone: +1 914 784 7941
Email: leiba@watson.ibm.com Email: leiba@watson.ibm.com
Alexey Melnikov Alexey Melnikov
Isode Limited Isode Limited
5 Castle Business Village 5 Castle Business Village
36 Station Road 36 Station Road
Hampton, Middlesex TW12 2BX Hampton, Middlesex TW12 2BX
 End of changes. 17 change blocks. 
24 lines changed or deleted 28 lines changed or added

This html diff was produced by rfcdiff 1.27, available from http://www.levkowetz.com/ietf/tools/rfcdiff/