<?xml version="1.0" encoding="UTF-8"?><?rfc linefile="1:xml/complete/rfc4469.xml"?>
<?xml-stylesheet type='text/xsl' href='http://xml.resource.org/authoring/rfc2629.xslt' ?>
<!DOCTYPE rfc SYSTEM 'rfc2629.dtd' [








]>
<rfc ipr="full3978" number="4469" updates="3501,3502" category="std">
    <front>
        <title abbrev="IMAP CATENATE Extension">Internet Message Access Protocol (IMAP) CATENATE
            Extension</title>
        <author initials="P." surname="Resnick" fullname="Peter W. Resnick">
            <organization>QUALCOMM Incorporated</organization>
            <address>
                <postal>
                    <street>5775 Morehouse Drive</street>
                    <city>San Diego</city>
                    <region>CA</region>
                    <code>92121-1714</code>
                    <country>US</country>
                </postal>
                <phone>+1 858 651 4478</phone>
                <email>presnick@qualcomm.com</email>
                <uri>http://www.qualcomm.com/~presnick/</uri>
            </address>
        </author>
        <date month="April" year="2006"/>
        <area>Applications</area>
        <workgroup>LEMONADE</workgroup>
        <keyword/>
        <abstract>
            <t>The CATENATE extension to the Internet Message Access Protocol (IMAP) extends the
                APPEND command to allow clients to create messages on the IMAP server that may
                contain a combination of new data along with parts of (or entire) messages already
                on the server. Using this extension, the client can catenate parts of an already
                existing message onto a new message without having to first download the data and
                then upload it back to the server.</t>
        </abstract>
    </front>
    <middle>
        <section anchor="intro" title="Introduction">
            <t>The CATENATE extension to the <xref target="RFC3501">Internet Message Access Protocol
                    (IMAP)</xref> allows the client to create a message on the server that can
                include the text of messages (or parts of messages) that already exist on the server
                without having to FETCH them and APPEND them back to the server. The CATENATE
                extension extends the APPEND command so that, instead of a single message literal,
                the command can take as arguments any combination of message literals (as described
                in <xref target="RFC3501">IMAP</xref>) and message URLs (as described in the <xref
                    target="RFC2192">IMAP URL Scheme</xref> specification). The server takes all
                the pieces and catenates them into the output message. The CATENATE extension can
                also coexist with the <xref target="RFC3502">MULTIAPPEND extension</xref> to APPEND
                multiple messages in a single command. </t>
            <t>There are some obvious uses for the CATENATE extension. The motivating use case was
                to provide a way for a resource-constrained client to compose a message for
                subsequent submission that contains data that already exists in that client's IMAP
                store. Because the client does not have to download and re-upload potentially large
                message parts, bandwidth and processing limitations do not have as much impact. In
                addition, since the client can create a message in its own IMAP store, the command
                also addresses the desire of the client to archive a copy of a sent message without
                having to upload the message twice. (Mechanisms for sending the message are outside
                the scope of this document.)</t>
            <t>The extended APPEND command can also be used to copy parts of a message to another
                mailbox for archival purposes while getting rid of undesired parts. In environments
                where server storage is limited, a client could get rid of large message parts by
                copying over only the necessary parts and then deleting the original message. The
                mechanism could also be used to add data to a message (such as prepending message
                header fields) or to include other data by making a copy of the original and
                catenating the new data.</t>
        </section>
        <section anchor="capability" title="The CATENATE Capability">
            <t>A server that supports this extension returns "CATENATE" as one of the responses to
                the CAPABILITY command.</t>
        </section>
        <section anchor="command" title="The APPEND Command">
            <t>
                <list style="hanging" hangIndent="15">
                    <t hangText="Arguments:">mailbox name</t>
                    <t>(The following can be repeated in the presence of the <xref target="RFC3502"
                            >MULTIAPPEND extension</xref>)</t>
                        <t>OPTIONAL flag parenthesized list</t>
                        <t>OPTIONAL date/time string</t>
                        <t>a single message literal or one or more message parts to catenate,
                            specified as: <list>
                                <t>message literal <list>
                                        <t>or</t>
                                    </list> message (or message part) URL</t>
                        </list>
                    </t>
                </list>
            </t>
            <t>
                <list style="hanging" hangIndent="15">
                    <t hangText="Responses:">OPTIONAL NO responses: BADURL, TOOBIG</t>
                </list>
            </t>
            <t>
                <list style="hanging" hangIndent="15">
                    <t hangText="Result:">
                        <list style="hanging" hangIndent="6">
                            <t hangText="OK -">append completed</t>
                            <t hangText="NO -">append error: can't append to that mailbox, error in
                                flags or date/time or message text, or can't fetch that data</t>
                            <t hangText="BAD -">command unknown or arguments invalid</t>
                        </list>
                    </t>
                </list>
            </t>
            <t>The APPEND command concatenates all the message parts and appends them as a new
                message to the end of the specified mailbox. The parenthesized flag list and
                date/time string set the flags and the internal date, respectively, as described in
                    <xref target="RFC3501">IMAP</xref>. The subsequent command parameters specify
                the message parts that are appended sequentially to the output message.</t>
            <t>If the original form of APPEND is used, a message literal follows the optional flag
                list and date/time string, which is appended as described in <xref target="RFC3501"
                    >IMAP</xref>. If the extended form is used, "CATENATE" and a parenthesized list
                of message literals and message URLs follows, each of which is appended to the new
                message. If a message literal is specified (indicated by "TEXT"), the octets
                following the count are appended. If a message URL is specified (indicated by
                "URL"), the octets of the body part pointed to by that URL are appended, as if the
                literal returned in a FETCH BODY response were put in place of the message part
                specifier. The APPEND command does not cause the \Seen flag to be set for any
                catenated body part. The APPEND command does not change the selected mailbox.</t>
            <t>In the extended APPEND command, the string following "URL" is <xref target="RFC2192"
                    >an IMAP URL</xref> and is interpreted according to the rules of <xref
                    target="RFC2192"/>. The present document only describes the behavior of the
                command using IMAP URLs that refer to specific messages or message parts on the
                current IMAP server from the current authenticated IMAP session. Because of that,
                only relative IMAP message or message part URLs (i.e., having no scheme or
                &lt;iserver&gt;) are used. The base URL for evaluating the relative URL is
                considered "imap://user@server/", where "user" is the user name of the currently
                authenticated user and "server" is the domain name of the current server. When in
                the selected state, the base URL is considered "imap://user@server/mailbox", where
                "mailbox" is the encoded name of the currently selected mailbox. Additionally, since
                the APPEND command is valid in the authenticated state of an IMAP session, no
                further LOGIN or AUTHENTICATE command is performed for URLs specified in the
                extended APPEND command.</t>
            <t>
                <list>
                    <t>Note: Use of an absolute IMAP URL or any URL that refers to anything other
                        than a message or message part from the current authenticated IMAP session
                        is outside the scope of this document and would require an extension to this
                        specification, and a server implementing only this specification would
                        return NO to such a request.</t>
                </list>
            </t>
            <t>The client is responsible for making sure that the catenated message is in the format
                of an <xref target="RFC2822">Internet Message Format (RFC 2822)</xref> or <xref
                    target="RFC2045">Multipurpose Internet Mail Extension (MIME)</xref> message. In
                particular, when a URL is catenated, the server copies octets, unchanged, from the
                indicated message or message part to the catenated message. It does no data
                conversion (e.g., MIME transfer encodings) nor any verification that the data is
                appropriate for the MIME part of the message into which it is inserted. The client
                is also responsible for inserting appropriate MIME boundaries between body parts,
                and writing MIME Content-Type and Content-Transfer-Encoding lines as needed in the
                appropriate places.</t>
            <t>Responses behave just as the original APPEND command described in <xref
                    target="RFC3501">IMAP</xref>. If the server implements the <xref
                    target="RFC4315">IMAP UIDPLUS extension</xref>, it will also return an APPENDUID
                response code in the tagged OK response. Two response codes are provided in Section
                    <xref target="responses" format="counter"/> that can be used in the tagged NO
                response if the APPEND command fails.</t>
        </section>
        <section anchor="responses" title="Response Codes">
            <t>When a APPEND command fails, it may return a response code that describes a reason for
                the failure.</t>
            <section anchor="badurl" title="BADURL Response">
                <t>The BADURL response code is returned if the APPEND fails to process one of the
                    specified URLs. Possible reasons for this are bad URL syntax, unrecognized URL
                    schema, invalid message UID, or invalid body part. The BADURL response code
                    contains the first URL specified as a parameter to the APPEND command that has
                    caused the operation to fail.</t>
            </section>
            <section anchor="toobig" title="TOOBIG Response">
                <t>The TOOBIG response code is returned if the resulting message will exceed the 4-GB
                    IMAP message limit. This might happen, for example, if the client specifies 3
                    URLs for 2-GB messages. Note that even if the server doesn't return TOOBIG, it
                    still has to be defensive against misbehaving or malicious clients that try to
                    construct a message over the 4-GB limit. The server may also wish to return the
                    TOOBIG response code if the resulting message exceeds a server-specific message
                    size limit.</t>
            </section>
        </section>
        <section anchor="syntax" title="Formal Syntax">
            <figure>
                <preamble>The following syntax specification uses the <xref target="RFC4234"
                        >Augmented Backus-Naur Form (ABNF)</xref> notation. Elements not defined
                    here can be found in the formal syntax of the <xref target="RFC4234"
                    >ABNF</xref>, <xref target="RFC3501">IMAP</xref>, and <xref
                        target="RFC4466">IMAP ABNF extensions</xref>
                    specifications. Note that capability and resp-text-code are extended from the
                        <xref target="RFC3501">IMAP</xref> specification and append-data is extended
                    from the <xref target="RFC4466">IMAP ABNF extensions</xref>
                    specification.</preamble>
                <artwork type="abnf">
