\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]{dim. oct. 27 20:10:46 CET 2013}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={draft-zeilenga-ldap-relax-03},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Contrôle relax},
CreationDate={D:20131027201046},
ModDate={D:20131027201046},
Keywords={LDAP;Lightweight Directory Access Protocol}
}}
\begin{document}
 
\begin{center}
{\Huge draft-zeilenga-ldap-relax-03 }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Contrôle relax}
 
\vspace{10mm}
 
\hspace{1mm}  Le contrôle de règle \textbf{relax} permet à un DUA de demander au service d'annuaire un relâchement temporaire de diverses données et règles de modèle de service. Un serveur LDAP empêche la modification de la classe d'objet structurelle d'un objet. Les modèles x.500 ne permettent pas à un objet \textbf{person} d'être transformés en un objet \textbf{organizationalPerson}. Cette approche est problématique pour plusieurs raisons. D'abord, vu que LDAP n'a pas de méthode standardisé pour effectuer 2 opérations en une seule transaction, l'état intermédiaire de l'annuaire (après le \textbf{delete}, avant le \textbf{add}) est visible aux autres clients. Ensuite, les attributs tels que \textbf{entryUUID} vont refléter que l'objet a été remplacé, pas transformé.
\vspace{5mm} \\
 
 
\hspace{1mm}  Un serveur LDAP empêche les clients de modifier les valeurs des attributs \textbf{NO-USER-MODIFICATION}. Cependant, quand un administrateur restaure un objet, en repartitionnant les données entre des serveurs d'annuaire, ou en migrant d'un serveur à un autre, il peut être désirable de permettre au client d'assigner ou modifier la valeur de \textbf{entryUUID}.
\vspace{5mm} \\
 
 
\hspace{1mm}  Ce contrôle peut être attaché aux requêtes LDAP pour mettre à jours le DIT pour demander à divers règles de données et services d'être relaxé durant l'exécution de la mise à jours. Le serveur s'assure que l'état de l'annuaire résultant reste valide.
\vspace{5mm} \\
 
 
\hspace{1mm}  L'utilisation de cette extension est restreinte par acl et est principalement utilisé pour les administrateurs de l'annuaire.
\vspace{5mm} \\
 
 
\hspace{1mm} Pour changer un objet organization en organizationalUnit, un client pourrait utiliser la requête suivante:
 
{\ttfamily
dn: o=Unit,dc=example,dc=net\\ control: IANA-ASSIGNED-OID\\ changetype: modify\\ delete: objectClass\\ objectClass: organization\\ -\\ add: objectClass\\ objectClass: organizationalUnit\\ -\\
}
\vspace{8mm}
 
\hspace{1mm}  Le contrôle relax permet d'ajouter ou modifier des valeurs d'attributs marqué inactifs.
\vspace{5mm} \\
 
 
\hspace{1mm} Ajouter un entryUUID:
 
{\ttfamily
dn: ou=Unit,dc=example,dc=net\\ control: IANA-ASSIGNED-OID\\ changetype: add\\ objectClass: organizationalUnit\\ ou: Unit\\ entryUUID: 597ae2f6-16a6-1027-98f4-d28b5365dc14\\
}
\vspace{8mm}
 
\hspace{1mm} Modifier l'entryUUID:
 
{\ttfamily
dn: ou=Unit,dc=example,dc=net\\ control: IANA-ASSIGNED-OID\\ changetype: modify\\ replace: entryUUID\\ entryUUID: 597ae2f6-16a6-1027-98f4-d28b5365dc14\\ -\\
}
\vspace{8mm}
 
\hspace{1mm} createTimestamp
 
{\ttfamily
dn: ou=Unit,dc=example,dc=net\\ control: IANA-ASSIGNED-OID\\ changetype: add\\ objectClass: organizationalUnit\\ ou: Unit\\ createTimestamp: 20060101000000Z\\ \hspace{2mm}\\ dn: ou=Unit,dc=example,dc=net\\ control: IANA-ASSIGNED-OID\\ changetype: modify\\ replace: createTimestamp\\ createTimestamp: 20060101000000Z\\ -\\
}
\vspace{8mm}
 
\hspace{1mm} modifyTimestamp
 
{\ttfamily
dn: ou=Unit,dc=example,dc=net\\ control: IANA-ASSIGNED-OID\\ changetype: add\\ objectClass: organizationalUnit\\ ou: Unit\\ modifyTimestamp: 20060101000000Z\\ \hspace{2mm}\\ dn: ou=Unit,dc=example,dc=net\\ control: IANA-ASSIGNED-OID\\ changetype: modify\\ replace: modifyTimestamp\\ modifyTimestamp: 20060101000000Z\\ -\\
}
\vspace{8mm}
 
\hspace{1mm} creatorsName et modifiersName
 
{\ttfamily
dn: ou=Unit,dc=example,dc=net\\ control: IANA-ASSIGNED-OID\\ changetype: add\\ objectClass: organizationalUnit\\ ou: Unit\\ creatorsName: cn=Jane Doe,dc=example,net\\ modifiersName: cn=Jane Doe,dc=example,net\\ \hspace{2mm}\\ dn: ou=Unit,dc=example,dc=net\\ control: IANA-ASSIGNED-OID\\ changetype: modify\\ replace: creatorsName\\ creatorsName: cn=Jane Doe,dc=example,net\\ -\\ replace: modifiersName\\ modifiersName: cn=Jane Doe,dc=example,net\\ -\\
}
\vspace{8mm}
\end{flushleft}
\end{document}
