directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r842750 [2/3] - in /websites/staging/directory/trunk/content: ./ apacheds/ apacheds/advanced-ug/ apacheds/basic-ug/ apacheds/configuration/ apacheds/download/ images/
Date Mon, 17 Dec 2012 06:21:53 GMT
Added: websites/staging/directory/trunk/content/apacheds/configuration/ads-2.0-configuration.html
==============================================================================
--- websites/staging/directory/trunk/content/apacheds/configuration/ads-2.0-configuration.html (added)
+++ websites/staging/directory/trunk/content/apacheds/configuration/ads-2.0-configuration.html Mon Dec 17 06:21:48 2012
@@ -0,0 +1,948 @@
+<!DOCTYPE html>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+	<head>
+		<title>ADS 2.0 configuration &mdash; Apache Directory</title>
+		
+        <link href="./../../css/common.css" rel="stylesheet" type="text/css">
+    	<link href="./../../css/green.css" rel="stylesheet" type="text/css">
+    
+	</head>
+	<body>
+	    <div id="container">
+            <div id="header">
+                <div id="subProjectsNavBar">
+                    <a href="./../../">
+                        
+                        Apache Directory Project
+                        
+                    </a>
+                    &nbsp;|&nbsp;
+                    <a href="./../../apacheds">
+                        
+                        <STRONG>ApacheDS</STRONG>
+                        
+                    </a>
+                    &nbsp;|&nbsp;
+                    <a href="./../../studio">
+                        
+                        Apache Directory Studio
+                        
+                    </a>
+                    &nbsp;|&nbsp;
+                    <a href="./../../api">
+                        
+                        Apache LDAP API
+                        
+                    </a>
+                </div><!-- subProjectsNavBar -->
+            </div><!-- header -->
+            <div id="content">
+                <div id="leftColumn">
+                    
+<div id="navigation">
+    
+    <h5>ApacheDS 2.0</h5>
+    <ul>
+        <li><a href="./../../apacheds/">Home</a></li>
+        <li><a href="./../../apacheds/features.html">Features</a></li>
+    </ul>
+    <h5>Downloads</h5>
+    <ul>
+        <li><a href="./../../apacheds/downloads.html">ApacheDS 2.0.0-M8</a>&nbsp;&nbsp;<img src="./../../images/new_badge.gif" alt="" style="margin- bottom:- 3px;" border="0"></li>
+        <li><a href="./../../apacheds/download-old-versions.html">Older versions</a></li>
+    </ul>
+    <h5>Documentation</h5>
+    <ul>
+        <li><a href="./../../apacheds/basic-users-guide.html">Basic User's Guide </a></li>
+        <li><a href="./../../apacheds/advanced-users-guide.html">Advanced User's Guide</a></li>
+        <li><a href="./../../apacheds/developers-guide.html">Developer's Guide</a></li>
+        <li><a href="./../../apacheds/configuration/ads-2.0-configuration.html">Configuration</a></li>
+            <!--li><a href="./../../apacheds/gen-docs/latest">Generated Reports (e.g. JavaDocs)</a></li-->
+    </ul>
+    
+    
+    <h5>Support</h5>
+    <ul>
+        <li><a href="./../../mailing-lists-and-irc.html">Mailing Lists &amp; IRC</a></li>
+        <li><a href="./../../sources.html">Sources</a></li>
+        <li><a href="./../../issue-tracking.html">Issue Tracking</a></li>
+        <li><a href="./../../commercial-support.html">Commercial Support</a></li>
+    </ul>
+    <h5>Community</h5>
+    <ul>
+        <li><a href="./../../contribute.html">How to Contribute</a></li>
+        <li><a href="./../../team.html">Team</a></li>
+        <li><a href="./../../original-project-proposal.html">Original Project Proposal</a></li>
+        <li><a href="./../../special-thanks.html" class="external-link" rel="nofollow">Special Thanks</a></li>
+    </ul>
+    <h5>About Apache</h5>
+    <ul>
+        <li><a href="http://www.apache.org/">Apache</a></li>
+        <li><a href="http://www.apache.org/licenses/">License</a></li>
+        <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+        <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+        <li><a href="http://www.apache.org/security/">Security</a></li>
+    </ul>
+    
+</div><!-- navigation -->
+
+                </div><!-- leftColumn -->
+                <div id="rightColumn">
+
+
+
+<p><a name="ADS2.0configuration-Introduction"></a></p>
+<h1 id="introduction">Introduction</h1>
+<p>ADS 2.0 configuration has been completely reworked since 1.0 and 1.5
+versions. While those two versions were XML based, we decided to store the
+new configuration in the DiT (Directory Information Tree).</p>
+<p>It's now available either through an LDAP browser, programatically using an
+LDAP API or simply by editing the LDIF files stored on the disk.</p>
+<p><a name="ADS2.0configuration-Configurationstructure"></a></p>
+<h1 id="configuration-structure">Configuration structure</h1>
+<p>ADS is more than a <em>LDAP</em> server. It's also a <em>Kerberos</em> server, a <em>DNS</em>
+Server and a <em>DHCP</em> server. In other words, we have to define a
+configuration for many servers, some of them being backed by a <em>Directory
+Service</em>.</p>
+<p>We can consider that the main service is the <em>Directory Service</em>, on top of
+which we have servers. Each server has a specific network configuration. We
+will expose the associated configuration.</p>
+<p><a name="ADS2.0configuration-UsingApacheDirectoryStudiotomanagetheconfiguration"></a></p>
+<h2 id="using-apache-directorystudio-to-manage-the-configuration">Using Apache DirectoryStudio to manage the configuration</h2>
+<p>The easiest way to manage a server configuration is to use Studio for that.
+Defining a new server will allow you to configure it, but you can also
+modify an existing server's configuration, as soon as you can connect on to
+this server. Let's see how we process in both cases.</p>
+<p><a name="ADS2.0configuration-Newserverconfiguration"></a></p>
+<h3 id="new-server-configuration">New server configuration</h3>
+<p>You can define a brand new server configuration using Studio. All you have
+to do is :
+- to create a new Server instance
+- modify it's configuration
+- save the configuration as a file (ldif)
+- move this ldif file in the installed server workspace at the right place
+(under the configuration partition)</p>
+<p><a name="ADS2.0configuration-Creationofanewserver"></a></p>
+<h4 id="creation-of-a-new-server">Creation of a new server</h4>
+<p>Click on the 'New Server' icon :</p>
+<p><img alt="New server icon" src="../../images/NewServer.png" /></p>
+<p>This will popup this window : </p>
+<p><img alt="New server creation" src="../../images/NewServerCreation.png" /> </p>
+<p>Select the type of server you want to configure (here, 2.0) and name your
+server.</p>
+<p><a name="ADS2.0configuration-Configurationoverview"></a></p>
+<h4 id="configuration-overview">Configuration overview</h4>
+<p>By double-clicking on the created server, you will see an overview of the
+current configuration (all the value are default values at this point) :</p>
+<p><img alt="Overview" src="../../images/Overview.png" /></p>
+<p>You can modify the server port here, and access to the advanced
+configurations from this screen.</p>
+<p><a name="ADS2.0configuration-LDAP/LDAPSconfiguration"></a></p>
+<h4 id="ldapldaps-configuration">LDAP/LDAPS configuration</h4>
+<p>The LDAP/LDAPS tab let you configure all the SASL and TLS configuration,
+plus the server limits :</p>
+<p><img alt="Ldap Ldaps" src="../../images/LdapLdaps.png" /></p>
+<p>We manage two kind of limits :
+- The maximum time the server will take to process a request (when this
+time has been expired, the request will be stopped)
+- The maximum number of entries we will return</p>
+<p><a name="ADS2.0configuration-Kerberosconfiguration"></a></p>
+<h4 id="kerberos-configuration">Kerberos configuration</h4>
+<p>In this tab, you can setup all the parameters needed to configure your
+Kerberos server :</p>
+<p><img alt="Kerberos" src="../../images/Kerberos.png" /></p>
+<p><a name="ADS2.0configuration-Partitionconfiguration"></a></p>
+<h4 id="partition-configuration">Partition configuration</h4>
+<p>This is where you add new partitions and modify them.</p>
+<p>There are a few importants elements to configure for a partition :
+- its ID, which is an external name
+- its Suffix, which must be a valid DN
+- the cache size used for this partition (it's the number of page that will
+be kept in memory, considering that a page may contain more than one entry)</p>
+<p>Then you also have to configure the index used by this partition. Some of
+them are mandatory (<em>apacheRdn</em>, <em>apacheSubLevel</em>, <em>apachePresence</em>,
+<em>apacheOneLevel</em>, <em>apacheOneAlias</em>, <em>apacheSubAlias</em>, <em>apacheAlias</em>,
+<em>objectClass</em>, <em>entryUuid</em>, <em>entryCsn</em>), you can just modify their cache,
+all the others are user index, you have to create them. Each index is
+associated with an existing AttributeType.</p>
+<p><img alt="Partition" src="../../images/Partition.png" /></p>
+<p><a name="ADS2.0configuration-Replication"></a></p>
+<h4 id="replication">Replication</h4>
+<p>Not yet available</p>
+<p><a name="ADS2.0configuration-Modifyinganexistingserverconfiguration"></a></p>
+<h3 id="modifying-an-existing-server-configuration">Modifying an existing server configuration</h3>
+<p>The server should accept live modification. If this is the case, you just
+have to connect on the server and to modify it.</p>
+<p><a name="ADS2.0configuration-DiTconfigurationstructure"></a></p>
+<h2 id="dit-configuration-structure">DiT configuration structure</h2>
+<p>We need to define a directory tree to store the configuration.</p>
+<p>Here is the existing structure, where we have defined one <em>LDAP</em> server
+(<em>ldapServer1</em>), backed by one <em>Directory Service</em> (<em>DS1</em>), and two
+associated transports (<em>ldapSrv1</em> and <em>ldapsSrv1</em>) :</p>
+<div class="codehilite"><pre><span class="n">ou</span><span class="o">=</span><span class="n">config</span>
+ <span class="o">|</span>
+ <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">directoryServiceId</span><span class="o">=</span><span class="n">default</span>
+      <span class="o">|</span>
+      <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">changeLogId</span><span class="o">=</span><span class="n">defaultChangeLog</span>
+      <span class="o">|</span>
+      <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">journalId</span><span class="o">=</span><span class="n">defaultJournal</span>
+      <span class="o">|</span>
+      <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">interceptors</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">aciAuthorizationInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">authenticationInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">authenticators</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">authenticatorid</span><span class="o">=</span><span class="n">anonymousauthenticator</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">authenticatorid</span><span class="o">=</span><span class="n">simpleauthenticator</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">authenticatorid</span><span class="o">=</span><span class="n">strongauthenticator</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">passwordPolicies</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">pwdId</span><span class="o">=</span><span class="n">default</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">collectiveAttributeInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">defaultAuthorizationInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">eventInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">exceptionInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">keyDerivationInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">normalizationInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">operationalAttributeInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">passwordHashingInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">referralInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">schemaInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">subentryInterceptor</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">interceptorId</span><span class="o">=</span><span class="n">triggerInterceptor</span>
+      <span class="o">|</span>
+      <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">partitions</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">partitionId</span><span class="o">=</span><span class="nb">system</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">indexes</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheRdn</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheSubLevel</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apachePresence</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheOneLevel</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheOneAlias</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheSubAlias</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheAlias</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">objectClass</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">entryUUID</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">entryCSN</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">ou</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">uid</span>
+      <span class="o">|</span>    <span class="o">|</span>
+      <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">partitionId</span><span class="o">=</span><span class="n">example</span>
+      <span class="o">|</span>     <span class="o">|</span>
+      <span class="o">|</span>     <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">indexes</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheRdn</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheSubLevel</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apachePresence</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheOneLevel</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheOneAlias</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheSubAlias</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">apacheAlias</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">objectClass</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">entryUUID</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">entryCSN</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">ou</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">uid</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">dc</span>
+      <span class="o">|</span>          <span class="o">|</span>
+      <span class="o">|</span>          <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">indexAttributeId</span><span class="o">=</span><span class="n">krb5PrincipalName</span>
+      <span class="o">|</span>
+      <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">servers</span>
+       <span class="o">|</span>
+       <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">serverId</span><span class="o">=</span><span class="n">changePasswordServer</span>
+       <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">transports</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportId</span><span class="o">=</span><span class="n">tcp</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportId</span><span class="o">=</span><span class="n">udp</span>
+       <span class="o">|</span>
+       <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">serverId</span><span class="o">=</span><span class="n">dnsServer</span>
+       <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">transports</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportId</span><span class="o">=</span><span class="n">tcp</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportId</span><span class="o">=</span><span class="n">udp</span>
+       <span class="o">|</span>
+       <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">serverId</span><span class="o">=</span><span class="n">httpServer</span>
+       <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">transports</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportid</span><span class="o">=</span><span class="n">http</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportid</span><span class="o">=</span><span class="n">https</span>
+       <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">httpWebApps</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">id</span><span class="o">=</span><span class="n">testapp</span>
+       <span class="o">|</span>
+       <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">serverId</span><span class="o">=</span><span class="n">kerberosServer</span>
+       <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">transports</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportid</span><span class="o">=</span><span class="n">tcp</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportid</span><span class="o">=</span><span class="n">udp</span>
+       <span class="o">|</span>
+       <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">serverId</span><span class="o">=</span><span class="n">ldapServer</span>
+       <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">replConsumers</span>
+       <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">transports</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportid</span><span class="o">=</span><span class="n">ldap</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportid</span><span class="o">=</span><span class="n">ldaps</span>
+       <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">extendedOpHandlers</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">extendedOpId</span><span class="o">=</span><span class="n">gracefulShutdownHandler</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">extendedOpId</span><span class="o">=</span><span class="n">starttlshandler</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">|</span>    <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">extendedOpId</span><span class="o">=</span><span class="n">storedprochandler</span>
+       <span class="o">|</span>    <span class="o">|</span>
+       <span class="o">|</span>    <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">saslMechHandlers</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">saslMechName</span><span class="o">=</span><span class="n">CRAM</span><span class="o">-</span><span class="n">MD5</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">saslMechName</span><span class="o">=</span><span class="n">DIGEST</span><span class="o">-</span><span class="n">MD5</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">saslMechName</span><span class="o">=</span><span class="n">GSS</span><span class="o">-</span><span class="n">SPNEGO</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">saslMechName</span><span class="o">=</span><span class="n">GSSAPI</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">saslMechName</span><span class="o">=</span><span class="n">NTLM</span>
+       <span class="o">|</span>         <span class="o">|</span>
+       <span class="o">|</span>         <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">saslMechName</span><span class="o">=</span><span class="n">SIMPLE</span>
+       <span class="o">|</span>
+       <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">serverId</span><span class="o">=</span><span class="n">ntpServer</span>
+        <span class="o">|</span>
+        <span class="o">+--</span><span class="n">ou</span><span class="o">=</span><span class="n">transports</span>
+             <span class="o">|</span>
+             <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportId</span><span class="o">=</span><span class="n">tcp</span>
+             <span class="o">|</span>
+             <span class="o">+--</span><span class="n">ads</span><span class="o">-</span><span class="n">transportId</span><span class="o">=</span><span class="n">udp</span>
+</pre></div>
+
+
+<p><img alt="configuration-schema-dit" src="../../images/configuration-dit.png" /></p>
+<p><a name="ADS2.0configuration-DirectoryService"></a></p>
+<h3 id="directory-service">Directory Service</h3>
+<p>For every server backed by a directory, this is the place we define this
+service's configuration.</p>
+<p>The Directory Service configuration itself depends on some sub-elements,
+which needs their own configuration :
+<em> changeLog
+</em> interceptors
+<em> journal
+</em> partitions
+* replication</p>
+<p>see <a href="adsconfig.html">configuration schema description</a></p>
+<p>Otherwise, we also have a set of simple paramaters, listed in the following
+table :</p>
+<p><a name="ADS2.0configuration-ads-directoryServiceObjectClass"></a></p>
+<h4 id="ads-directoryservice-objectclass">ads-directoryService ObjectClass</h4>
+<p>We have many parameters we can configure in order to get the
+DirectoryService functioning. Some parameters are mandatory, other aren't.
+Some may have one single value, others may not.</p>
+<p>Here is the list of mandatory and optional parameters</p>
+<p><a name="ADS2.0configuration-Mandatoryparameters"></a></p>
+<h5 id="mandatory-parameters">Mandatory parameters</h5>
+<table>
+<tr><th> Name </th><th> OID </th><th> Mandatory </th><th> type </th><th> SV/MV </th><th> Composite </th><th> Description </th></tr>
+<tr><td> ads-directoryServiceId </td><td> 1.3.6.1.4.1.18060.0.4.1.2.100 </td><td>
+Yes </td><td> PrintableString </td><td> SV </td><td>
+No </td><td> The unique identifier for this DirectoryService </td></tr>
+<tr><td> ads-dsReplicaId </td><td> 1.3.6.1.4.1.18060.0.4.1.2.112 </td><td> Yes </td><td>
+PrintableString </td><td> SV </td><td> No </td><td> The numeric ID
+(between 000 and 999) for this instance </td></tr>
+<tr><td> ads-interceptors </td><td> 1.3.6.1.4.1.18060.0.4.1.2.116 </td><td> Yes </td><td>
+PrintableString </td><td> MV </td><td> Yes </td><td> The list of
+interceptors </td></tr>
+<tr><td> ads-partitions </td><td> 1.3.6.1.4.1.18060.0.4.1.2.108 </td><td> Yes </td><td>
+PrintableString </td><td> MV </td><td> Yes </td><td> The list of
+partitions </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-Optionalparameters"></a></p>
+<h5 id="optional-parameters">Optional parameters</h5>
+<table>
+<tr><th> Name </th><th> OID </th><th> Mandatory </th><th> type </th><th> SV/MV </th><th> Composite </th><th> Description </th></tr>
+<tr><td> ads-servers </td><td> 1.3.6.1.4.1.18060.0.4.1.2.115 </td><td> No </td><td>
+PrintableString </td><td> SV </td><td> Yes </td><td> The servers we
+have to start </td></tr>
+<tr><td> ads-dsAccessControlEnabled </td><td> 1.3.6.1.4.1.18060.0.4.1.2.101 </td><td>
+No </td><td> Boolean </td><td> SV </td><td> No </td><td> Is
+the access control enabled or not (default to no) </td></tr>
+<tr><td> ads-dsAllowAnonymousAccess </td><td> 1.3.6.1.4.1.18060.0.4.1.2.102 </td><td>
+No </td><td> Boolean </td><td> SV </td><td> No </td><td> If
+one can connect with the anonymous account (default to no) </td></tr>
+<tr><td> ads-changeLog </td><td> 1.3.6.1.4.1.18060.0.4.1.2.105 </td><td> No </td><td>
+PrintableString </td><td> SV </td><td> Yes </td><td> The ChangeLog
+configuration </td></tr>
+<tr><td> ads-dsDenormalizeOpAttrsEnabled </td><td> 1.3.6.1.4.1.18060.0.4.1.2.103 </td><td>
+No </td><td> Boolean </td><td> SV </td><td> No </td><td> A
+flag telling the server to return a denormalized version of operational
+attributes </td></tr>
+<tr><td> ads-journal </td><td> 1.3.6.1.4.1.18060.0.4.1.2.117 </td><td> No </td><td>
+PrintableString </td><td> SV </td><td> Yes </td><td> The Journal
+configuration </td></tr>
+<tr><td> ads-dsMaxPDUSize </td><td> 1.3.6.1.4.1.18060.0.4.1.2.110 </td><td> No </td><td>
+Integer </td><td> SV </td><td> No </td><td> The max size for an
+incoming PDU </td></tr>
+<tr><td> ads-dsPasswordHidden </td><td> 1.3.6.1.4.1.18060.0.4.1.2.104 </td><td> No
+</td><td> Boolean </td><td> SV </td><td> No </td><td> Tells if the password
+is hidden </td></tr>
+<tr><td> ads-dsSyncPeriodMillis </td><td> 1.3.6.1.4.1.18060.0.4.1.2.111 </td><td>
+No </td><td> Integer </td><td> SV </td><td> No </td><td>
+Duration between two flush on disk </td></tr>
+<tr><td> ads-dsTestEntries </td><td> 1.3.6.1.4.1.18060.0.4.1.2.113 </td><td> No </td><td>
+PrintableString </td><td> MV </td><td> No </td><td> The set of
+entries to inject at startup (may be obsolete) </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-Interceptors"></a></p>
+<h2 id="interceptors">Interceptors</h2>
+<p>Some interceptors can be configured (Authentication and PassowordPolicy).
+They will be described with a specific ObjectClass.</p>
+<p>Otherwise, they only have an identifier, and an order number, as the
+interceptors are used in an ordered chain. (we may want later to allow an
+administrator to inject a new interceptor)</p>
+<p>This ObjectClass contains the informations relative to a base interceptor.
+It will be extended by each interceptor specific interceptor.</p>
+<p><a name="ADS2.0configuration-Mandatoryparameters"></a></p>
+<h4 id="mandatory-parameters_1">Mandatory parameters</h4>
+<table>
+<tr><th> Name </th><th> OID </th><th> Mandatory </th><th> type </th><th> SV/MV </th><th> Composite </th><th> Description </th></tr>
+<tr><td> ads-interceptorId </td><td> 1.3.6.1.4.1.18060.0.4.1.2.130 </td><td> Yes </td><td>
+PrintableString </td><td> SV </td><td> No </td><td> The Interceptor
+identifier </td></tr>
+<tr><td> ads-interceptorOrder </td><td> 1.3.6.1.4.1.18060.0.4.1.2.131 </td><td>
+Yes </td><td> Integer </td><td> SV </td><td> No </td><td>
+The Interceptor order number </td></tr>
+<tr><td> ads-interceptorClassName </td><td> 1.3.6.1.4.1.18060.0.4.1.2.804 </td><td>
+Yes </td><td> PrintableString </td><td> SV </td><td>
+No </td><td> Fully qualified class name of the interceptor </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-Authenticationinterceptor"></a></p>
+<h3 id="authentication-interceptor">Authentication interceptor</h3>
+<p><a name="ADS2.0configuration-ads-authenticationInterceptor"></a></p>
+<h4 id="ads-authenticationinterceptor">ads-authenticationInterceptor</h4>
+<table>
+<tr><th> Name </th><th> OID </th><th> Mandatory </th><th> type </th><th> SV/MV </th><th> Composite </th><th> Description </th></tr>
+<tr><td> ads-authenticators </td><td> 1.3.6.1.4.1.18060.0.4.1.2.933 </td><td> No </td><td>
+N/A </td><td> MV </td><td> Yes </td><td> A
+reference to the authenticators </td></tr>
+<tr><td> ads-passwordPolicies </td><td> 1.3.6.1.4.1.18060.0.4.1.2.313 </td><td> No
+</td><td> PrintableString </td><td> MV </td><td> Yes </td><td> The
+PasswordPolicy configurations </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-ChangeLog"></a></p>
+<h2 id="changelog">ChangeLog</h2>
+<p>Here is the configuration :</p>
+<table>
+<tr><th> Parameter </th><th> Default value </th><th> Description </th></tr>
+<tr><td> changeLogStore </td><td> </td><td> A store for change events on the directory (not
+described atm) </td></tr>
+<tr><td> enabled </td><td> true </td><td> Tells if the changeLog system is up and running </td></tr>
+<tr><td> exposed </td><td> false </td><td> Tells if the changeLog system is visible by the clients
+</td></tr>
+<tr><td> partitionSuffix </td><td> ou=changelog </td><td> The prefix of the partition </td></tr>
+<tr><td> revisionsContainerName </td><td> ou=revisions </td><td> The name of the revisions
+container under the partition </td></tr>
+<tr><td> tagsContainerName </td><td> ou=tags </td><td> The name of the tags container under the
+partition </td></tr>
+</table>
+
+<p>{note}
+The <em>partitionSuffix</em>, <em>revisionsContainerName</em> and <em>tagsContainerName</em>
+should not be exposed. They won't be associated with a schema element. The
+<em>changeLogStore</em> is not defined right now, as we only have a InMemory
+changeLog system working.
+{note}</p>
+<p><a name="ADS2.0configuration-ChangeLogschema"></a></p>
+<h3 id="changelog-schema">ChangeLog schema</h3>
+<p><a name="ADS2.0configuration-AttributeTypes"></a></p>
+<h4 id="attributetypes">AttributeTypes</h4>
+<p>Here is the list of AttributeTypes we need for the changeLog :</p>
+<table>
+<tr><th> AttributeType </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+<tr><td> [ads-changeLogEnabled](configuration-schema#ads-changelogenabled.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> </td></tr>
+<tr><td> [ads-changeLogExposed](configuration-schema#ads-changelogexposed.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-ObjectClass"></a></p>
+<h4 id="objectclass">ObjectClass</h4>
+<p>Here is the ObjectClass we need for the changeLog :</p>
+<table>
+<tr><th> ObjectClass </th><th> type </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+<tr><td> [ads-changeLog](configuration-schema#ads-changelog.html)
+ </td><td> STRUCTURAL </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.3.xxx </td><td> The ChangeLog
+ObjectClass </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-Journal"></a></p>
+<h2 id="journal">Journal</h2>
+<p>This is the system storing every modifications in order to be able to
+restore the server if it crashes, or to manage replication. It is backed by
+a store, which needs to be configured too. Here is the configuration :</p>
+<table>
+<tr><th> Parameter </th><th> Default value </th><th> Description </th></tr>
+<tr><td> enabled </td><td> true </td><td> Tells if the journal system is up and running </td></tr>
+<tr><td> rotation </td><td> 0 </td><td> The size before a journal rotation occurs </td></tr>
+<tr><td> filename </td><td> journal.ldif </td><td> The journal's file name </td></tr>
+<tr><td> workingDirectory </td><td> the DirectoryService working directory </td><td> The place on
+disk where the journal is stored </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-Journalschema"></a></p>
+<h3 id="journal-schema">Journal schema</h3>
+<p><a name="ADS2.0configuration-AttributeTypes"></a></p>
+<h4 id="attributetypes_1">AttributeTypes</h4>
+<p>Here is the list of AttributeTypes we need for the journal :</p>
+<table>
+<tr><th> AttributeType </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+<tr><td> [ads-journalFileName](configuration-schema#ads-journalfilename.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The journal's file name </td></tr>
+<tr><td> [ads-journalWorkingDirectory](configuration-schema#ads-journalworkingdirectory.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The place on disk where the
+journal is stored </td></tr>
+<tr><td> [ads-journalRotation](configuration-schema#ads-journalrotation.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The size before a journal rotation
+occurs </td></tr>
+<tr><td> [ads-journalEnabled](configuration-schema#ads-journalenabled.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Tells if the journal system is up
+and running </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-ObjectClass"></a></p>
+<h4 id="objectclass_1">ObjectClass</h4>
+<p>Here is the ObjectClass we need for the journal :</p>
+<table>
+<tr><th> ObjectClass </th><th> type </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+<tr><td> [ads-journal](configuration-schema#ads-journal.html)
+ </td><td> STRUCTURAL </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.3.xxx </td><td> The Journal
+ObjectClass </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-Partition"></a></p>
+<h2 id="partition">Partition</h2>
+<p>The Partition parameters are listed in the following table :</p>
+<table>
+<tr><th> Parameter </th><th> Default value </th><th> Description </th></tr>
+<tr><td> cacheSize </td><td> 100 </td><td> Number of cached entries </td></tr>
+<tr><td> id </td><td> N/A </td><td> The partition id </td></tr>
+<tr><td> indexedAttributes </td><td> N/A </td><td> The list of indexed attributes </td></tr>
+<tr><td> optimizerEnabled </td><td> true </td><td> Tells if the optimizer is enabled or not </td></tr>
+<tr><td> property </td><td> N/A </td><td> ??? </td></tr>
+<tr><td> suffix </td><td> N/A </td><td> The partition's suffix </td></tr>
+<tr><td> syncOnWrite </td><td> true </td><td> Tells the server to flush on disk for every write </td></tr>
+</table>
+
+<p>the <em>indexedAttributes</em> parameter itself is a composite attribute, and will
+be described below.</p>
+<p>{note}
+The 'property' parameter will probably be removed.
+{note}</p>
+<p>{note}
+The 'optimizerEnabled' parameter will probably be removed.
+{note}</p>
+<p><a name="ADS2.0configuration-Partitionschema"></a></p>
+<h3 id="partition-schema">Partition schema</h3>
+<p><a name="ADS2.0configuration-AttributeTypes"></a></p>
+<h4 id="attributetypes_2">AttributeTypes</h4>
+<table>
+<tr><th> Parameter </th><th> Default value </th><th> Description </th></tr>
+<tr><td> ads-partitionCacheSize </td><td> 100 </td><td> Number of cached entries </td></tr>
+<tr><td> ads-partitionId </td><td> N/A </td><td> The partition Id </td></tr>
+<tr><td> ads-partitionIndexedAttributes </td><td> N/A </td><td> The list of indexed attributes </td></tr>
+<tr><td> ads-partitionOptimizerEnabled </td><td> true </td><td> Tells if the optimizer is enabled
+or not. probably a useless parameter </td></tr>
+<tr><td> ads-partitionProperty </td><td> N/A </td><td> Will be removed </td></tr>
+<tr><td> ads-partitionSuffix </td><td> N/A </td><td> The partition suffix </td></tr>
+<tr><td> ads-partitionSyncOnWrite </td><td> true </td><td> Tells the server to flush on disk for
+every write </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-ObjectClass"></a></p>
+<h4 id="objectclass_2">ObjectClass</h4>
+<table>
+<tr><th> ObjectClass </th><th> type </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+<tr><td> ads-partition </td><td> STRUCTURAL </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.3.xxx </td><td> The
+Partition ObjectClass </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-Index"></a></p>
+<h2 id="index">Index</h2>
+<p>The Index parameters are listed in the following table :</p>
+<table>
+<tr><th> Parameter </th><th> Default value </th><th> Description </th></tr>
+<tr><td> attributeId </td><td> N/A </td><td> The attributeType name or OID </td></tr>
+<tr><td> cacheSize </td><td> 100 </td><td> Number of key we cache </td></tr>
+<tr><td> numDupLimit </td><td> 512 </td><td> The number of duplicated element we allow before
+switching to a secondary tree </td></tr>
+<tr><td> filename </td><td> the attributeName </td><td> Name of the index file </td></tr>
+<tr><td> workingDirectory </td><td> The DS's working directory </td><td> The place on disk where
+the index will be stored </td></tr>
+</table>
+
+<p>{note}
+The cacheSize is likely to be removed.
+{note}</p>
+<p><a name="ADS2.0configuration-Indexschema"></a></p>
+<h3 id="index-schema">Index schema</h3>
+<p><a name="ADS2.0configuration-AttributeTypes"></a></p>
+<h4 id="attributetypes_3">AttributeTypes</h4>
+<table>
+<tr><th> Parameter </th><th> Default value </th><th> Description </th></tr>
+<tr><td> [ads-indexAttributeId](configuration-schema#ads-indexattributeid.html)
+ </td><td> N/A </td><td> The attributeType name or OID </td></tr>
+<tr><td> [ads-indexCacheSize](configuration-schema#ads-indexcachesize.html)
+ </td><td> 100 </td><td> Number of key we cache </td></tr>
+<tr><td> [ads-indexNumDupLimit](configuration-schema#ads-indexnumduplimit.html)
+ </td><td> 512 </td><td> The number of duplicated element we allow before switching to a
+secondary tree </td></tr>
+<tr><td> [ads-indexFilename](configuration-schema#ads-indexfilename.html)
+ </td><td> the attributeName </td><td> Name of the index file </td></tr>
+<tr><td> [ads-indexWorkingDirectory](configuration-schema#ads-indexworkingdirectory.html)
+ </td><td> The DS's working directory </td><td> The place on disk where the index will be
+stored </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-ObjectClass"></a></p>
+<h4 id="objectclass_3">ObjectClass</h4>
+<p>We will define at least two ObjectClasses, as we may have different kind of
+index (JDBM, Oracle, ...)</p>
+<table>
+<tr><th> ObjectClass </th><th> type </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+<tr><td> [ads-index](configuration-schema#ads-index.html)
+ </td><td> ABSTRACT </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.3.xxx </td><td> A global indexed
+attribute (can be JDBM or anything else) </td></tr>
+<tr><td> [ads-jdbmIndex](configuration-schema#ads-jdbmindex.html)
+ </td><td> STRUCTURAL </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.3.xxx </td><td> A JDBM indexed
+attribute </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-LdapServer"></a></p>
+<h2 id="ldapserver">LdapServer</h2>
+<p>The LdapServer parameters are described in the following table :</p>
+<table>
+<tr><th> Parameter </th><th> Default value </th><th> Description </th></tr>
+<tr><td> id </td><td> N/A </td><td> The LdapServer identifier </td></tr>
+<tr><td> transports </td><td> N/A </td><td> The LdapServer transports </td></tr>
+<tr><td> confidentialityRequired </td><td> false </td><td> Tells the server to accept requests
+using startTLS or LDAPS </td></tr>
+<tr><td> allowAnonymousAccess </td><td> true </td><td> Tells the server to accept Anynymous
+requests or not </td></tr>
+<tr><td> maxSizeLimit </td><td> 1000 </td><td> The maximum number of entries to return </td></tr>
+<tr><td> MaxTimeLimit </td><td> 1000 </td><td> The maximul time before an operation is aborted (in
+seconds) </td></tr>
+<tr><td> extendedOperationHandlers </td><td> ??? </td></tr>
+<tr><td> saslHost </td><td> N/A </td><td> The name of this host, validated during SASL negotiation
+</td></tr>
+<tr><td> saslPrincipal </td><td> ldap/ldap.example.com@EXAMPLE.COM </td><td> The service
+principal, used by GSSAPI </td></tr>
+<tr><td> saslQop </td><td> "auth, "auth-int", "auth-conf" </td><td> The quality of protection
+(QoP), used by DIGEST-MD5 and GSSAPI </td></tr>
+<tr><td> saslRealms </td><td> N/A </td><td> The realms serviced by this SASL host </td></tr>
+<tr><td> saslMechanismHandlers </td><td> N/A </td><td> <String, MechanismHandler> \--> To be
+explicited </td></tr>
+<tr><td> directoryService </td><td> N/A </td><td> The reference to the associated DirectoryService
+</td></tr>
+<tr><td> keystoreFile </td><td> The JVM keystore </td><td> The keystore file to use to store
+certificates </td></tr>
+<tr><td> certificatePassword </td><td> N/A </td><td> The certificate passord </td></tr>
+<tr><td> replicationSystem </td><td> </td><td> ??? Should be associated to the DirectoryService </td></tr>
+</table>
+
+<p>Some of the parameters will not be used : <em>extendedOperationHandlers</em>,
+<em>saslQop</em>, <em>saslMechanismHandlers</em> and <em>replicationSystem</em>.</p>
+<p>None of those parameters are composite, except the DirectoryService, which
+has already been described.</p>
+<p><a name="ADS2.0configuration-LdapServerschema"></a></p>
+<h3 id="ldapserver-schema">LdapServer schema</h3>
+<p><a name="ADS2.0configuration-AttributeTypes"></a></p>
+<h4 id="attributetypes_4">AttributeTypes</h4>
+<table>
+<tr><th> AttributeType </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+<tr><td> [ads-ldapServerId](configuration-schema#ads-ldapserverid.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The LdapServer identifier </td></tr>
+<tr><td> [ads-ldapServerId](configuration-schema#ads-ldapserverid.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The LdapServer transports </td></tr>
+<tr><td> [ads-ldapServerTransports](configuration-schema#ads-ldapservertransports.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Tells the server to accept
+requests using startTLS or LDAPS </td></tr>
+<tr><td> [ads-ldapServerAllowAnonymousAccess](configuration-schema#ads-ldapserverallowanonymousaccess.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Tells the server to accept
+Anynymous requests or not </td></tr>
+<tr><td> [ads-ldapServerMaxSizeLimit](configuration-schema#ads-ldapservermaxsizelimit.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The maximum number of entries to
+return </td></tr>
+<tr><td> [ads-ldapServerMaxTimeLimit](configuration-schema#ads-ldapservermaxtimelimit.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The maximul time before an
+operation is aborted (in seconds) </td></tr>
+<tr><td> [ads-ldapServerSaslHost](configuration-schema#ads-ldapserversaslhost.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The name of this host, validated
+during SASL negotiation </td></tr>
+<tr><td> [ads-ldapServerSaslPrincipal](configuration-schema#ads-ldapserversaslprincipal.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The service principal, used by
+GSSAPI </td></tr>
+<tr><td> [ads-ldapServerSaslRealms](configuration-schema#ads-ldapserversaslrealms.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The realms serviced by this SASL
+host </td></tr>
+<tr><td> [ads-ldapServerDirectoryService](configuration-schema#ads-ldapserverdirectoryservice.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The reference to the associated
+DirectoryService </td></tr>
+<tr><td> [ads-ldapServerKeystoreFile](configuration-schema#ads-ldapserverkeystorefile.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The keystore file to use to store
+certificates </td></tr>
+<tr><td> [ads-ldapServerCertificatePassword](configuration-schema#ads-ldapservercertificatepassword.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The certificate passord </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-ObjectClass"></a></p>
+<h4 id="objectclass_4">ObjectClass</h4>
+<p>Here is the list of ObjectClasses we need for the LdapServer</p>
+<table>
+<tr><th> ObjectClass </th><th> type </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+<tr><td> [ads-ldapServer](configuration-schema#ads-ldapserver.html)
+ </td><td> STRUCTURAL </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.3.xxx </td><td> Base class for the
+LdapServer ObjectClass </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-KerberosServer"></a></p>
+<h2 id="kerberosserver">KerberosServer</h2>
+<p>The KerberosServer parameters are described in the following table :</p>
+<table>
+<tr><th> Parameter </th><th> Default value </th><th> Description </th></tr>
+<tr><td> id </td><td> N/A </td><td> The KerberosServer identifier </td></tr>
+<tr><td> transports </td><td> N/A </td><td> The KerberosServer transports </td></tr>
+<tr><td> AllowableClockSkew </td><td> </td><td> The allowable clock skew </td></tr>
+<tr><td> EncryptionTypes </td><td> </td><td> The encryption types </td></tr>
+<tr><td> EmptyAddressesAllowed </td><td> true </td><td> Whether empty addresses are allowed </td></tr>
+<tr><td> ForwardableAllowed </td><td> true </td><td> Whether forwardable addresses are allowed </td></tr>
+<tr><td> PaEncTimestampRequired </td><td> true </td><td> Whether pre-authentication by encrypted
+timestamp is required </td></tr>
+<tr><td> PostdatedAllowed </td><td> true </td><td> Whether postdated tickets are allowed </td></tr>
+<tr><td> ProxiableAllowed </td><td> true </td><td> Whether proxiable addresses are allowed </td></tr>
+<tr><td> RenewableAllowed </td><td> true </td><td> Whether renewable tickets are allowed </td></tr>
+<tr><td> KdcPrincipal </td><td> krbtgt/EXAMPLE.COM@EXAMPLE.COM </td><td> The service principal
+name </td></tr>
+<tr><td> MaximumRenewableLifetime </td><td> 7 days </td><td> The maximum renewable lifetime </td></tr>
+<tr><td> MaximumTicketLifetime </td><td> 1 day </td><td> The maximum ticket lifetime </td></tr>
+<tr><td> PrimaryRealm </td><td> EXAMPLE.COM </td><td> The primary realm </td></tr>
+<tr><td> BodyChecksumVerified </td><td> true </td><td> Whether to verify the body checksum </td></tr>
+<tr><td> SearchBaseDn </td><td> NA </td><td> The place we are looking for entries </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-KerberosServerSchema"></a></p>
+<h3 id="kerberosserver-schema">KerberosServer Schema</h3>
+<p><a name="ADS2.0configuration-AttributeTypes"></a></p>
+<h4 id="attributetypes_5">AttributeTypes</h4>
+<p>Here is the list of AttributeTypes we need for the KerberosServer</p>
+<table>
+<tr><th> AttributeType </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+<tr><td> [ads-krbAllowableClockSkew](configuration-schema#ads-krballowableclockskew.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The allowable clock skew </td></tr>
+<tr><td> [ads-krbEncryptionTypes](configuration-schema#ads-krbencryptiontypes.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The encryption types </td></tr>
+<tr><td> [ads-krbEmptyAddressesAllowed](configuration-schema#ads-krbemptyaddressesallowed.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Whether empty addresses are
+allowed </td></tr>
+<tr><td> [ads-krbForwardableAllowed](configuration-schema#ads-krbforwardableallowed.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Whether forwardable addresses are
+allowed </td></tr>
+<tr><td> [ads-krbForwardableAllowed](configuration-schema#ads-krbforwardableallowed.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Whether forwardable addresses are
+allowed </td></tr>
+<tr><td> [ads-krbPaEncTimestampRequired](configuration-schema#ads-krbpaenctimestamprequired.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Whether pre-authentication by
+encrypted timestamp is required </td></tr>
+<tr><td> [ads-krbPostdatedAllowed](configuration-schema#ads-krbpostdatedallowed.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Whether postdated tickets are
+allowed </td></tr>
+<tr><td> [ads-krbProxiableAllowed](configuration-schema#ads-krbproxiableallowed.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Whether proxiable addresses are
+allowed </td></tr>
+<tr><td> [ads-krbRenewableAllowed](configuration-schema#ads-krbrenewableallowed.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Whether renewable tickets are
+allowed </td></tr>
+<tr><td> [ads-krbKdcPrincipal](configuration-schema#ads-krbkdcprincipal.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The service principal name </td></tr>
+<tr><td> [ads-krbMaximumRenewableLifetime](configuration-schema#ads-krbmaximumrenewablelifetime.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The maximum renewable lifetime </td></tr>
+<tr><td> [ads-krbMaximumTicketLifetime](configuration-schema#ads-krbmaximumticketlifetime.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The maximum ticket lifetime </td></tr>
+<tr><td> [ads-krbPrimaryRealm](configuration-schema#ads-krbprimaryrealm.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The primary realm </td></tr>
+<tr><td> [ads-krbBodyChecksumVerified](configuration-schema#ads-krbbodychecksumverified.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Whether to verify the body
+checksum </td></tr>
+<tr><td> [ads-kerberosServerId](configuration-schema#ads-kerberosserverid.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The kerberos server identifier </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-ObjectClasses"></a></p>
+<h4 id="objectclasses">ObjectClasses</h4>
+<p>Here is the list of ObjectClass we need for the KerberosServer</p>
+<table>
+<tr><th> ObjectClass </th><th> type </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+</table>
+
+<p><a name="ADS2.0configuration-TransportLayer"></a></p>
+<h2 id="transport-layer">Transport Layer</h2>
+<p>The <em>transport layer</em> is the layer in charge of managing incoming requests
+and outgoing responses. All the servers are depending on this layer. It
+support <em>TCP</em> and <em>UDP</em> transports.</p>
+<p>The configuration parameters are the following :</p>
+<table>
+<tr><th> Parameter </th><th> Default value </th><th> Description </th></tr>
+<tr><td> address </td><td> localhost </td><td> The listening address. Can be '*' if the server is
+listening on all the interfaces </td></tr>
+<tr><td> port </td><td> \-1 </td><td> The port the server is listening on. </td></tr>
+<tr><td> sslEnabled </td><td> false </td><td> Tells if SSL is enabled for this transport. Only
+available for a TCP transport </td></tr>
+<tr><td> backlog </td><td> 50 </td><td> The number of incoming requests queued when all the
+threads are busy </td></tr>
+<tr><td> threads </td><td> 3 </td><td> The number of threads to use in the executor to handle the
+incoming requests </td></tr>
+</table>
+
+<p>The base transport is determinated by the type of transport object we will
+create :<em>TcpTransport</em> or <em>UdpTransport</em>.</p>
+<p>For instance, in the current <em>server.xml</em> file, we have this configuration
+for the <em>LDAP</em> server and for the <em>Kerberos</em> server :</p>
+<div class="codehilite"><pre>  <span class="o">...</span>
+  <span class="o">&lt;</span><span class="n">ldapServer</span> <span class="n">id</span><span class="o">=</span><span class="s">&quot;ldapServer&quot;</span> <span class="o">...&gt;</span>
+    <span class="sr">&lt;transports&gt;</span>
+      <span class="o">&lt;</span><span class="n">tcpTransport</span> <span class="n">address</span><span class="o">=</span><span class="s">&quot;0.0.0.0&quot;</span> <span class="n">port</span><span class="o">=</span><span class="s">&quot;10389&quot;</span> <span class="n">nbThreads</span><span class="o">=</span><span class="s">&quot;8&quot;</span>
+</pre></div>
+
+
+<p>backLog="50" enableSSL="false"/&gt;
+          <tcpTransport address="localhost" port="10686" enableSSL="true"/>
+        </transports>
+      ...</p>
+<div class="codehilite"><pre>  ...
+  <span class="nt">&lt;kdcServer</span> <span class="na">id=</span><span class="s">&quot;kdcServer&quot;</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;transports&gt;</span>
+      <span class="nt">&lt;tcpTransport</span> <span class="na">port=</span><span class="s">&quot;60088&quot;</span> <span class="na">nbThreads=</span><span class="s">&quot;4&quot;</span> <span class="na">backLog=</span><span class="s">&quot;50&quot;</span><span class="nt">/&gt;</span>
+      <span class="nt">&lt;udpTransport</span> <span class="na">port=</span><span class="s">&quot;60088&quot;</span> <span class="na">nbThreads=</span><span class="s">&quot;4&quot;</span> <span class="na">backLog=</span><span class="s">&quot;50&quot;</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;/transports&gt;</span>
+  ...
+</pre></div>
+
+
+<p><a name="ADS2.0configuration-Transportschema"></a></p>
+<h3 id="transport-schema">Transport schema</h3>
+<p>To be able to store the transport in the <em>DiT</em>, we must define a specific
+set of AttributeTypes and ObjectClasses to store them. Here are those
+definitions.</p>
+<p><a name="ADS2.0configuration-AttributeTypes"></a></p>
+<h4 id="attributetypes_6">AttributeTypes</h4>
+<p>Here is the list of AttributeTypes we need for the transport layer</p>
+<table>
+<tr><th> AttributeType </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+<tr><td> [ads-transportAddress](configuration-schema#ads-transportaddress.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The IP Address </td></tr>
+<tr><td> [ipServicePort](http://ldap.akbkhome.com/index.php/attribute/ipServicePort.html)
+ </td><td> no </td><td> 1.3.6.1.1.1.1.15 </td><td> The IP port </td></tr>
+<tr><td> [ads-transportBacklog](configuration-schema#ads-transportbacklog.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The backlog size </td></tr>
+<tr><td> [ads-transportEnableSSL](configuration-schema#ads-transportenablessl.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> Tells if SSL is on </td></tr>
+<tr><td> [ads-transportNbThreads](configuration-schema#ads-transportnbthreads.html)
+ </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.2.xxx </td><td> The number of threads in the
+executor </td></tr>
+</table>
+
+<p><a name="ADS2.0configuration-ObjectClasses"></a></p>
+<h4 id="objectclasses_1">ObjectClasses</h4>
+<p>Here is the list of ObjectClasses we need for the transport layer</p>
+<table>
+<tr><th> ObjectClass </th><th> type </th><th> ADS </th><th> OID </th><th> Description </th></tr>
+<tr><td> [ads-transport](configuration-schema#ads-transport.html)
+ </td><td> ABSTRACT </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.3.xxx </td><td> Base class for the
+transport's ObjectClasses </td></tr>
+<tr><td> [ads-tcpTransport](configuration-schema#ads-tcptransport.html)
+ </td><td> STRUCTURAL </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.3.xxx </td><td> The TCP transport </td></tr>
+<tr><td> [ads-udpTransport](configuration-schema#ads-udptransport.html)
+ </td><td> STRUCTURAL </td><td> yes </td><td> 1.3.6.1.4.1.18060.0.4.1.3.xxx </td><td> The UDP transport </td></tr>
+
+
+
+                </div><!-- rightColumn -->
+                <div id="endContent"></div>
+            </div><!-- content -->
+            <div id="footer">&copy; 2003-2012, <a href="http://www.apache.org">The Apache Software Foundation</a> - <a href="./../../privacy-policy.html">Privacy Policy</a><br />
+                Apache Directory, ApacheDS, Apache Directory Server, Apache Directory Studio, Apache LDAP API, Apache Triplesec, Triplesec, Apache, the Apache feather logo, and the Apache Directory project logos are trademarks of The Apache Software Foundation.
+            </div>
+        </div><!-- container -->
+    </body>
+</html>
\ No newline at end of file



Mime
View raw message