From c4c23b471528c582b8c4133a834e46c539f234c6 Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Fri, 06 Jul 2007 10:12:08 +0000
Subject: [PATCH] fix for isue 1632 : schema check should not be done for replicated operation.

---
 opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendWorkflowElement.java |   31 ++++++++++++++++++++-----------
 1 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendWorkflowElement.java b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendWorkflowElement.java
index 3fd4599..5208153 100644
--- a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendWorkflowElement.java
+++ b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendWorkflowElement.java
@@ -1250,10 +1250,12 @@
               break modifyProcessing;
             }
 
-
-            // Make sure that all the new values are valid according to the
+            // If the server is configured to check schema and the
+            // operation is not a synchronization operation,
+            // make sure that all the new values are valid according to the
             // associated syntax.
-            if (DirectoryServer.checkSchema())
+            if ((DirectoryServer.checkSchema()) &&
+                (!localOp.isSynchronizationOperation()) )
             {
               AcceptRejectWarn syntaxPolicy =
                 DirectoryServer.getSyntaxEnforcementPolicy();
@@ -1467,11 +1469,13 @@
               break;
             }
 
-
-            // Make sure that all the new values are valid according to the
+            // If the server is configured to check schema and the
+            // operation is not a synchronization operation,
+            // make sure that all the new values are valid according to the
             // associated syntax.
             newValues = a.getValues();
-            if (DirectoryServer.checkSchema())
+            if ((DirectoryServer.checkSchema()) &&
+                (!localOp.isSynchronizationOperation()) )
             {
               AcceptRejectWarn syntaxPolicy =
                 DirectoryServer.getSyntaxEnforcementPolicy();
@@ -1937,8 +1941,11 @@
             break modifyProcessing;
         }
 
-        // Make sure that the new entry is valid per the server schema.
-        if (DirectoryServer.checkSchema())
+        // If the server is configured to check the schema and the
+        // operation is not a sycnhronization operation,
+        // make sure that the new entry is valid per the server schema.
+        if ((DirectoryServer.checkSchema()) &&
+            (!localOp.isSynchronizationOperation()) )
         {
           StringBuilder invalidReason = new StringBuilder();
           if (! modifiedEntry.conformsToSchema(null, false, false, false,
@@ -4964,10 +4971,12 @@
           }
         }
 
-
-        // Check to see if the entry is valid according to the server schema,
+        // If the server is configured to check schema and the
+        // operation is not a synchronization operation,
+        // check to see if the entry is valid according to the server schema,
         // and also whether its attributes are valid according to their syntax.
-        if (DirectoryServer.checkSchema())
+        if ((DirectoryServer.checkSchema()) &&
+            (!localOp.isSynchronizationOperation()) )
         {
           StringBuilder invalidReason = new StringBuilder();
           if (! entry.conformsToSchema(parentEntry, true, true, true,

--
Gitblit v1.10.0