imapext-2007

view docs/rfc/rfc2087.txt @ 0:ada5e610ab86

imap-2007e
author yuuji@gentei.org
date Mon, 14 Sep 2009 15:17:45 +0900
parents
children
line source
7 Network Working Group J. Myers
8 Request for Comments: 2087 Carnegie Mellon
9 Category: Standards Track January 1997
12 IMAP4 QUOTA extension
14 Status of this Memo
16 This document specifies an Internet standards track protocol for the
17 Internet community, and requests discussion and suggestions for
18 improvements. Please refer to the current edition of the "Internet
19 Official Protocol Standards" (STD 1) for the standardization state
20 and status of this protocol. Distribution of this memo is unlimited.
22 1. Abstract
24 The QUOTA extension of the Internet Message Access Protocol [IMAP4]
25 permits administrative limits on resource usage (quotas) to be
26 manipulated through the IMAP protocol.
28 Table of Contents
30 1. Abstract........................................... 1
31 2. Conventions Used in this Document.................. 1
32 3. Introduction and Overview.......................... 2
33 4. Commands........................................... 2
34 4.1. SETQUOTA Command................................... 2
35 4.2. GETQUOTA Command................................... 2
36 4.3. GETQUOTAROOT Command............................... 3
37 5. Responses.......................................... 3
38 5.1. QUOTA Response..................................... 3
39 5.2. QUOTAROOT Response................................. 4
40 6. Formal syntax...................................... 4
41 7. References......................................... 5
42 8. Security Considerations............................ 5
43 9. Author's Address................................... 5
46 2. Conventions Used in this Document
48 In examples, "C:" and "S:" indicate lines sent by the client and
49 server respectively.
58 Myers Standards Track [Page 1]
60 RFC 2087 QUOTA January 1997
63 3. Introduction and Overview
65 The QUOTA extension is present in any IMAP4 implementation which
66 returns "QUOTA" as one of the supported capabilities to the
67 CAPABILITY command.
69 An IMAP4 server which supports the QUOTA capability may support
70 limits on any number of resources. Each resource has an atom name
71 and an implementation-defined interpretation which evaluates to an
72 integer. Examples of such resources are:
74 Name Interpretation
76 STORAGE Sum of messages' RFC822.SIZE, in units of 1024 octets
77 MESSAGE Number of messages
80 Each mailbox has zero or more implementation-defined named "quota
81 roots". Each quota root has zero or more resource limits. All
82 mailboxes that share the same named quota root share the resource
83 limits of the quota root.
85 Quota root names do not necessarily have to match the names of
86 existing mailboxes.
88 4. Commands
90 4.1. SETQUOTA Command
92 Arguments: quota root
93 list of resource limits
95 Data: untagged responses: QUOTA
97 Result: OK - setquota completed
98 NO - setquota error: can't set that data
99 BAD - command unknown or arguments invalid
101 The SETQUOTA command takes the name of a mailbox quota root and a
102 list of resource limits. The resource limits for the named quota root
103 are changed to be the specified limits. Any previous resource limits
104 for the named quota root are discarded.
106 If the named quota root did not previously exist, an implementation
107 may optionally create it and change the quota roots for any number of
108 existing mailboxes in an implementation-defined manner.
114 Myers Standards Track [Page 2]
116 RFC 2087 QUOTA January 1997
119 Example: C: A001 SETQUOTA "" (STORAGE 512)
120 S: * QUOTA "" (STORAGE 10 512)
121 S: A001 OK Setquota completed
123 4.2. GETQUOTA Command
125 Arguments: quota root
127 Data: untagged responses: QUOTA
129 Result: OK - getquota completed
130 NO - getquota error: no such quota root, permission
131 denied
132 BAD - command unknown or arguments invalid
134 The GETQUOTA command takes the name of a quota root and returns the
135 quota root's resource usage and limits in an untagged QUOTA response.
137 Example: C: A003 GETQUOTA ""
138 S: * QUOTA "" (STORAGE 10 512)
139 S: A003 OK Getquota completed
141 4.3. GETQUOTAROOT Command
143 Arguments: mailbox name
145 Data: untagged responses: QUOTAROOT, QUOTA
147 Result: OK - getquota completed
148 NO - getquota error: no such mailbox, permission denied
149 BAD - command unknown or arguments invalid
151 The GETQUOTAROOT command takes the name of a mailbox and returns the
152 list of quota roots for the mailbox in an untagged QUOTAROOT
153 response. For each listed quota root, it also returns the quota
154 root's resource usage and limits in an untagged QUOTA response.
156 Example: C: A003 GETQUOTAROOT INBOX
157 S: * QUOTAROOT INBOX ""
158 S: * QUOTA "" (STORAGE 10 512)
159 S: A003 OK Getquota completed
170 Myers Standards Track [Page 3]
172 RFC 2087 QUOTA January 1997
175 5. Responses
177 5.1. QUOTA Response
179 Data: quota root name
180 list of resource names, usages, and limits
182 This response occurs as a result of a GETQUOTA or GETQUOTAROOT
183 command. The first string is the name of the quota root for which
184 this quota applies.
186 The name is followed by a S-expression format list of the resource
187 usage and limits of the quota root. The list contains zero or
188 more triplets. Each triplet conatins a resource name, the current
189 usage of the resource, and the resource limit.
191 Resources not named in the list are not limited in the quota root.
192 Thus, an empty list means there are no administrative resource
193 limits in the quota root.
195 Example: S: * QUOTA "" (STORAGE 10 512)
197 5.2. QUOTAROOT Response
199 Data: mailbox name
200 zero or more quota root names
202 This response occurs as a result of a GETQUOTAROOT command. The
203 first string is the mailbox and the remaining strings are the
204 names of the quota roots for the mailbox.
206 Example: S: * QUOTAROOT INBOX ""
207 S: * QUOTAROOT comp.mail.mime
209 6. Formal syntax
211 The following syntax specification uses the augmented Backus-Naur
212 Form (BNF) notation as specified in RFC 822 with one exception; the
213 delimiter used with the "#" construct is a single space (SP) and not
214 one or more commas.
216 Except as noted otherwise, all alphabetic characters are case-
217 insensitive. The use of upper or lower case characters to define
218 token strings is for editorial clarity only. Implementations MUST
219 accept these strings in a case-insensitive fashion.
226 Myers Standards Track [Page 4]
228 RFC 2087 QUOTA January 1997
231 getquota ::= "GETQUOTA" SP astring
233 getquotaroot ::= "GETQUOTAROOT" SP astring
235 quota_list ::= "(" #quota_resource ")"
237 quota_resource ::= atom SP number SP number
239 quota_response ::= "QUOTA" SP astring SP quota_list
241 quotaroot_response
242 ::= "QUOTAROOT" SP astring *(SP astring)
244 setquota ::= "SETQUOTA" SP astring SP setquota_list
246 setquota_list ::= "(" 0#setquota_resource ")"
248 setquota_resource ::= atom SP number
250 7. References
252 [IMAP4] Crispin, M., "Internet Message Access Protocol - Version 4",
253 RFC 1730, University of Washington, December 1994.
255 [RFC-822] Crocker, D., "Standard for the Format of ARPA Internet
256 Text Messages", STD 11, RFC 822.
258 8. Security Considerations
260 Implementors should be careful to make sure the implementation of
261 these commands does not violate the site's security policy. The
262 resource usage of other users is likely to be considered confidential
263 information and should not be divulged to unauthorized persons.
265 9. Author's Address
267 John G. Myers
268 Carnegie-Mellon University
269 5000 Forbes Ave.
270 Pittsburgh PA, 15213-3890
272 EMail: jgm+@cmu.edu
282 Myers Standards Track [Page 5]

UW-IMAP'd extensions by yuuji