From e4ed7668d3c2fd1617d268cabba89b7682fa75ee Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Thu, 31 Mar 2011 17:36:35 +0000
Subject: [PATCH] Fix issue OpenDJ-103: Replication in 2.4 head and trunk are no longer compatible with 2.4.0 and 2.4.1

---
 opendj-sdk/opends/src/server/org/opends/server/replication/server/DataServerHandler.java        |    1 -
 opendj-sdk/opends/src/server/org/opends/server/replication/protocol/TLSSocketSession.java       |   23 ++++++++++++++++-------
 opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServerHandler.java |    1 -
 3 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/protocol/TLSSocketSession.java b/opendj-sdk/opends/src/server/org/opends/server/replication/protocol/TLSSocketSession.java
index 8a54bc2..72ff1a6 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/protocol/TLSSocketSession.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/protocol/TLSSocketSession.java
@@ -405,6 +405,11 @@
       setSessionError(e);
       throw e;
     }
+    catch (final RuntimeException e)
+    {
+      setSessionError(e);
+      throw e;
+    }
   }
 
 
@@ -438,14 +443,18 @@
   public void stopEncryption()
   {
     // The secure socket has been configured not to auto close the underlying
-    // plain socket.
-    try
+    // plain socket. We should close it here and properly tear down the SSL
+    // session, but this is not compatible with the existing protocol.
+    if (false)
     {
-      secureSocket.close();
-    }
-    catch (IOException ignored)
-    {
-      // Ignore.
+      try
+      {
+        secureSocket.close();
+      }
+      catch (IOException ignored)
+      {
+        // Ignore.
+      }
     }
 
     input = plainInput;
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/DataServerHandler.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/DataServerHandler.java
index 3b9a4f7..c7c3b2a 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/DataServerHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/DataServerHandler.java
@@ -533,7 +533,6 @@
           Integer.toString(inServerStartMsg.getServerId()),
           Integer.toString(replicationServerDomain.getReplicationServer().
           getServerId()));
-        logError(errMessage);
         throw new DirectoryException(ResultCode.OTHER, errMessage);
       }
       catch (NotSupportedOldVersionPDUException e)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServerHandler.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServerHandler.java
index 77fce06..d3f2dfd 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServerHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServerHandler.java
@@ -431,7 +431,6 @@
         Integer.toString(inReplServerStartMsg.getServerId()),
         Integer.toString(replicationServerDomain.getReplicationServer().
         getServerId()));
-      logError(errMessage);
       abortStart(errMessage);
     }
     catch(DirectoryException de)

--
Gitblit v1.10.0