From 01877785691d9595c0bdb01588c8dab720f10b85 Mon Sep 17 00:00:00 2001
From: Yannick Lecaillez <yannick.lecaillez@forgerock.com>
Date: Wed, 22 Jun 2016 13:34:29 +0000
Subject: [PATCH] OPENDJ-3134: ConfigException after changing identity mapper in HTTP authorization mechanism
---
opendj-server-legacy/src/main/java/org/opends/server/core/HttpEndpointConfigManager.java | 23 +++++++++++++----------
1 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/HttpEndpointConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/HttpEndpointConfigManager.java
index 0b228bb..4f224db 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/HttpEndpointConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/HttpEndpointConfigManager.java
@@ -320,7 +320,7 @@
return endpointAuthzMechanisms;
}
- private void rebindStartedApplications(DN authorizationFilterDN)
+ private void rebindStartedApplications(DN authorizationFilterDN, ConfigChangeResult ccr)
{
final RootCfg rootConfiguration = serverContext.getRootConfig();
for (String endpointName : rootConfiguration.listHTTPEndpoints())
@@ -341,7 +341,8 @@
}
catch (ConfigException e)
{
- LOGGER.error(ERR_CONFIG_HTTPENDPOINT_UNABLE_TO_START.get(endpointName, stackTraceToSingleLineString(e)), e);
+ ccr.setResultCode(DirectoryServer.getServerErrorResultCode());
+ ccr.addMessage(ERR_CONFIG_HTTPENDPOINT_UNABLE_TO_START.get(endpointName, stackTraceToSingleLineString(e)));
continue;
}
}
@@ -357,9 +358,15 @@
@Override
public ConfigChangeResult applyConfigurationDelete(HTTPAuthorizationMechanismCfg configuration)
{
+ doConfigurationDelete(configuration);
+ final ConfigChangeResult ccr = new ConfigChangeResult();
+ rebindStartedApplications(configuration.dn(), ccr);
+ return ccr;
+ }
+
+ private void doConfigurationDelete(HTTPAuthorizationMechanismCfg configuration)
+ {
authzFilters.remove(configuration.dn());
- rebindStartedApplications(configuration.dn());
- return new ConfigChangeResult();
}
@Override
@@ -388,7 +395,7 @@
try
{
authzFilters.put(configuration.dn(), authzFilterFactory.newInstance(configuration));
- rebindStartedApplications(configuration.dn());
+ rebindStartedApplications(configuration.dn(), ccr);
}
catch (InitializationException ie)
{
@@ -410,11 +417,7 @@
@Override
public ConfigChangeResult applyConfigurationChange(HTTPAuthorizationMechanismCfg configuration)
{
- final ConfigChangeResult deleteResult = applyConfigurationDelete(configuration);
- if (deleteResult.getResultCode().isExceptional() || !configuration.isEnabled())
- {
- return deleteResult;
- }
+ doConfigurationDelete(configuration);
return applyConfigurationAdd(configuration);
}
}
--
Gitblit v1.10.0