RFC2087 page -
Groupe de travail Réseau |
J. Myers, Carnegie Mellon |
Request for Comments : 2087 |
janvier 1997 |
Catégorie : En cours de normalisation |
Traduction Claude Brière de L'Isle |
Extension IMAP4 QUOTA
Statut du présent mémoire
Le présent document spécifie un protocole de l’Internet en cours de normalisation pour la communauté de l’Internet, et appelle à des discussions et suggestions pour son amélioration. Prière de se référer à l’édition en cours des "Normes officielles des protocoles de l’Internet" (STD 1) pour connaître l’état de la normalisation et le statut de ce protocole. La distribution du présent mémoire n’est soumise à aucune restriction.
L'extension QUOTA au protocole d'accès au message Internet (IMAP4, Internet Message Access Protocol) [RFC1730] permet de manipuler les limites administrative d'utilisation de ressources (les quotas) à travers le protocole IMAP.
Table des matières
1. Résumé 1
2. Conventions utilisées dans le document 1
3. Introduction et généralités 1
4. Commandes 2
4.1 Commande SETQUOTA 2
4.2 Commande GETQUOTA 2
4.3 Commande GETQUOTAROOT 2
5. Réponses 3
5.1 Réponse QUOTA 3
5.2 Réponse QUOTAROOT 3
6. Syntaxe formelle 3
7. Références 4
8. Considérations pour la sécurité 4
9. Adresse de l'auteur 4
2. Conventions utilisées dans le document
Dans les exemples, "C:" et "S:" indiquente les lignes envoyées respectivement par le client et le serveur.
3. Introduction et généralités
L'extension QUOTA est présente dans toute mise en œuvre IMAP4 qui retourne "QUOTA" comme une des capacités prises en charge sur la commande CAPABILITY.
Un serveur IMAP4 qui prend en charge la capacité QUOTA peut prendre en charge des limites sur tout nombre de ressources. Chaque ressource a un nom atomique et une interprétation définie par la mise en œuvre qui évalue en un entier. Des exemples de telles ressources sont :
Nom |
Interprétation |
STORAGE |
Somme des messages' RFC822.SIZE, en unités de 1024 octets |
MESSAGE |
Nombre de messages |
Chaque boîte aux lettres a zéro, une ou plusieurs "quota roots" (racine de quota) désignéee définies par la mise en œuvre. Chaque racine de quota a zéro, une ou plusieurs limites de ressources. Toutes les boîtes aux lettres qui partagent la même racine de quota désignée partagent les limites de ressource de la racine de quota.
Les noms de racine de quota n'ont pas nécessairement à correspondre aux noms des boîtes aux lettres existantes.
Arguments : quota root liste de limites de ressource
Données : réponses non étiquetées : QUOTA
Résultat : OK - setquota terminé
NO - setquota erronné : on ne peut pas établir des données
BAD – commande inconnue ou arguments invalides
La commande SETQUOTA prend le nom d'une racine de quota de boîte aux lettres et une liste de limites de ressource. Les limites de ressource pour la racine de quota désignée sont changées pour devenir les limites spécifiées. Toutes les limites de ressource précédentes pour la racine de quota désignée sont éliminées.
Si la racine de quota désignée n'existait pas précédemment, une mise en œuvre peut facultativement la créer et changer les racines de quota en tout nombre de boîtes aux lettres existantes d'une façon définie par la mise en œuvre.
Exemple :
C: A001 SETQUOTA "" (STORAGE 512)
S: * QUOTA "" (STORAGE 10 512)
S: A001 OK Setquota terminé
Arguments : quota root
Données : réponses non étiquetées : QUOTA
Résultat : OK - getquota terminé
NO - getquota erroné : aucune telle racine de quota, permission refusée
BAD – commande inconnue ou arguments invalides
La commande GETQUOTA prend le nom d'une racine de quota et retourne l'usage et les limites de la racine de quota dans une réponse QUOTA non étiquetée.
Exemple :
C: A003 GETQUOTA ""
S: * QUOTA "" (STORAGE 10 512)
S: A003 OK Getquota completed
Arguments : nom de boîte aux lettres
Données : réponses non étiquetées : QUOTAROOT, QUOTA
Résultat : OK - getquota terminé
NO - getquota erroné : aucune telle boîte aux lettres, permission refusée
BAD - commande inconnue ou arguments invalides
La commande GETQUOTAROOT prend le nom d'une boîte aux lettres et retourne la liste des racines de quota pour la boîte aux lettres dans une réponse QUOTAROOT non étiquetée. Pour chaque racine de quota de la liste, elle retourne aussi l'usage et les limites de la racine de quota dans une réponse QUOTA non étiquetée.
Exemple :
C: A003 GETQUOTAROOT INBOX
S: * QUOTAROOT INBOX ""
S: * QUOTA "" (STORAGE 10 512)
S: A003 OK Getquota completed
Données : nom de la racine de quota
liste des noms de ressource, usages, et limites
Cette réponse survient comme résultat d'une commande GETQUOTA ou GETQUOTAROOT. La première chaîne est le nom de la racine de quota pour laquelle ce quota s'applique.
Le nom est suivi d'une liste de format S-expression de l'usage et des limites de ressource de la racine de quota. La liste contient zéro, un, ou plusieurs triplets. Chaque triplet contient un nom de ressource, l'usage actuel de la ressource, et la limite de la ressource.
Les ressources qui ne sont pas désignées dans la liste ne sont pas limitées dans la racine de quota. Donc, une liste vide signifie qu'il n'y a pas de limite administrative aux ressources dans la racine de quota.
Exemple :
S: * QUOTA "" (STORAGE 10 512)
Données : nom de boîte aux lettres
zéro, un, ou plusieurs noms de racine de quota
Cette réponse survient comme résultat d'une commande GETQUOTAROOT. La première chaîne est la boîte aux lettres et les chaînes restantes sont les noms des racines de quota pour les boîtes aux lettres.
Exemple :
S: * QUOTAROOT INBOX ""
S: * QUOTAROOT comp.mail.mime
La spécification de syntaxe qui suit utilise la notation de forme Backus-Naur augmentée (ABNF) comme spécifiée dans la [RFC0822] avec une exception ; le délimiteur utilisé avec la construction "#" est une seule espace (SP) et non pas une ou plusieurs virgules.
Sauf notation contraire, tous les caractères alphabétiques sont insensibles à la casse. L'utilisation de caractèrees majuscules ou minuscules pour définir des chaînes de jetons est seulement pour la clarté de l'exposé. Les mises en œuvre DOIVENT accepter ces chaînes de façon insensible à la casse.
getquota ::= "GETQUOTA" SP astring
getquotaroot ::= "GETQUOTAROOT" SP astring
quota_list ::= "(" #quota_resource ")"
quota_resource ::= atom SP number SP number
quota_response ::= "QUOTA" SP astring SP quota_list
quotaroot_response ::= "QUOTAROOT" SP astring *(SP astring)
setquota ::= "SETQUOTA" SP astring SP setquota_list
setquota_list ::= "(" 0#setquota_resource ")"
setquota_resource ::= atom SP number
[RFC1730] M. Crispin, "Protocole d'accès au message Internet v4 (IMAP4)", décembre 1994. (Obsolète, voir RFC 2060, 3501)
[RFC0822] D. Crocker, "Norme pour le format des messages de texte de l'ARPA-Internet", STD 11, août 1982. (Obsolète, remplacée par la RFC5322)
8. Considérations pour la sécurité
Les personnes qui mettent en œuvre la présente spécification devraient veiller à s'assurer que la mise en œuvre de ces commandes ne viole pas la politique de sécurité du site. L'utilisation de ressources d'autres usagers sera vraisemblablement considérée comme une information confidentielle et ne devrait pas être divulguée à des personnes non autorisées.
John G. Myers
Carnegie-Mellon University
5000 Forbes Ave.
Pittsburgh PA, 15213-3890
mél : jgm+@cmu.edu