home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1732.txt < prev    next >
Text File  |  1996-05-07  |  10KB  |  171 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         M. Crispin Request for Comments: 1732                      University of Washington Category: Informational                                    December 1994 
  8.  
  9.                IMAP4 COMPATIBILITY WITH IMAP2 AND IMAP2BIS 
  10.  
  11.  Status of this Memo 
  12.  
  13.    This memo provides information for the Internet community.  This memo    does not specify an Internet standard of any kind.  Distribution of    this memo is unlimited. 
  14.  
  15. Introduction 
  16.  
  17.    This is a summary of hints and recommendations to enable an IMAP4    implementation to interoperate with implementations that conform to    earlier specifications.  None of these hints and recommendations are    required by the IMAP4 specification; implementors must decide for    themselves whether they want their implementation to fail if it    encounters old software. 
  18.  
  19.    IMAP4 has been designed to be upwards compatible with earlier    specifications.  For the most part, IMAP4 facilities that were not in    earlier specifications should be invisible to clients unless the    client asks for the facility. 
  20.  
  21.    In some cases, older servers may support some of the capabilities    listed as being "new in IMAP4" as experimental extensions to the    IMAP2 protocol described in RFC 1176. 
  22.  
  23.    This information may not be complete; it reflects current knowledge    of server and client implementations as well as "folklore" acquired    in the evolution of the protocol. 
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  Crispin                                                         [Page 1] 
  40.  RFC 1732                 IMAP4 - Compatibility             December 1994 
  41.  
  42.  IMAP4 client interoperability with old servers 
  43.  
  44.    In general, a client should be able to discover whether an IMAP2    server supports a facility by trial-and-error; if an attempt to use a    facility generates a BAD response, the client can assume that the    server does not support the facility. 
  45.  
  46.    A quick way to check whether a server implementation supports the    IMAP4 specification is to try the CAPABILITY command.  An OK response    that includes the IMAP4 capability value indicates a server that    supports IMAP4; a BAD response or one without the IMAP4 capability    value indicates an older server. 
  47.  
  48.    The following is a list of facilities that are only in IMAP4, and    suggestions for how new clients might interoperate with old servers: 
  49.  
  50.    CAPABILITY command             A BAD response to this command indicates that the server             implements IMAP2 (or IMAP2bis) and not IMAP4. 
  51.  
  52.    AUTHENTICATE command.             Use the LOGIN command. 
  53.  
  54.    LSUB and LIST commands             Try the RFC 1176 FIND command. 
  55.  
  56.    * in a sequence             Use the number of messages in the mailbox from the EXISTS             unsolicited response. 
  57.  
  58.    SEARCH extensions (character set, additional criteria)             Reformulate the search request using only the searching             options listed in search_old in the IMAP4 grammar.  This may             entail doing multiple searches to achieve the desired             results. 
  59.  
  60.    BODYSTRUCTURE fetch data item             Try to fetch the non-extensible BODY data item. 
  61.  
  62.    body section number 0             Fetch the entire message and extract the header. 
  63.  
  64.    RFC822.HEADER.LINES and RFC822.HEADER.LINES.NOT fetch data items             Use RFC822.HEADER and remove the unwanted information. 
  65.  
  66.    BODY.PEEK[section], RFC822.PEEK, and RFC822.TEXT.PEEK fetch data             items Use the corresponding non-PEEK versions and manually             clear the \Seen flag as necessary. 
  67.  
  68.  
  69.  
  70. Crispin                                                         [Page 2] 
  71.  RFC 1732                 IMAP4 - Compatibility             December 1994 
  72.  
  73.     UID fetch data item and the UID commands             No equivalent capabilitity exists in older servers. 
  74.  
  75.    FLAGS.SILENT, +FLAGS.SILENT, and -FLAGS.SILENT store data items             Use the corresponding non-SILENT versions and ignore the             untagged FETCH responses which com eback. 
  76.  
  77.     The following IMAP4 facilities were introduced in the experimental    IMAP2bis revisions to RFC-1176, and may be present in a server that    does not support the CAPABILITY command: 
  78.  
  79.    CREATE, DELETE, and RENAME commands             To test whether these commands are present, try a CREATE             INBOX command.  If the response is NO, these commands are             supported by the server.  If the response is BAD, they are             not.  Older servers without the CREATE capability may sup-             port implicit creation of a mailbox by a COPY command with a             non-existant name as the destination. 
  80.  
  81.    APPEND command             To test whether this command is present, try to append a             zero-length stream to a mailbox name that is known not to             exist (or at least, highly unlikely to exist) on the remote             system. 
  82.  
  83.    SUBSCRIBE and UNSUBSCRIBE commands             Try the form of these commands with the optional MAILBOX             keyword. 
  84.  
  85.    EXAMINE command             Use the SELECT command instead. 
  86.  
  87.    flags and internal date argument to APPEND command             Try the APPEND without any flag list and internal date argu-             ments. 
  88.  
  89.    BODY, BODY[section], and FULL fetch data items             Use RFC822.TEXT and ALL instead.  Server does not support             MIME. 
  90.  
  91.    PARTIAL command             Use the appropriate FETCH command and ignore the unwanted             data. 
  92.  
  93.     IMAP4 client implementations must accept all responses and data for-    mats documented in the IMAP4 specification, including those labeled 
  94.  
  95.  
  96.  
  97. Crispin                                                         [Page 3] 
  98.  RFC 1732                 IMAP4 - Compatibility             December 1994 
  99.  
  100.     as obsolete.  This includes the COPY and STORE unsolicited responses    and the old format of dates and times.  In particular, client imple-    mentations must not treat a date/time as a fixed format string; nor    may they assume that the time begins at a particular octet. 
  101.  
  102.    IMAP4 client implementations must not depend upon the presence of any    server extensions that are not in the base IMAP4 specification. 
  103.  
  104.    The experimental IMAP2bis version specified that the TRYCREATE spe-    cial information token is sent as a separate unsolicited OK response    instead of inside the NO response. 
  105.  
  106.    The FIND BBOARDS, FIND ALL.BBOARDS, and BBOARD commands of RFC 1176    are removed from IMAP4.  There is no equivalent to the bboard com-    mands, which provided a separate namespace with implicit restrictions    on what may be done in that namespace. 
  107.  
  108.    Older server implementations may automatically create the destination    mailbox on COPY if that mailbox does not already exist.  This was how    a new mailbox was created in older specifications.  If the server    does not support the CREATE command (see above for how to test for    this), it will probably create a mailbox on COPY. 
  109.  
  110.    Older server implementations may not preserve flags or internal dates    on COPY.  Some server implementations may not permit the preservation    of certain flags on COPY or their setting with APPEND as site policy. 
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. Crispin                                                         [Page 4] 
  137.  RFC 1732                 IMAP4 - Compatibility             December 1994 
  138.  
  139.  IMAP4 server interoperability with old clients 
  140.  
  141.    In general, there should be no interoperation problem between a    server conforming to the IMAP4 specification and a well-written    client that conforms to an earlier specification.  Known problems are    noted below: 
  142.  
  143.       Poor wording in the description of the CHECK command in earlier       specifications implied that a CHECK command is the way to get the       current number of messages in the mailbox.  This is incorrect.  A       CHECK command does not necessarily result in an EXISTS response.       Clients must remember the most recent EXISTS value sent from the       server, and should not generate unnecessary CHECK commands. 
  144.  
  145.       An incompatibility exists with COPY in IMAP4.  COPY in IMAP4       servers does not automatically create the destination mailbox if       that mailbox does not already exist.  This may cause problems with       old clients that expect automatic mailbox creation in COPY. 
  146.  
  147.       The PREAUTH unsolicited response is new in IMAP4.  It is highly       unlikely that an old client would ever see this response. 
  148.  
  149.       The format of dates and times has changed due to the impending end       of the century.  Clients that fail to accept a four-digit year or       a signed four-digit timezone value will not work properly with       IMAP4. 
  150.  
  151.       An incompatibility exists with the use of "\" in quoted strings.       This is best avoided by using literals instead of quoted strings       if "\" or <"> is embedded in the string. 
  152.  
  153. Security Considerations 
  154.  
  155.    Security issues are not discussed in this memo. 
  156.  
  157. Author's Address: 
  158.  
  159.    Mark R. Crispin    Networks and Distributed Computing, JE-30    University of Washington    Seattle, WA  98195 
  160.  
  161.    Phone: (206) 543-5762 
  162.  
  163.    EMail: MRC@CAC.Washington.EDU 
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  Crispin                                                         [Page 5] 
  170.  
  171.