append-data =/ "CATENATE" SP "(" cat-part *(SP cat-part) ")"

cat-part = text-literal / url
                    
text-literal = "TEXT" SP literal
                    
url = "URL" SP astring
                    
resp-text-code =/ toobig-response-code / badurl-response-code

toobig-response-code = "TOOBIG"

badurl-response-code = "BADURL" SP url-resp-text
                    
url-resp-text = 1*(%x01-09 /
                   %x0B-0C /
                   %x0E-5B /
                   %x5D-FE) ; Any TEXT-CHAR except "]"

capability =/ "CATENATE"
</artwork>
                <postamble>The astring in the definition of url and the url-resp-text in the
                    definition of badurl-response-code each contain an imapurl as defined by <xref
                        target="RFC2192"/>.</postamble>
            </figure>
        </section>
        <section anchor="acknowledgements" title="Acknowledgements">
            <t>Thanks to the members of the LEMONADE working group for their input. Special thanks
                to Alexey Melnikov for the examples.</t>
        </section>
        <section anchor="security" title="Security Considerations">
            <t>The CATENATE extension does not raise any security considerations that are not
                present for the base protocol or in the use of IMAP URLs, and these issues are
                discussed in the <xref target="RFC3501">IMAP</xref> and <xref target="RFC2192">IMAP
                    URL</xref> documents.</t>
        </section>
        <section anchor="iana" title="IANA Considerations">
            <t>IMAP4 capabilities are registered by publishing a standards track or IESG approved
                experimental RFC. The registry is currently located at <eref
                    target="http://www.iana.org/assignments/imap4-capabilities"/>. This document
                defines the CATENATE IMAP capability. The IANA has added this capability to
                the registry.</t>
        </section>
        <appendix anchor="examples" title="Examples">
            <t>Lines not starting with "C: " or "S: " are continuations of the previous lines.</t>
            <t>The original message in examples 1 and 2 below (UID = 20) has the following
                structure: <list>
                    <t>multipart/mixed MIME message with two body parts: <list style="numbers">
                            <t>text/plain</t>
                            <t>application/x-zip-compressed</t>
                        </list>
                    </t>
                </list>
            </t>
            <figure>
                <preamble>Example 1: The following example demonstrates how a CATENATE client can
                    replace an attachment in a draft message, without the need to download it to the
                    client and upload it back.</preamble>
                <artwork>
