\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. 20 16:39:33 CEST 2013}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={slapd-shell},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Backend shell},
CreationDate={D:20131020163933},
ModDate={D:20131020163933},
Keywords={LDAP;OpenLDAP;Lightweight Directory Access Protocol}
}}
\begin{document}
 
\begin{center}
{\Huge slapd-shell }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Backend shell}
 
\vspace{10mm}
 
\hspace{1mm}  Backend qui exécute des programmes externe pour implémenter les opérations
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\hspace{1mm} add <pathname> <argument>...
 
{\ttfamily
ADD\\ msgid: <message id>\\ <repeat \{ "suffix:" <database suffix DN> \}>\\ <entry in LDIF format>\\
}
\vspace{8mm}
 
\hspace{1mm} bind <pathname> <argument>...
 
{\ttfamily
BIND\\ msgid: <message id>\\ <repeat \{ "suffix:" <database suffix DN> \}>\\ dn: <DN>\\ method: <method number>\\ credlen: <length of <credentials>>\\ cred: <credentials>\\
}
\vspace{8mm}
 
\hspace{1mm} compare <pathname> <argument>...
 
{\ttfamily
COMPARE\\ msgid: <message id>\\ <repeat \{ "suffix:" <database suffix DN> \}>\\ dn: <DN>\\ <attribute>: <value>\\
}
\vspace{8mm}
 
\hspace{1mm} delete <pathname> <argument>...
 
{\ttfamily
DELETE\\ msgid: <message id>\\ <repeat \{ "suffix:" <database suffix DN> \}>\\ dn: <DN>\\
}
\vspace{8mm}
 
\hspace{1mm} modify <pathname> <argument>...
 
{\ttfamily
MODIFY\\ msgid: <message id>\\ <repeat \{ "suffix:" <database suffix DN> \}>\\ dn: <DN>\\ <repeat \{\\ <"add"/"delete"/"replace">: <attribute>\\ <repeat \{ <attribute>: <value> \}>\\ -\\ \}>\\
}
\vspace{8mm}
 
\hspace{1mm} modrdn <pathname> <argument>...
 
{\ttfamily
MODRDN\\ msgid: <message id>\\ <repeat \{ "suffix:" <database suffix DN> \}>\\ dn: <DN>\\ newrdn: <new RDN>\\ deleteoldrdn: < 0 or 1 >\\ <if new superior is specified: "newSuperior: <DN>">\\
}
\vspace{8mm}
 
\hspace{1mm} search <pathname> <argument>...
 
{\ttfamily
SEARCH\\ msgid: <message id>\\ <repeat \{ "suffix:" <database suffix DN> \}>\\ base: <base DN>\\ scope: < 0-2, see ldap.h >\\ deref: < 0-3, see ldap.h >\\ sizelimit: <size limit>\\ timelimit: <time limit>\\ filter: <filter>\\ attrsonly: < 0 or 1 >\\ attrs: <"all" or space-separated attribute list>\\
}
\vspace{8mm}
 
\hspace{1mm} unbind <pathname> <argument>...
 
{\ttfamily
UNBIND\\ msgid: <message id>\\ <repeat \{ "suffix:" <database suffix DN> \}>\\ dn: <bound DN>\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ACL }
 
\
 
\hspace{1mm}  Ce backend n'honore pas toutes les ACL. en général les acl sur les objets sont vérifiés en utilisant un objet factice qui contient seulement le DN, donc les règles d'accès qui s'occupent du contenu de l'objet ne sont pas honorés
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} l'opération add]{ne nécessite pas write sur children de l'entrée parent.}
\item[\hspace{1mm} l'opération bind]{nécessite auth sur entry}
\item[\hspace{1mm} l'opération compare]{nécessite read sur entry}
\item[\hspace{1mm} l'opération delete]{ne nécessite pas write sur children de l'entrée parent}
\item[\hspace{1mm} l'opération modify]{nécessite write sur children de l'entrée parent}
\item[\hspace{1mm} l'opération modrdn]{ne nécessite pas write sur children de l'entrée parent}
\item[\hspace{1mm} l'opération search]{ne nécessite pas l'accès search sur entry}
\end{description}
 
\vspace{1cm}{\huge Limitations }
 
\
 
\hspace{1mm}  Ce backend ne supporte pas les environnement multi-threadés. slapd doit être construit avec \textbf{--without-threads}
\vspace{5mm} \\
 
\end{flushleft}
\end{document}
