From db77f058c92ee3d0b531c474093d6a3d1d81cd25 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 26 May 2014 12:17:41 +0000
Subject: [PATCH] Ensured no accidental protocol break can happen by renaming all ByteArrayBuilder.append*() methods and getting rid of all method overloading.

---
 opends/src/server/org/opends/server/replication/protocol/ServerStartMsg.java |   25 ++++++++++++-------------
 1 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/protocol/ServerStartMsg.java b/opends/src/server/org/opends/server/replication/protocol/ServerStartMsg.java
index f6870dd..8b65188 100644
--- a/opends/src/server/org/opends/server/replication/protocol/ServerStartMsg.java
+++ b/opends/src/server/org/opends/server/replication/protocol/ServerStartMsg.java
@@ -122,7 +122,7 @@
     windowSize = scanner.nextIntUTF8();
     heartbeatInterval = scanner.nextIntUTF8();
     sslEncryption = Boolean.valueOf(scanner.nextString());
-    serverState = scanner.nextServerState();
+    serverState = scanner.nextServerStateMustComeLast();
   }
 
   /**
@@ -205,18 +205,17 @@
     final ByteArrayBuilder builder = new ByteArrayBuilder();
     encodeHeader(MSG_TYPE_SERVER_START, builder, protocolVersion);
 
-    builder.append(baseDN);
-    builder.appendUTF8(serverId);
-    builder.append(serverURL);
-    builder.appendUTF8(maxReceiveDelay);
-    builder.appendUTF8(maxReceiveQueue);
-    builder.appendUTF8(maxSendDelay);
-    builder.appendUTF8(maxSendQueue);
-    builder.appendUTF8(windowSize);
-    builder.appendUTF8(heartbeatInterval);
-    builder.append(Boolean.toString(sslEncryption));
-    // Caution: ServerState MUST be the last field.
-    builder.append(serverState);
+    builder.appendDN(baseDN);
+    builder.appendIntUTF8(serverId);
+    builder.appendString(serverURL);
+    builder.appendIntUTF8(maxReceiveDelay);
+    builder.appendIntUTF8(maxReceiveQueue);
+    builder.appendIntUTF8(maxSendDelay);
+    builder.appendIntUTF8(maxSendQueue);
+    builder.appendIntUTF8(windowSize);
+    builder.appendLongUTF8(heartbeatInterval);
+    builder.appendString(Boolean.toString(sslEncryption));
+    builder.appendServerStateMustComeLast(serverState);
     return builder.toByteArray();
   }
 

--
Gitblit v1.10.0