C: A003 APPEND Drafts (\Seen \Draft $MDNSent) CATENATE
 (URL "/Drafts;UIDVALIDITY=385759045/;UID=20/;section=HEADER"
 TEXT {42}
S: + Ready for literal data
C: 
C: --------------030308070208000400050907
C:  URL "/Drafts;UIDVALIDITY=385759045/;UID=20/;section=1.MIME"
 URL "/Drafts;UIDVALIDITY=385759045/;UID=20/;section=1" TEXT {42}
S: + Ready for literal data
C: 
C: --------------030308070208000400050907
C:  URL "/Drafts;UIDVALIDITY=385759045/;UID=30" TEXT {44}
S: + Ready for literal data
C: 
C: --------------030308070208000400050907--
C: )
S: A003 OK catenate append completed
                </artwork>
            </figure>
            <figure>
                <preamble>Example 2: The following example demonstrates how the CATENATE extension
                    can be used to replace edited text in a draft message, as well as header fields
                    for the top level message part (e.g., Subject has changed). The previous version
                    of the draft is marked as \Deleted. Note that the server also supports the
                    UIDPLUS extension, so the APPENDUID response code is returned in the successful
                    OK response to the APPEND command.</preamble>
                <artwork>
C: A003 APPEND Drafts (\Seen \Draft $MDNSent) CATENATE (TEXT {738}
S: + Ready for literal data
C: Return-Path: &lt;bar@example.org&gt;
C: Received: from [127.0.0.2]
C:           by rufus.example.org via TCP (internal) with ESMTPA;
C:           Thu, 11 Nov 2004 16:57:07 +0000
C: Message-ID: &lt;419399E1.6000505@example.org&gt;
C: Date: Thu, 12 Nov 2004 16:57:05 +0000
C: From: Bob Ar &lt;bar@example.org&gt;
C: X-Accept-Language: en-us, en
C: MIME-Version: 1.0
C: To: foo@example.net
C: Subject: About our holiday trip
C: Content-Type: multipart/mixed;
C:               boundary="------------030308070208000400050907"
C:
C: --------------030308070208000400050907
C: Content-Type: text/plain; charset=us-ascii; format=flowed
C: Content-Transfer-Encoding: 7bit
C:
C: Our travel agent has sent the updated schedule.
C:
C: Cheers,
C: Bob
C: --------------030308070208000400050907
C:  URL "/Drafts;UIDVALIDITY=385759045/;UID=20/;Section=2.MIME"
 URL "/Drafts;UIDVALIDITY=385759045/;UID=20/;Section=2" TEXT {44}
S: + Ready for literal data
C: 
C: --------------030308070208000400050907--
C: )
S: A003 OK [APPENDUID 385759045 45] append Completed
C: A004 UID STORE 20 +FLAGS.SILENT (\Deleted)
S: A004 OK STORE completed
                </artwork>
            </figure>
            <figure>
                <preamble>Example 3: The following example demonstrates how the CATENATE extension
                    can be used to strip attachments. Below, a PowerPoint attachment was replaced by
                    a small text part explaining that the attachment was stripped.</preamble>
                <artwork>
