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

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

diff --git a/opends/src/server/org/opends/server/replication/protocol/ModifyMsg.java b/opends/src/server/org/opends/server/replication/protocol/ModifyMsg.java
index e37158e..db138d1 100644
--- a/opends/src/server/org/opends/server/replication/protocol/ModifyMsg.java
+++ b/opends/src/server/org/opends/server/replication/protocol/ModifyMsg.java
@@ -34,7 +34,11 @@
 import org.opends.server.protocols.asn1.ASN1Exception;
 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.opends.server.types.operation.PostOperationModifyOperation;
 
 import static org.opends.server.replication.protocol.OperationContext.*;
@@ -197,9 +201,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();
   }
 
@@ -218,6 +222,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