RFC2087 page - 4 - Myers

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.


1. Résumé


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.


4. Commandes

4.1 Commande SETQUOTA


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é


4.2 Commande GETQUOTA


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


4.3 Commande GETQUOTAROOT

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


5. Réponses

5.1 Réponse QUOTA


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)


5.2 Réponse QUOTAROOT


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


6. Syntaxe formelle


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


7. Références

[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.


9. Adresse de l'auteur


John G. Myers

Carnegie-Mellon University

5000 Forbes Ave.

Pittsburgh PA, 15213-3890

mél : jgm+@cmu.edu