C: A003 APPEND Drafts (\Seen \Draft $MDNSent) CATENATE
 (URL "/Drafts;UIDVALIDITY=385759045/;UID=21/;section=HEADER"
 TEXT {42}
S: + Ready for literal data
C: 
C: --------------030308070208000400050903
C:  URL "/Drafts;UIDVALIDITY=385759045/;UID=21/;section=1.MIME"
 URL "/Drafts;UIDVALIDITY=385759045/;UID=21/;section=1" TEXT {255}
S: + Ready for literal data
C: 
C: --------------030308070208000400050903
C: Content-type: text/plain; charset="us-ascii"
C: Content-transfer-encoding: 7bit
C:
C: This body part contained a Power Point presentation that was
C: deleted upon your request.
C: --------------030308070208000400050903--
C: )
S: A003 OK append Completed
                </artwork>
            </figure>
            <figure>
                <preamble>Example 4: The following example demonstrates a failed APPEND command. The
                    server returns the BADURL response code to indicate that one of the provided
                    URLs is invalid. This example also demonstrates how the CATENATE extension can
                    be used to construct a digest of several messages. </preamble>
                <artwork>
C: A003 APPEND Sent (\Seen $MDNSent) CATENATE (TEXT {541}
S: + Ready for literal data
C: Return-Path: &lt;foo@example.org&gt;
C: Received: from [127.0.0.2]
C:           by rufus.example.org via TCP (internal) with ESMTPA;
C:           Thu, 11 Nov 2004 16:57:07 +0000
C: Message-ID: &lt;419399E1.6000505@example.org&gt;
C: Date: Thu, 21 Nov 2004 16:57:05 +0000
C: From: Farren Oo &lt;foo@example.org&gt;
C: X-Accept-Language: en-us, en
C: MIME-Version: 1.0
C: To: bar@example.org
C: Subject: Digest of the mailing list for today
C: Content-Type: multipart/digest;
C:               boundary="------------030308070208000400050904"
C:
C: --------------030308070208000400050904
C:  URL "/INBOX;UIDVALIDITY=785799047/;UID=11467" TEXT {42}
S: + Ready for literal data
C: 
C: --------------030308070208000400050904
C:  URL "/INBOX;UIDVALIDITY=785799047/;UID=113330/;section=1.5.9"
 TEXT {42}
S: + Ready for literal data
C: 
C: --------------030308070208000400050904
C:  URL "/INBOX;UIDVALIDITY=785799047/;UID=11916" TEXT {44}
S: + Ready for literal data
C: 
C: --------------030308070208000400050904--
C: )
S: A003 NO [BADURL "/INBOX;UIDVALIDITY=785799047/;UID=113330;
section=1.5.9"] CATENATE append has failed, one message expunged
                    </artwork>
                <postamble>Note that the server could have validated the URLs as they were received
                    and therefore could have returned the tagged NO response with BADURL
                    response-code in place of any continuation request after the URL was
                received.</postamble>
            </figure>
        </appendix>
    </middle>
    <back>
        <references title="Normative References"> <?rfc linefile="1:http://xml.resource.org/public/rfc/bibxml/reference.RFC.3501.xml"?>

<reference anchor='RFC3501'>

<front>
<title>INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1</title>
<author initials='M.' surname='Crispin' fullname='M. Crispin'>
<organization /></author>
<date year='2003' month='March' /></front>

<seriesInfo name='RFC' value='3501' />
<format type='TXT' octets='227640' target='ftp://ftp.isi.edu/in-notes/rfc3501.txt' />
</reference>
<?rfc linefile="396:xml/complete/rfc4469.xml"?> <?rfc linefile="1:http://xml.resource.org/public/rfc/bibxml/reference.RFC.2192.xml"?>

<reference anchor='RFC2192'>

<front>
<title>IMAP URL Scheme</title>
<author initials='C.' surname='Newman' fullname='Chris Newman'>
<organization>Innosoft International, Inc.</organization>
<address>
<postal>
<street>1050 Lakes Drive</street>
<street>West Covina</street>
<street>CA 91790</street>
<country>USA</country></postal>
<email>chris.newman@innosoft.com</email></address></author>
<date year='1997' month='September' />
<area>Applications</area>
<keyword>IMAP</keyword>
<keyword>internet message access protocol</keyword>
<keyword>uniform resource</keyword>
<abstract>
<t>
     IMAP  is a rich protocol for accessing remote message
     stores.  It provides an ideal mechanism for accessing public
     mailing list archives as well as private and shared message stores.
     This document defines a URL scheme for referencing objects on an
     IMAP server.
</t></abstract></front>

<seriesInfo name='RFC' value='2192' />
<format type='TXT' octets='31426' target='ftp://ftp.isi.edu/in-notes/rfc2192.txt' />
<format type='HTML' octets='52707' target='http://xml.resource.org/public/rfc/html/rfc2192.html' />
<format type='XML' octets='36231' target='http://xml.resource.org/public/rfc/xml/rfc2192.xml' />
</reference>
<?rfc linefile="396:xml/complete/rfc4469.xml"?> <?rfc linefile="1:http://xml.resource.org/public/rfc/bibxml/reference.RFC.3502.xml"?>

<reference anchor='RFC3502'>

<front>
<title>Internet Message Access Protocol (IMAP) - MULTIAPPEND Extension</title>
<author initials='M.' surname='Crispin' fullname='M. Crispin'>
<organization /></author>
<date year='2003' month='March' /></front>

<seriesInfo name='RFC' value='3502' />
<format type='TXT' octets='13379' target='ftp://ftp.isi.edu/in-notes/rfc3502.txt' />
</reference>
<?rfc linefile="396:xml/complete/rfc4469.xml"?>
            <?rfc linefile="1:http://xml.resource.org/public/rfc/bibxml/reference.RFC.2822.xml"?>

<reference anchor='RFC2822'>

<front>
<title>Internet Message Format</title>
<author initials='P.' surname='Resnick' fullname='P. Resnick'>
<organization /></author>
<date year='2001' month='April' /></front>

<seriesInfo name='RFC' value='2822' />
<format type='TXT' octets='110695' target='ftp://ftp.isi.edu/in-notes/rfc2822.txt' />
</reference>
<?rfc linefile="397:xml/complete/rfc4469.xml"?> <?rfc linefile="1:http://xml.resource.org/public/rfc/bibxml/reference.RFC.2045.xml"?>

<reference anchor='RFC2045'>

<front>
<title abbrev='Internet Message Bodies'>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</title>
<author initials='N.' surname='Freed' fullname='Ned Freed'>
<organization>Innosoft International, Inc.</organization>
<address>
<postal>
<street>1050 East Garvey Avenue South</street>
<city>West Covina</city>
<region>CA</region>
<code>91790</code>
<country>US</country></postal>
<phone>+1 818 919 3600</phone>
<facsimile>+1 818 919 3614</facsimile>
<email>ned@innosoft.com</email></address></author>
<author initials='N.S.' surname='Borenstein' fullname='Nathaniel S. Borenstein'>
<organization>First Virtual Holdings</organization>
<address>
<postal>
<street>25 Washington Avenue</street>
<city>Morristown</city>
<region>NJ</region>
<code>07960</code>
<country>US</country></postal>
<phone>+1 201 540 8967</phone>
<facsimile>+1 201 993 3032</facsimile>
<email>nsb@nsb.fv.com</email></address></author>
<date year='1996' month='November' />
<abstract>
<t>STD 11, RFC 822, defines a message representation protocol specifying considerable detail about US-ASCII message headers, and leaves the message content, or message body, as flat US-ASCII text.  This set of documents, collectively called the Multipurpose Internet Mail Extensions, or MIME, redefines the format of messages to allow for</t>
<t>(1)   textual message bodies in character sets other than US-ASCII,</t>
<t>(2)   an extensible set of different formats for non-textual message bodies,</t>
<t>(3)   multi-part message bodies, and</t>
<t>(4)   textual header information in character sets other than US-ASCII.</t>
<t>These documents are based on earlier work documented in RFC 934, STD 11, and RFC 1049, but extends and revises them.  Because RFC 822 said so little about message bodies, these documents are largely orthogonal to (rather than a revision of) RFC 822.</t>
<t>This initial document specifies the various headers used to describe the structure of MIME messages. The second document, RFC 2046, defines the general structure of the MIME media typing system and defines an initial set of media types. The third document, RFC 2047, describes extensions to RFC 822 to allow non-US-ASCII text data in Internet mail header fields. The fourth document, RFC 2048, specifies various IANA registration procedures for MIME-related facilities. The fifth and final document, RFC 2049, describes MIME conformance
  criteria as well as providing some illustrative examples of MIME message formats, acknowledgements, and the bibliography.</t>
<t>These documents are revisions of RFCs 1521, 1522, and 1590, which themselves were revisions of RFCs 1341 and 1342.  An appendix in RFC 2049 describes differences and changes from previous versions.</t></abstract></front>

<seriesInfo name='RFC' value='2045' />
<format type='TXT' octets='72932' target='ftp://ftp.isi.edu/in-notes/rfc2045.txt' />
</reference>
<?rfc linefile="397:xml/complete/rfc4469.xml"?> <?rfc linefile="1:http://xml.resource.org/public/rfc/bibxml/reference.RFC.4315.xml"?>

<reference anchor='RFC4315'>

<front>
<title>Internet Message Access Protocol (IMAP) - UIDPLUS extension</title>
<author initials='M.' surname='Crispin' fullname='M. Crispin'>
<organization /></author>
<date year='2005' month='December' /></front>

<seriesInfo name='RFC' value='4315' />
<format type='TXT' octets='16629' target='ftp://ftp.isi.edu/in-notes/rfc4315.txt' />
</reference>
<?rfc linefile="397:xml/complete/rfc4469.xml"?> <?rfc linefile="1:http://xml.resource.org/public/rfc/bibxml/reference.RFC.4234.xml"?>

<reference anchor='RFC4234'>

<front>
<title>Augmented BNF for Syntax Specifications: ABNF</title>
<author initials='D.' surname='Crocker' fullname='D. Crocker'>
<organization /></author>
<author initials='P.' surname='Overell' fullname='P. Overell'>
<organization /></author>
<date year='2005' month='October' /></front>

<seriesInfo name='RFC' value='4234' />
<format type='TXT' octets='26351' target='ftp://ftp.isi.edu/in-notes/rfc4234.txt' />
</reference>
<?rfc linefile="397:xml/complete/rfc4469.xml"?> <?rfc linefile="1:http://xml.resource.org/public/rfc/bibxml/reference.RFC.4466.xml"?>

<reference anchor='RFC4466'>

<front>
<title>Collected Extensions to IMAP4 ABNF</title>
<author initials='A.' surname='Melnikov' fullname='A. Melnikov'>
<organization /></author>
<author initials='C.' surname='Daboo' fullname='C. Daboo'>
<organization /></author>
<date year='2006' month='April' /></front>

<seriesInfo name='RFC' value='4466' />
<format type='TXT' octets='33752' target='ftp://ftp.isi.edu/in-notes/rfc4466.txt' />
</reference>
<?rfc linefile="397:xml/complete/rfc4469.xml"?>
            </references>
    </back>
</rfc>
