~ubuntu-branches/debian/stretch/alpine/stretch

« back to all changes in this revision

Viewing changes to imap/docs/rfc/rfc2062.txt

  • Committer: Package Import Robot
  • Author(s): Asheesh Laroia
  • Date: 2013-05-19 16:15:01 UTC
  • mfrom: (1.1.10)
  • Revision ID: package-import@ubuntu.com-20130519161501-epf6pfldn07xnd11
Tags: 2.10+dfsg-1
* New upstream release.
* This release ships a fix for an issue where the PREFDATETIME token
  was always set to "Sun" incorrectly. (Closes: #692870)
* This release ships a fix for IMAP-encoded non-ASCII folder names.
  (Closes: #674067)
* This release simplifies (and corrects) S/MIME handling for messages
  that encrypted *and* signed. (Closes: #653420)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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