home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 2000s / rfc2062.txt < prev    next >
Text File  |  1996-12-03  |  14KB  |  452 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         M. Crispin
  8. Request for Comments: 2062                      University of Washington
  9. Category: Informational                                    December 1996
  10.  
  11.  
  12.            Internet Message Access Protocol - Obsolete Syntax
  13.  
  14. Status of this Memo
  15.  
  16.    This memo provides information for the Internet community.  This memo
  17.    does not specify an Internet standard of any kind.  Distribution of
  18.    this memo is unlimited.
  19.  
  20. Abstract
  21.  
  22.    This document describes obsolete syntax which may be encountered by
  23.    IMAP4 implementations which deal with older versions of the Internet
  24.    Mail Access Protocol.  IMAP4 implementations MAY implement this
  25.    syntax in order to maximize interoperability with older
  26.    implementations.
  27.  
  28.    This document repeats information from earlier documents, most
  29.    notably RFC 1176 and RFC 1730.
  30.  
  31. Obsolete Commands and Fetch Data Items
  32.  
  33.    The following commands are OBSOLETE.  It is NOT required to support
  34.    any of these commands or fetch data items in new server
  35.    implementations.  These commands are documented here for the benefit
  36.    of implementors who may wish to support them for compatibility with
  37.    old client implementations.
  38.  
  39.    The section headings of these commands are intended to correspond
  40.    with where they would be located in the main document if they were
  41.    not obsoleted.
  42.  
  43. 6.3.OBS.1.      FIND ALL.MAILBOXES Command
  44.  
  45.    Arguments:  mailbox name with possible wildcards
  46.  
  47.    Data:       untagged responses: MAILBOX
  48.  
  49.    Result:     OK - find completed
  50.                NO - find failure: can't list that name
  51.                BAD - command unknown or arguments invalid
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Crispin                      Informational                      [Page 1]
  59.  
  60. RFC 2062                     IMAP4 Obsolete                December 1996
  61.  
  62.  
  63.       The FIND ALL.MAILBOXES command returns a subset of names from the
  64.       complete set of all names available to the user.  It returns zero
  65.       or more untagged MAILBOX replies.  The mailbox argument to FIND
  66.       ALL.MAILBOXES is similar to that for LIST with an empty reference,
  67.       except that the characters "%" and "?" match a single character.
  68.  
  69.    Example:    C: A002 FIND ALL.MAILBOXES *
  70.                S: * MAILBOX blurdybloop
  71.                S: * MAILBOX INBOX
  72.                S: A002 OK FIND ALL.MAILBOXES completed
  73.  
  74. 6.3.OBS.2.      FIND MAILBOXES Command
  75.  
  76.    Arguments:  mailbox name with possible wildcards
  77.  
  78.    Data:       untagged responses: MAILBOX
  79.  
  80.    Result:     OK - find completed
  81.                NO - find failure: can't list that name
  82.                BAD - command unknown or arguments invalid
  83.  
  84.       The FIND MAILBOXES command returns a subset of names from the set
  85.       of names that the user has declared as being "active" or
  86.       "subscribed".  It returns zero or more untagged MAILBOX replies.
  87.       The mailbox argument to FIND MAILBOXES is similar to that for LSUB
  88.       with an empty reference, except that the characters "%" and "?"
  89.       match a single character.
  90.  
  91.    Example:    C: A002 FIND MAILBOXES *
  92.                S: * MAILBOX blurdybloop
  93.                S: * MAILBOX INBOX
  94.                S: A002 OK FIND MAILBOXES completed
  95.  
  96. 6.3.OBS.3.      SUBSCRIBE MAILBOX Command
  97.  
  98.    Arguments:  mailbox name
  99.  
  100.    Data:       no specific data for this command
  101.  
  102.    Result:     OK - subscribe completed
  103.                NO - subscribe failure: can't subscribe to that name
  104.                BAD - command unknown or arguments invalid
  105.  
  106.       The SUBSCRIBE MAILBOX command is identical in effect to the
  107.       SUBSCRIBE command.  A server which implements this command must be
  108.       able to distinguish between a SUBSCRIBE MAILBOX command and a
  109.       SUBSCRIBE command with a mailbox name argument of "MAILBOX".
  110.  
  111.  
  112.  
  113.  
  114. Crispin                      Informational                      [Page 2]
  115.  
  116. RFC 2062                     IMAP4 Obsolete                December 1996
  117.  
  118.  
  119.    Example:    C: A002 SUBSCRIBE MAILBOX #news.comp.mail.mime
  120.                S: A002 OK SUBSCRIBE MAILBOX to #news.comp.mail.mime
  121.                completed
  122.                C: A003 SUBSCRIBE MAILBOX
  123.                S: A003 OK SUBSCRIBE to MAILBOX completed
  124.  
  125.  
  126. 6.3.OBS.4.      UNSUBSCRIBE MAILBOX Command
  127.  
  128.    Arguments:  mailbox name
  129.  
  130.    Data:       no specific data for this command
  131.  
  132.    Result:     OK - unsubscribe completed
  133.                NO - unsubscribe failure: can't unsubscribe that name
  134.                BAD - command unknown or arguments invalid
  135.  
  136.       The UNSUBSCRIBE MAILBOX command is identical in effect to the
  137.       UNSUBSCRIBE command.  A server which implements this command must
  138.       be able to distinguish between a UNSUBSCRIBE MAILBOX command and
  139.       an UNSUBSCRIBE command with a mailbox name argument of "MAILBOX".
  140.  
  141.    Example:    C: A002 UNSUBSCRIBE MAILBOX #news.comp.mail.mime
  142.                S: A002 OK UNSUBSCRIBE MAILBOX from #news.comp.mail.mime
  143.                completed
  144.                C: A003 UNSUBSCRIBE MAILBOX
  145.                S: A003 OK UNSUBSCRIBE from MAILBOX completed
  146.  
  147. 6.4.OBS.1       PARTIAL Command
  148.  
  149.    Arguments:  message sequence number
  150.                message data item name
  151.                position of first octet
  152.                number of octets
  153.  
  154.    Data:       untagged responses: FETCH
  155.  
  156.    Result:     OK - partial completed
  157.                NO - partial error: can't fetch that data
  158.                BAD - command unknown or arguments invalid
  159.  
  160.       The PARTIAL command is equivalent to the associated FETCH command,
  161.       with the added functionality that only the specified number of
  162.       octets, beginning at the specified starting octet, are returned.
  163.       Only a single message can be fetched at a time.  The first octet
  164.       of a message, and hence the minimum for the starting octet, is
  165.       octet 1.
  166.  
  167.  
  168.  
  169.  
  170. Crispin                      Informational                      [Page 3]
  171.  
  172. RFC 2062                     IMAP4 Obsolete                December 1996
  173.  
  174.  
  175.       The following FETCH items are valid data for PARTIAL: RFC822,
  176.       RFC822.HEADER, RFC822.TEXT, BODY[<section>], as well as any .PEEK
  177.       forms of these.
  178.  
  179.       Any partial fetch that attempts to read beyond the end of the text
  180.       is truncated as appropriate.  If the starting octet is beyond the
  181.       end of the text, an empty string is returned.
  182.  
  183.       The data are returned with the FETCH response.  There is no
  184.       indication of the range of the partial data in this response.  It
  185.       is not possible to stream multiple PARTIAL commands of the same
  186.       data item without processing and synchronizing at each step, since
  187.       streamed commands may be executed out of order.
  188.  
  189.       There is no requirement that partial fetches follow any sequence.
  190.       For example, if a partial fetch of octets 1 through 10000 breaks
  191.       in an awkward place for BASE64 decoding, it is permitted to
  192.       continue with a partial fetch of 9987 through 19987, etc.
  193.  
  194.       The handling of the \Seen flag is the same as in the associated
  195.       FETCH command.
  196.  
  197.    Example:    C: A005 PARTIAL 4 RFC822 1 1024
  198.                S: * 1 FETCH (RFC822 {1024}
  199.                S: Return-Path: <gray@cac.washington.edu>
  200.                S: ...
  201.                S: .........  FLAGS (\Seen))
  202.                S: A005 OK PARTIAL completed
  203.  
  204. 6.4.5.OBS.1     Obsolete FETCH Data Items
  205.  
  206.    The following FETCH data items are obsolete:
  207.  
  208.       BODY[<...>0]   A body part number of 0 is the [RFC-822] header of
  209.                      the message.  BODY[0] is functionally equivalent to
  210.                      BODY[HEADER], differing in the syntax of the
  211.                      resulting untagged FETCH data (BODY[0] is
  212.                      returned).
  213.  
  214.       RFC822.HEADER.LINES <header_list>
  215.                      Functionally equivalent to BODY.PEEK[HEADER.LINES
  216.                      <header_list>], differing in the syntax of the
  217.                      resulting untagged FETCH data (RFC822.HEADER is
  218.                      returned).
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Crispin                      Informational                      [Page 4]
  227.  
  228. RFC 2062                     IMAP4 Obsolete                December 1996
  229.  
  230.  
  231.       RFC822.HEADER.LINES.NOT <header_list>
  232.                      Functionally equivalent to
  233.                      BODY.PEEK[HEADER.LINES.NOT <header_list>],
  234.                      differing in the syntax of the resulting untagged
  235.                      FETCH data (RFC822.HEADER is returned).
  236.  
  237.       RFC822.PEEK    Functionally equivalent to BODY.PEEK[], except for
  238.                      the syntax of the resulting untagged FETCH data
  239.                      (RFC822 is returned).
  240.  
  241.       RFC822.TEXT.PEEK
  242.                      Functionally equivalent to BODY.PEEK[TEXT], except
  243.                      for the syntax of the resulting untagged FETCH data
  244.                      (RFC822.TEXT is returned).
  245.  
  246. Obsolete Responses
  247.  
  248.    The following responses are OBSOLETE.  Except as noted below, these
  249.    responses MUST NOT be transmitted by new server implementations.
  250.    Client implementations SHOULD accept these responses.
  251.  
  252.    The section headings of these responses are intended to correspond
  253.    with where they would be located in the main document if they were
  254.    not obsoleted.
  255.  
  256. 7.2.OBS.1.      MAILBOX Response
  257.  
  258.    Data:       name
  259.  
  260.       The MAILBOX response MUST NOT be transmitted by server
  261.       implementations except in response to the obsolete FIND MAILBOXES
  262.       and FIND ALL.MAILBOXES commands.  Client implementations that do
  263.       not use these commands MAY ignore this response.  It is documented
  264.       here for the benefit of implementors who may wish to support it
  265.       for compatibility with old client implementations.
  266.  
  267.       This response occurs as a result of the FIND MAILBOXES and FIND
  268.       ALL.MAILBOXES commands.  It returns a single name that matches the
  269.       FIND specification.  There are no attributes or hierarchy
  270.       delimiter.
  271.  
  272.    Example:    S: * MAILBOX blurdybloop
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Crispin                      Informational                      [Page 5]
  283.  
  284. RFC 2062                     IMAP4 Obsolete                December 1996
  285.  
  286.  
  287. 7.3.OBS.1.      COPY Response
  288.  
  289.    Data:       none
  290.  
  291.       The COPY response MUST NOT be transmitted by new server
  292.       implementations.  Client implementations MUST ignore the COPY
  293.       response.  It is documented here for the benefit of client
  294.       implementors who may encounter this response from old server
  295.       implementations.
  296.  
  297.       In some experimental versions of this protocol, this response was
  298.       returned in response to a COPY command to indicate on a
  299.       per-message basis that the message was copied successfully.
  300.  
  301.    Example:    S: * 44 COPY
  302.  
  303. 7.3.OBS.2.      STORE Response
  304.  
  305.    Data:       message data
  306.  
  307.       The STORE response MUST NOT be transmitted by new server
  308.       implementations.  Client implementations MUST treat the STORE
  309.       response as equivalent to the FETCH response.  It is documented
  310.       here for the benefit of client implementors who may encounter this
  311.       response from old server implementations.
  312.  
  313.       In some experimental versions of this protocol, this response was
  314.       returned instead of FETCH in response to a STORE command to report
  315.       the new value of the flags.
  316.  
  317.    Example:    S: * 69 STORE (FLAGS (\Deleted))
  318.  
  319. Formal Syntax of Obsolete Commands and Responses
  320.  
  321.    Each obsolete syntax rule that is suffixed with "_old" is added to
  322.    the corresponding name in the formal syntax.  For example,
  323.    command_auth_old adds the FIND command to command_auth.
  324.  
  325.    command_auth_old ::= find
  326.  
  327.    command_select_old
  328.                    ::= partial
  329.  
  330.    date_year_old   ::= 2digit
  331.                        ;; (year - 1900)
  332.  
  333.    date_time_old   ::= <"> date_day_fixed "-" date_month "-" date_year
  334.                        SPACE time "-" zone_name <">
  335.  
  336.  
  337.  
  338. Crispin                      Informational                      [Page 6]
  339.  
  340. RFC 2062                     IMAP4 Obsolete                December 1996
  341.  
  342.  
  343.    find            ::= "FIND" SPACE ["ALL."] "MAILBOXES" SPACE
  344.                        list_mailbox
  345.  
  346.    fetch_att_old   ::= "RFC822.HEADER.LINES" [".NOT"] SPACE header_list /
  347.                        fetch_text_old
  348.  
  349.    fetch_text_old  ::= "BODY" [".PEEK"] section_old /
  350.                        "RFC822" [".HEADER" / ".TEXT" [".PEEK"]]
  351.  
  352.    msg_data_old    ::= "COPY" / ("STORE" SPACE msg_att)
  353.  
  354.    partial         ::= "PARTIAL" SPACE nz_number SPACE fetch_text_old SPACE
  355.                        number SPACE number
  356.  
  357.    section_old     ::= "[" (number ["." number]) "]"
  358.  
  359.    subscribe_old   ::= "SUBSCRIBE" SPACE "MAILBOX" SPACE mailbox
  360.  
  361.    unsubscribe_old ::= "UNSUBSCRIBE" SPACE "MAILBOX" SPACE mailbox
  362.  
  363.    zone_name       ::= "UT" / "GMT" / "Z" /                ;; +0000
  364.                        "AST" / "EDT" /                     ;; -0400
  365.                        "EST" / "CDT" /                     ;; -0500
  366.                        "CST" / "MDT" /                     ;; -0600
  367.                        "MST" / "PDT" /                     ;; -0700
  368.                        "PST" / "YDT" /                     ;; -0800
  369.                        "YST" / "HDT" /                     ;; -0900
  370.                        "HST" / "BDT" /                     ;; -1000
  371.                        "BST" /                             ;; -1100
  372.                        "A" / "B" / "C" / "D" / "E" / "F" / ;; +1 to +6
  373.                        "G" / "H" / "I" / "K" / "L" / "M" / ;; +7 to +12
  374.                        "N" / "O" / "P" / "Q" / "R" / "S" / ;; -1 to -6
  375.                        "T" / "U" / "V" / "W" / "X" / "Y"   ;; -7 to -12
  376.  
  377. Security Considerations
  378.  
  379.    Security issues are not discussed in this memo.
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Crispin                      Informational                      [Page 7]
  395.  
  396. RFC 2062                     IMAP4 Obsolete                December 1996
  397.  
  398.  
  399. Author's Address
  400.  
  401.    Mark R. Crispin
  402.    Networks and Distributed Computing
  403.    University of Washington
  404.    4545 15th Aveneue NE
  405.    Seattle, WA  98105-4527
  406.  
  407.    Phone: (206) 543-5762
  408.    EMail: MRC@CAC.Washington.EDU
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Crispin                      Informational                      [Page 8]
  451.  
  452.