summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2010-03-22 17:53:33 -0500
committerRich Megginson <rmeggins@redhat.com>2010-03-26 11:48:47 -0600
commit6e839e9cc2acb957dc3435ee46aa9d2942cf1bcc (patch)
treec472ce060701282b6a7f1f0795de3f1faff78152
parent48d50e8f06e0c2fd8e2541c3c239217a6b72ebbc (diff)
downloadds-6e839e9cc2acb957dc3435ee46aa9d2942cf1bcc.tar.gz
ds-6e839e9cc2acb957dc3435ee46aa9d2942cf1bcc.tar.xz
ds-6e839e9cc2acb957dc3435ee46aa9d2942cf1bcc.zip
Bug 566320 - RFE: add exception to removal of attributes in cn=config for aci
https://bugzilla.redhat.com/show_bug.cgi?id=566320 Resolves: bug 566320 Bug description: RFE: add exception to removal of attributes in cn=config for aci Fix description: The modify_config_dse() has been modified to check the ignore_attr_type() for all types of modify operation. Reviewed by: rmeggins (and pushed by)
-rw-r--r--ldap/servers/slapd/configdse.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/ldap/servers/slapd/configdse.c b/ldap/servers/slapd/configdse.c
index 317c78db..91b85800 100644
--- a/ldap/servers/slapd/configdse.c
+++ b/ldap/servers/slapd/configdse.c
@@ -391,17 +391,17 @@ modify_config_dse(Slapi_PBlock *pb, Slapi_Entry* entryBefore, Slapi_Entry* e, in
for ( apply_mods = 0; apply_mods <= 1; apply_mods++ ) {
int i = 0;
for (i = 0; (mods[i] && (LDAP_SUCCESS == rc)); i++) {
+ /* send all aci modifications to the backend */
+ config_attr = (char *)mods[i]->mod_type;
+ if (ignore_attr_type(config_attr))
+ continue;
+
if ((mods[i]->mod_op & LDAP_MOD_DELETE) ||
(mods[i]->mod_op & LDAP_MOD_ADD)) {
rc= LDAP_UNWILLING_TO_PERFORM;
PR_snprintf(returntext, SLAPI_DSE_RETURNTEXT_SIZE, "%s attributes is not allowed",
(mods[i]->mod_op & LDAP_MOD_DELETE) ? "Deleting" : "Adding");
} else if (mods[i]->mod_op & LDAP_MOD_REPLACE) {
- /* send all aci modifications to the backend */
- config_attr = (char *)mods[i]->mod_type;
- if (ignore_attr_type(config_attr))
- continue;
-
if ( (checked_all_maxdiskspace_and_mlogsize == 0 ) &&
((strcasecmp( mods[i]->mod_type, CONFIG_ERRORLOG_MAXLOGDISKSPACE_ATTRIBUTE) == 0) ||
(strcasecmp( mods[i]->mod_type, CONFIG_ERRORLOG_MAXLOGSIZE_ATTRIBUTE) == 0) ||