From 8fe39485d77a14b6e2a3f3d63a63bba6a0be645a Mon Sep 17 00:00:00 2001
From: floblanc <floblanc@localhost>
Date: Mon, 23 Feb 2009 19:55:50 +0000
Subject: [PATCH] Fix issue 3817 Creating a 2nd workflow with cn=config baseDn can break the configuration
---
opends/src/server/org/opends/server/core/networkgroups/NetworkGroup.java | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/opends/src/server/org/opends/server/core/networkgroups/NetworkGroup.java b/opends/src/server/org/opends/server/core/networkgroups/NetworkGroup.java
index 070f764..f6aa131 100644
--- a/opends/src/server/org/opends/server/core/networkgroups/NetworkGroup.java
+++ b/opends/src/server/org/opends/server/core/networkgroups/NetworkGroup.java
@@ -1246,8 +1246,11 @@
{
// Search the highest workflow in the topology that can handle
// the baseDN.
+ //First search the private workflows
+ // The order is important to ensure that the admin network group
+ // is not broken and can always find cn=config
for (WorkflowTopologyNode curWorkflow : namingContexts
- .getNamingContexts())
+ .getPrivateNamingContexts())
{
workflowCandidate = curWorkflow.getWorkflowCandidate(baseDN);
if (workflowCandidate != null)
@@ -1255,6 +1258,19 @@
break;
}
}
+ // If not found, search the public
+ if (workflowCandidate == null) {
+ for (WorkflowTopologyNode curWorkflow : namingContexts
+ .getPublicNamingContexts())
+ {
+ workflowCandidate = curWorkflow.getWorkflowCandidate(baseDN);
+ if (workflowCandidate != null)
+ {
+ break;
+ }
+ }
+ }
+
}
return workflowCandidate;
--
Gitblit v1.10.0