From 6f0a3c2828ac7f11844ac54edeac3f6041c5d8dc Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Thu, 13 Oct 2016 13:09:29 +0000
Subject: [PATCH] Fix for OPENDJ-3380. Reject adding a backend with an empty baseDN.

---
 opendj-server-legacy/src/messages/org/opends/messages/config.properties             |    3 ++-
 opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java |    5 +++++
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
index b8fbed6..6efdeea 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
@@ -579,6 +579,11 @@
     BaseDnRegistry reg = DirectoryServer.copyBaseDnRegistry();
     for (DN baseDN : baseDNs)
     {
+      if (baseDN.isRootDN())
+      {
+        unacceptableReason.add(ERR_CONFIG_BACKEND_BASE_IS_EMPTY.get(backendDN));
+        return false;
+      }
       try
       {
         reg.registerBaseDN(baseDN, backend, false);
diff --git a/opendj-server-legacy/src/messages/org/opends/messages/config.properties b/opendj-server-legacy/src/messages/org/opends/messages/config.properties
index 7adb162..6630fa4 100644
--- a/opendj-server-legacy/src/messages/org/opends/messages/config.properties
+++ b/opendj-server-legacy/src/messages/org/opends/messages/config.properties
@@ -862,4 +862,5 @@
 WARN_CONFIG_SCHEMA_FILE_HAS_SCHEMA_WARNING_761=The config schema file '%s' generated warning when \
  trying to update schema with its content: %s
 WARN_CONFIG_SCHEMA_FILE_HAS_SCHEMA_WARNING_WITH_OVERWRITE_762=The config schema file '%s' generated \
- warning when trying to update schema with its content, despite allowing to overwrite definitions: %s
\ No newline at end of file
+ warning when trying to update schema with its content, despite allowing to overwrite definitions: %s
+ERR_CONFIG_BACKEND_BASE_IS_EMPTY_763=Unable to configure the backend '%s' because one of its base DNs is the empty DN
\ No newline at end of file

--
Gitblit v1.10.0