You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by bu...@apache.org on 2018/01/31 06:21:16 UTC

svn commit: r1024622 - in /websites/staging/directory/trunk/content: ./ api/internal-design-guide/ api/internal-design-guide/images/

Author: buildbot
Date: Wed Jan 31 06:21:16 2018
New Revision: 1024622

Log:
Staging update by buildbot for directory

Added:
    websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionRequest.graphml   (with props)
    websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionRequest.png   (with props)
    websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionResponse.graphml   (with props)
    websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionResponse.png   (with props)
Modified:
    websites/staging/directory/trunk/content/   (props changed)
    websites/staging/directory/trunk/content/api/internal-design-guide/14-extended-operations.html

Propchange: websites/staging/directory/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Jan 31 06:21:16 2018
@@ -1 +1 @@
-1822082
+1822765

Modified: websites/staging/directory/trunk/content/api/internal-design-guide/14-extended-operations.html
==============================================================================
--- websites/staging/directory/trunk/content/api/internal-design-guide/14-extended-operations.html (original)
+++ websites/staging/directory/trunk/content/api/internal-design-guide/14-extended-operations.html Wed Jan 31 06:21:16 2018
@@ -1024,6 +1024,42 @@ The <em>startTransactionResponse</em> ha
 </pre></div>
 
 
+<h1 id="a-more-complex-example">A more complex example<a class="headerlink" href="#a-more-complex-example" title="Permanent link">&para;</a></h1>
+<p>Wealso have to add the <em>EndTransactionRequest</em> and <em>endTransactionResponse</em> extended opertions. We will focus on the response, which is more complex that the request.</p>
+<p>The <em>EndTransactionResponse</em> value follows this ASN.1 description :</p>
+<div class="codehilite"><pre>txnEndRes ::= SEQUENCE {
+    messageID MessageID OPTIONAL,
+         -- msgid associated with non-success resultCode
+    updatesControls SEQUENCE OF updateControl SEQUENCE {
+         messageID MessageID,
+              -- msgid associated with controls
+         controls  Controls
+    } OPTIONAL
+}
+</pre></div>
+
+
+<p>Here, <a href="https://tools.ietf.org/html/rfc5805">RFC 5805</a> gives some information about the semantic of this grammar :</p>
+<ul>
+<li>we can either have a message ID, if the transaction was a failure</li>
+<li>or have a list of <em>UpdateControls</em> structure if we have had a success, with some controls having to be returned</li>
+<li>or we simply have nothing and then the full value is simply absent.</li>
+</ul>
+<p><em>Controls</em> is a list of <em>Control</em> as defined in <a href="https://tools.ietf.org/html/rfc4511#section-4.1.11">RFC 4511</a>, with the following ASN.1 description :</p>
+<div class="codehilite"><pre>Controls ::= SEQUENCE OF control Control
+
+Control ::= SEQUENCE {
+         controlType             LDAPOID,
+         criticality             BOOLEAN DEFAULT FALSE,
+         controlValue            OCTET STRING OPTIONAL }
+</pre></div>
+
+
+<p>So we may have many <em>updateControls</em> and for each one of them, one to many <em>controls</em>. We will need to define a state machine to decode those two ASN/1 description.</p>
+<p>First, let's see what is the state machine for the <em>txnEndRes</em> type and the <em>controls</em> type :</p>
+<p><img alt="Extended Operations state machine" src="images/EndTransResponse.png" /></p>
+
+
     <div class="nav">
         <div class="nav_prev">
         

Added: websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionRequest.graphml
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionRequest.graphml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionRequest.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionRequest.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionResponse.graphml
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionResponse.graphml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Added: websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionResponse.png
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/directory/trunk/content/api/internal-design-guide/images/EndTransactionResponse.png
------------------------------------------------------------------------------
    svn:mime-type = image/png