Author: nkinder
Update of /cvs/dirsec/ldapserver/ldap/servers/plugins/chainingdb
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9536/ldap/servers/plugins/chainingdb
Modified Files:
cb_config.c cb_instance.c
Log Message:
Resolves: 470918
Summary: Made replica_set_updatedn detect value add modify operations properly.
Index: cb_config.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/plugins/chainingdb/cb_config.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- cb_config.c 27 Jun 2008 19:28:22 -0000 1.7
+++ cb_config.c 13 Nov 2008 23:08:17 -0000 1.8
@@ -429,17 +429,17 @@
return SLAPI_DSE_CALLBACK_ERROR;
}
- if ( mods[i]->mod_op & LDAP_MOD_REPLACE) {
+ if (SLAPI_IS_MOD_REPLACE(mods[i]->mod_op)) {
if (!done) {
cb_unregister_all_supported_control(cb);
done=1;
}
cb_register_supported_control(cb,config_attr_value,0);
} else
- if ( (mods[i]->mod_op & ~LDAP_MOD_BVALUES) == LDAP_MOD_ADD) {
+ if (SLAPI_IS_MOD_ADD(mods[i]->mod_op)) {
cb_register_supported_control(cb,config_attr_value,0);
} else
- if ( (mods[i]->mod_op & ~LDAP_MOD_BVALUES) == LDAP_MOD_DELETE) {
+ if (SLAPI_IS_MOD_DELETE(mods[i]->mod_op)) {
cb_unregister_supported_control(cb,config_attr_value,0);
}
}
@@ -450,7 +450,7 @@
/* assume single-valued */
if (mods[i]->mod_op & LDAP_MOD_DELETE)
cb_set_debug(0);
- else if ((mods[i]->mod_op & ~LDAP_MOD_BVALUES) == LDAP_MOD_ADD)
+ else if (SLAPI_IS_MOD_ADD(mods[i]->mod_op))
cb_set_debug(1);
} else
if ( !strcasecmp ( attr_name, CB_CONFIG_GLOBAL_CHAINING_COMPONENTS )) {
@@ -461,7 +461,7 @@
for (j = 0; mods[i]->mod_bvalues &&
mods[i]->mod_bvalues[j]; j++) {
config_attr_value = (char *)
mods[i]->mod_bvalues[j]->bv_val;
- if ( mods[i]->mod_op & LDAP_MOD_REPLACE) {
+ if (SLAPI_IS_MOD_REPLACE(mods[i]->mod_op)) {
if (!done) {
charray_free(cb->config.chaining_components);
cb->config.chaining_components=NULL;
@@ -471,11 +471,11 @@
charray_add(&cb->config.chaining_components,
slapi_dn_normalize(slapi_ch_strdup(config_attr_value)));
} else
- if ( (mods[i]->mod_op & ~LDAP_MOD_BVALUES) ==
LDAP_MOD_ADD) {
+ if (SLAPI_IS_MOD_ADD(mods[i]->mod_op)) {
charray_add(&cb->config.chaining_components,
slapi_dn_normalize(slapi_ch_strdup(config_attr_value)));
} else
- if ( (mods[i]->mod_op & ~LDAP_MOD_BVALUES) ==
LDAP_MOD_DELETE) {
+ if (SLAPI_IS_MOD_DELETE(mods[i]->mod_op)) {
charray_remove(cb->config.chaining_components,
slapi_dn_normalize(slapi_ch_strdup(config_attr_value)),
0 /* freeit */);
@@ -496,7 +496,7 @@
for (j = 0; mods[i]->mod_bvalues &&
mods[i]->mod_bvalues[j]; j++) {
config_attr_value = (char *)
mods[i]->mod_bvalues[j]->bv_val;
- if ( mods[i]->mod_op & LDAP_MOD_REPLACE) {
+ if (SLAPI_IS_MOD_REPLACE(mods[i]->mod_op)) {
if (!done) {
charray_free(cb->config.chainable_components);
cb->config.chainable_components=NULL;
@@ -506,12 +506,12 @@
slapi_dn_normalize(slapi_ch_strdup(config_attr_value)
));
} else
- if ( (mods[i]->mod_op & ~LDAP_MOD_BVALUES) ==
LDAP_MOD_ADD) {
+ if (SLAPI_IS_MOD_ADD(mods[i]->mod_op)) {
charray_add(&cb->config.chainable_components,
slapi_dn_normalize(slapi_ch_strdup(config_attr_value)
));
} else
- if ( (mods[i]->mod_op & ~LDAP_MOD_BVALUES) ==
LDAP_MOD_DELETE) {
+ if (SLAPI_IS_MOD_DELETE(mods[i]->mod_op)) {
charray_remove(cb->config.chainable_components,
slapi_dn_normalize(slapi_ch_strdup(config_attr_value)
),
Index: cb_instance.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/plugins/chainingdb/cb_instance.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- cb_instance.c 5 Nov 2008 18:21:05 -0000 1.11
+++ cb_instance.c 13 Nov 2008 23:08:17 -0000 1.12
@@ -323,8 +323,8 @@
if ( !strcasecmp ( attr_name, CB_CONFIG_BINDUSER )) {
/* Make sure value is not forbidden */
- if ((mods[i]->mod_op & LDAP_MOD_REPLACE) ||
- ((mods[i]->mod_op & ~LDAP_MOD_BVALUES) == LDAP_MOD_ADD))
{
+ if (SLAPI_IS_MOD_REPLACE(mods[i]->mod_op) ||
+ SLAPI_IS_MOD_ADD(mods[i]->mod_op)) {
rc = cb_instance_config_set((void *) inst, attr_name,
cb_the_instance_config, mods[i]->mod_bvalues[0],
returntext,
@@ -333,8 +333,8 @@
}
}
- if ((mods[i]->mod_op & LDAP_MOD_DELETE) ||
- ((mods[i]->mod_op & ~LDAP_MOD_BVALUES) == LDAP_MOD_ADD))
{
+ if (SLAPI_IS_MOD_DELETE(mods[i]->mod_op) ||
+ SLAPI_IS_MOD_ADD(mods[i]->mod_op)) {
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");
@@ -383,7 +383,7 @@
PR_RWLock_Wlock(inst->rwl_config_lock);
for (j = 0; mods[i]->mod_bvalues &&
mods[i]->mod_bvalues[j]; j++) {
config_attr_value = (char *)
mods[i]->mod_bvalues[j]->bv_val;
- if ( mods[i]->mod_op & LDAP_MOD_REPLACE) {
+ if (SLAPI_IS_MOD_REPLACE(mods[i]->mod_op)) {
if (!done) {
charray_free(inst->illegal_attributes);
inst->illegal_attributes=NULL;
@@ -392,11 +392,11 @@
charray_add(&inst->illegal_attributes,
slapi_ch_strdup(config_attr_value));
} else
- if ( (mods[i]->mod_op & ~LDAP_MOD_BVALUES) ==
LDAP_MOD_ADD) {
+ if (SLAPI_IS_MOD_ADD(mods[i]->mod_op)) {
charray_add(&inst->illegal_attributes,
slapi_ch_strdup(config_attr_value));
} else
- if ( (mods[i]->mod_op & ~LDAP_MOD_BVALUES) ==
LDAP_MOD_DELETE) {
+ if (SLAPI_IS_MOD_DELETE(mods[i]->mod_op)) {
charray_remove(inst->illegal_attributes,
slapi_ch_strdup(config_attr_value),
0 /* freeit */);
@@ -417,7 +417,7 @@
PR_RWLock_Wlock(inst->rwl_config_lock);
for (j = 0; mods[i]->mod_bvalues &&
mods[i]->mod_bvalues[j]; j++) {
config_attr_value = (char *)
mods[i]->mod_bvalues[j]->bv_val;
- if ( mods[i]->mod_op & LDAP_MOD_REPLACE) {
+ if (SLAPI_IS_MOD_REPLACE(mods[i]->mod_op)) {
if (!done) {
charray_free(inst->chaining_components);
inst->chaining_components=NULL;
@@ -427,11 +427,11 @@
charray_add(&inst->chaining_components,
slapi_dn_normalize(slapi_ch_strdup(config_attr_value)));
} else
- if ( (mods[i]->mod_op & ~LDAP_MOD_BVALUES) ==
LDAP_MOD_ADD) {
+ if (SLAPI_IS_MOD_ADD(mods[i]->mod_op)) {
charray_add(&inst->chaining_components,
slapi_dn_normalize(slapi_ch_strdup(config_attr_value)));
} else
- if ( (mods[i]->mod_op & ~LDAP_MOD_BVALUES) ==
LDAP_MOD_DELETE) {
+ if (SLAPI_IS_MOD_DELETE(mods[i]->mod_op)) {
charray_remove(inst->chaining_components,
slapi_dn_normalize(slapi_ch_strdup(config_attr_value)),
0 /* freeit */);
@@ -447,8 +447,8 @@
- if ((mods[i]->mod_op & LDAP_MOD_DELETE) ||
- ((mods[i]->mod_op & ~LDAP_MOD_BVALUES) == LDAP_MOD_ADD))
{
+ if (SLAPI_IS_MOD_DELETE(mods[i]->mod_op) ||
+ SLAPI_IS_MOD_ADD(mods[i]->mod_op)) {
/* Special processing for binddn & password */
/* because they are optional */