Skip to main content

IMAP4 non-synchronizing literals

The information below is for an old version of the document that is already published as an RFC.
Document Type This is an older version of an Internet-Draft that was ultimately published as an RFC.
Author John G. Myers
Last updated 2013-03-02 (Latest revision 1996-07-09)
Stream Legacy stream
Stream Legacy state (None)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 2088 (Proposed Standard)
Telechat date (None)
Responsible AD (None)
Send notices to (None)
Network Working Group                                           J. Myers
Internet Draft                                           Carnegie Mellon
Document: draft-myers-imap-literal-00.txt                      July 1996

                   IMAP4 non-synchroniziong literals

Status of this Memo

   This document is an Internet Draft.  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 valid for a maximum of six
   months.  Internet Drafts may be updated, replaced, or obsoleted by
   other documents at any time.  It is not appropriate to use Internet
   Drafts as reference material or to cite them other than as a
   ``working draft'' or ``work in progress''.

   To learn the current status of any Internet-Draft, please check the
   1id-abstracts.txt listing contained in the Internet-Drafts Shadow
   Directories on,,, or

   A revised version of this draft document will be submitted to the RFC
   editor as a Proposed Standard for the Internet Community.  Discussion
   and suggestions for improvement are requested.  This document will
   expire before December 1996.  Distribution of this draft is

1.   Abstract

   The Internet Message Access Protocol [IMAP4] contains the ``literal''
   syntactic construct for communicating strings.  When sending a
   literal from client to server, IMAP4 requires the client to wait for
   the server to send a command continuation request between sending the
   octet count and the string data.  This document specifies an
   alternate form of literal which does not require this network round

2.   Conventions Used in this Document

   In examples, "C:" and "S:" indicate lines sent by the client and
   server respectively.

J. Myers                                                        
[Page 1]

Internet DRAFT                  LITERAL                     July 9, 1996

3.   Specification

   The non-synchronizing literal is added an alternate form of literal,
   and may appear in communication from client to server instead of the
   IMAP4 form of literal.  The IMAP4 form of literal, used in
   communication from client to server, is referred to as a
   synchronizing literal.

   Non-synchroniziong literals may be used with any IMAP4 server
   implementation which returns "LITERAL+" as one of the supported
   capabilities to the CAPABILITY command.  If the server does not
   advertise the LITERAL+ capability, the client must use synchronizing
   literals instead.

   The non-syncronizing literal is distinguished from the original
   synchronizing literal by having a plus ('+') between the octet count
   and the closing brace ('}').  The server does not generate a command
   continuation request in response to a non-syncronizing literal, and
   clients are not required to wait before sending the octets of a non-
   syncronizing literal.

   The protocol receiver of an IMAP4 server must check the end of every
   received line for an open brace ('{') followed by an octet count, a
   plus ('+'), and a close brace ('}') immediately preceeding the CRLF.
   If it finds this sequence, it is the octet count of a non-
   synchronizing literal and the server MUST treat the specified number
   of following octets and the following line as part of the same
   command.  A server MAY still process commands and reject errors on a
   line-by-line basis, as long as it checks for non-synchronizing
   literals at the end of each line.

   Example:    C: A001 LOGIN {11+}
               C: FRED FOOBAR {7+}
               C: fat man
               S: A001 OK LOGIN completed

4.   Formal Syntax

   The following syntax specification uses the augmented Backus-Naur
   Form (BNF) notation as specified in [RFC-822] as modified by [IMAP4].
   Non-terminals referenced but not defined below are as defined by

   literal         ::= "{" number ["+"] "}" CRLF *CHAR8
                          ;; Number represents the number of CHAR8 octets

J. Myers                                                        
[Page 2]

Internet DRAFT                  LITERAL                     July 9, 1996

6.   References

   [IMAP4] Crispin, M., "Internet Message Access Protocol - Version 4",
   draft-crispin-imap-base-XX.txt, University of Washington, April 1996.

   [RFC-822] Crocker, D., "Standard for the Format of ARPA Internet Text
   Messages", STD 11, RFC 822.

7.   Security Considerations

   There are no known security issues with this extension.

8.   Author's Address

   John G. Myers
   Carnegie-Mellon University
   5000 Forbes Ave.
   Pittsburgh PA, 15213-3890


J. Myers                                                        
[Page 3]