summaryrefslogtreecommitdiffstats
path: root/src/back-shr.c
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin.dahyabhai@pobox.com>2008-12-03 18:33:27 -0500
committerNalin Dahyabhai <nalin.dahyabhai@pobox.com>2008-12-03 18:33:27 -0500
commit166207d08e15be79452dcf2adc0258924b7a9af7 (patch)
tree251a041213d176273fcf1ab5e939bda44afb006d /src/back-shr.c
parent5f0bf222e0e11fa3265b02a993653ebd400018c3 (diff)
downloadslapi-nis-166207d08e15be79452dcf2adc0258924b7a9af7.tar.gz
slapi-nis-166207d08e15be79452dcf2adc0258924b7a9af7.tar.xz
slapi-nis-166207d08e15be79452dcf2adc0258924b7a9af7.zip
- fix a logic error when determining if an entry which contains an
attrribute used in %referred() needs other things to be updated
Diffstat (limited to 'src/back-shr.c')
-rw-r--r--src/back-shr.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/back-shr.c b/src/back-shr.c
index 48a4117..7725cc5 100644
--- a/src/back-shr.c
+++ b/src/back-shr.c
@@ -812,7 +812,8 @@ backend_shr_update_references_cb(const char *group, const char *set,
}
n_ref_attrs = i;
if (n_ref_attrs > 0) {
- /* Build the search filter. */
+ /* Build the search filter: entries in this map which refer to
+ * this entry. */
filter = backend_build_filter(state,
slapi_entry_get_sdn(cbdata->e),
set_data->entry_filter,
@@ -854,9 +855,9 @@ backend_shr_update_references_cb(const char *group, const char *set,
inref_attrs = set_data->inref_attrs;
for (i = 0; (inref_attrs != NULL) && (inref_attrs[i] != NULL); i++) {
- /* We're only processing inref attributes for this map. */
- if ((strcmp(inref_attrs[i]->group, group) != 0) ||
- (strcmp(inref_attrs[i]->set, set) != 0)) {
+ /* We're only processing inref attributes for other maps. */
+ if ((strcmp(inref_attrs[i]->group, group) == 0) &&
+ (strcmp(inref_attrs[i]->set, set) == 0)) {
continue;
}
/* Extract the named attribute from the entry. */