From 652e4ed09391b80d4e2472b8172347d5f2a34e9b Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 17 Sep 2014 08:17:19 +0000
Subject: [PATCH] OPENDJ-1560 modify/modifyrdn operations are not working in mix replication topology

---
 opendj3-server-dev/src/server/org/opends/server/replication/protocol/ModifyMsg.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/opendj3-server-dev/src/server/org/opends/server/replication/protocol/ModifyMsg.java b/opendj3-server-dev/src/server/org/opends/server/replication/protocol/ModifyMsg.java
index 0d1f2d4..5f97f81 100644
--- a/opendj3-server-dev/src/server/org/opends/server/replication/protocol/ModifyMsg.java
+++ b/opendj3-server-dev/src/server/org/opends/server/replication/protocol/ModifyMsg.java
@@ -34,7 +34,11 @@
 import org.opends.server.core.ModifyOperationBasis;
 import org.opends.server.protocols.internal.InternalClientConnection;
 import org.opends.server.replication.common.CSN;
-import org.opends.server.types.*;
+import org.opends.server.types.ByteString;
+import org.opends.server.types.DN;
+import org.opends.server.types.LDAPException;
+import org.opends.server.types.Modification;
+import org.opends.server.types.RawModification;
 import org.forgerock.opendj.ldap.ByteString;
 import org.opends.server.types.operation.PostOperationModifyOperation;
 
@@ -198,9 +202,9 @@
     final ByteArrayBuilder builder =
         encodeHeader(MSG_TYPE_MODIFY, protocolVersion);
     builder.appendIntUTF8(encodedMods.length);
-    builder.appendByteArray(encodedMods);
+    builder.appendZeroTerminatedByteArray(encodedMods);
     builder.appendIntUTF8(encodedEclIncludes.length);
-    builder.appendByteArray(encodedEclIncludes);
+    builder.appendZeroTerminatedByteArray(encodedEclIncludes);
     return builder.toByteArray();
   }
 
@@ -219,6 +223,7 @@
   {
     final int modsLen = scanner.nextIntUTF8();
     this.encodedMods = scanner.nextByteArray(modsLen);
+    scanner.skipZeroSeparator();
 
     final int eclAttrLen = scanner.nextIntUTF8();
     encodedEclIncludes = scanner.nextByteArray(eclAttrLen);

--
Gitblit v1.10.0