From 06432bc393ff2f8c824c14c56cec6808af3d5137 Mon Sep 17 00:00:00 2001
From: pgamba <pgamba@localhost>
Date: Mon, 19 Oct 2009 19:46:52 +0000
Subject: [PATCH] Fix#4296 ECL root DSE entry may contain changelog attribute containing ECL base DN

---
 opends/src/server/org/opends/server/replication/server/ReplicationServer.java |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
index 7a461f0..9cef25b 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -652,13 +652,21 @@
     NetworkGroup internalNetworkGroup = NetworkGroup.getInternalNetworkGroup();
     internalNetworkGroup.registerWorkflow(externalChangeLogWorkflow);
 
-    enableECLVirtualAttr("lastexternalchangelogcookie",
-        new LastCookieVirtualProvider());
-    enableECLVirtualAttr("firstchangenumber",
-        new FirstChangeNumberVirtualAttributeProvider());
-    enableECLVirtualAttr("lastchangenumber",
-        new LastChangeNumberVirtualAttributeProvider());
-
+    try
+    {
+      enableECLVirtualAttr("lastexternalchangelogcookie",
+          new LastCookieVirtualProvider());
+      enableECLVirtualAttr("firstchangenumber",
+          new FirstChangeNumberVirtualAttributeProvider());
+      enableECLVirtualAttr("lastchangenumber",
+          new LastChangeNumberVirtualAttributeProvider());
+      enableECLVirtualAttr("changelog",
+          new ChangelogBaseDNVirtualAttributeProvider());
+    }
+    catch (Exception e)
+    {
+      TRACER.debugCaught(DebugLogLevel.ERROR, e);
+    }
   }
 
   private void enableECLVirtualAttr(String attrName,
@@ -1312,7 +1320,7 @@
     {
       try
       {
-        draftCNDbHandler.clear();
+        try { draftCNDbHandler.clear(); } catch(Exception e){}
         draftCNDbHandler.shutdown();
         lastGeneratedDraftCN = 0;
         draftCNDbHandler = null;

--
Gitblit v1.10.0