\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{mer. oct. 1 20:59:46 CEST 2014}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={draft-armijo-ldap-treedelete-02},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Contrôle de suppression d'arborescence},
CreationDate={D:20141001205946},
ModDate={D:20141001205946},
Keywords={LDAP;Lightweight Directory Access Protocol}
}}
\begin{document}
 
\begin{center}
{\Huge draft-armijo-ldap-treedelete-02 }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Contrôle de suppression d'arborescence}
 
\vspace{10mm}
 
\hspace{1mm}  Le contrôle est inclu dans un message DelRequest comme partie du champ controls. Le controlType est \textbf{1.2.840.113556.1.4.805}, la criticité peut être TRUE ou FALSE, et controlValue est absent.
\vspace{5mm} \\
 
 
\hspace{1mm}  Ce contrôle permet à un client de supprimer un subtree complet. Cela peut être fait seulement si l'utilisateur authentifié a les permissions pour compléter l'opération. Le serveur doit vérifier pour voir si l'utilisateur authentifié a les permissions appropriées pour supprimer l'objet et tous ses descendants. Ce contrôle doit seulement être utilisé avec un message DelRequest. Un serveur doit ignorer le contrôle s'il est utilisé avec un autre message sauf si la criticité est spécifiée. Dans ce cas, toute l'opération doit échouer avec le resultCode unsupportedCriticaleExtension. Les serveur prenant en compte ce contrôle doivent le lister dans supportedControl dans le rootDSE.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Sémantique }
 
\
 
\hspace{1mm}  Le demande tree delete peut être traitée comme une simple transaction atomique ou comme une séquence de transaction atomique. Dans le dernier cas, tous les états visible par le client produit par l'opération sont consistant avec l'exécution d'une séquence de demande delete normale. Le serveur ne devrait pas laisser traiter les objets d'un manière qui puisse laisser les objets orphelins.
\vspace{5mm} \\
 
 
\hspace{1mm}  Si une demande tree delete échoue pour une quelconque raison, il peut être retenté et, si la nouvelle tentative réussi, le résultat est le même que si la demande initiale avait réussi. Le client devrait ré-émettre le delRequest jusqu'à ce que le serveur retourne un succès.
\vspace{5mm} \\
 
 
\hspace{1mm}  Si un client émet une demande pour déplacer un objet dans ( ou créer un objet dans ) ou hors du subtree, en concurrence avec l'exécution d'une demande tree delete, l'effet est indéfinis. Le serveur n'est pas obligé de bloquer de telles requêtes.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le serveur ne doit pas poursuivre les références stockées dans l'arborescence. Si l'information sur les référants est stocké dans cet section, ce pointeur est supprimé.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Messages d'erreur }
 
\
 
\hspace{1mm}  Quand le contrôle tree delete est invoqué, le serveur doit vérifier pour voir si l'utilisateur authentifié a les permissions appropriées pour supprimer l'objet et toutes ses descendances. Si l'utilisateur n'a pas les permissions appropriées, un insufficientAccessRights(50) est retourné.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le serveur doit identifier tous les objets à supprimer avant que la suppression commence. Si le serveur a un problème à identifier les objets à supprimer, il peut retourner un operationsError(1). L'opération peut être re-tentée si cette erreur est retournée. Si le serveur n'a pas autorité sur des objets dans le subtree, le serveur devrait retourner unwillingToPerform(53).
\vspace{5mm} \\
 
 
\hspace{1mm}  Les implémentation de serveurs peuvent avoir d'autres restriction sur quels conteneurs peuvent ou ne peuvent pas utiliser le contrôle Tree Delete. Si vous tentez de supprimer un conteneur qui ne peut pas être supprimé du à une restriction spécifique à la plate-forme, le serveur doit retourner unwillingToPerform(53). Le contrôle Tree Delet ne devrait par être re-tenté sur ce conteneur.
\vspace{5mm} \\
 
 
\hspace{1mm}  Si la limite du nombre d'objets qui peuvent être supprimés en une opération est atteinte, le serveur devrait retourner adminLimitExceeded(11). Les objets traités jusqu'à ce point de limite devraient être supprimés. la demande DelRequest avec le contrôle Tree Delete devrait être ré-émis jusqu'à ce qu'une réponse success soit retourné par le serveur.
\vspace{5mm} \\
 
\end{flushleft}
\end{document}
