summaryrefslogtreecommitdiffstats
path: root/src/back-sch.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/back-sch.c')
-rw-r--r--src/back-sch.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/back-sch.c b/src/back-sch.c
index 3130fbc..e5a6937 100644
--- a/src/back-sch.c
+++ b/src/back-sch.c
@@ -79,7 +79,7 @@ backend_set_config_free_config_contents(void *data)
free(set_data->common.group);
free(set_data->common.set);
free(set_data->common.bases);
- backend_shr_free_sdnlist(set_data->common.relevant_subtrees);
+ backend_shr_free_sdnlist(set_data->common.restrict_subtrees);
backend_shr_free_sdnlist(set_data->common.ignore_subtrees);
format_free_attr_list(set_data->common.rel_attrs);
free(set_data->common.rel_attr_list);
@@ -112,7 +112,7 @@ backend_copy_set_config(const struct backend_set_data *data)
ret->common.group = strdup(data->common.group);
ret->common.set = strdup(data->common.set);
ret->common.bases = backend_shr_dup_strlist(data->common.bases);
- ret->common.relevant_subtrees = backend_shr_dup_sdnlist(data->common.relevant_subtrees);
+ ret->common.restrict_subtrees = backend_shr_dup_sdnlist(data->common.restrict_subtrees);
ret->common.ignore_subtrees = backend_shr_dup_sdnlist(data->common.ignore_subtrees);
ret->common.rel_attrs = data->common.rel_attrs ?
format_dup_attr_list(data->common.rel_attrs) :
@@ -164,15 +164,18 @@ backend_set_config_read_config(struct plugin_state *state, Slapi_Entry *e,
bool_t check_access;
struct backend_set_data ret;
Slapi_DN *tmp_sdn;
- const Slapi_DN **relevant_subtrees, **ignore_subtrees;
+ const Slapi_DN **restrict_subtrees, **ignore_subtrees;
/* Read the values from the configuration entry. */
bases = backend_shr_get_vattr_strlist(state, e,
SCH_CONTAINER_CONFIGURATION_BASE_ATTR);
- relevant_subtrees = backend_shr_get_vattr_sdnlist(state, e,
- SCH_CONTAINER_CONFIGURATION_RELEVANT_SUBTREES_ATTR);
+ restrict_subtrees = backend_shr_get_vattr_sdnlist(state, e,
+ SCH_CONTAINER_CONFIGURATION_RESTRICT_SUBTREES_ATTR);
ignore_subtrees = backend_shr_get_vattr_sdnlist(state, e,
SCH_CONTAINER_CONFIGURATION_IGNORE_SUBTREES_ATTR);
+ if (ignore_subtrees == NULL) {
+ backend_shr_add_sdnlist(&ignore_subtrees, DEFAULT_IGNORE_SUBTREE);
+ }
entry_filter = backend_shr_get_vattr_filter(state, e,
SCH_CONTAINER_CONFIGURATION_FILTER_ATTR);
rdn_format = backend_shr_get_vattr_str(state, e,
@@ -193,7 +196,7 @@ backend_set_config_read_config(struct plugin_state *state, Slapi_Entry *e,
slapi_sdn_free(&tmp_sdn);
ret.common.set = strdup(container);
ret.common.bases = bases;
- ret.common.relevant_subtrees = relevant_subtrees;
+ ret.common.restrict_subtrees = restrict_subtrees;
ret.common.ignore_subtrees = ignore_subtrees;
ret.common.entry_filter = entry_filter;
ret.common.rel_attrs = NULL;
@@ -259,7 +262,7 @@ backend_set_config_read_config(struct plugin_state *state, Slapi_Entry *e,
free(ret.common.group);
free(ret.common.set);
backend_shr_free_strlist(ret.common.bases);
- backend_shr_free_sdnlist(ret.common.relevant_subtrees);
+ backend_shr_free_sdnlist(ret.common.restrict_subtrees);
backend_shr_free_sdnlist(ret.common.ignore_subtrees);
free(ret.common.entry_filter);
slapi_sdn_free(&ret.container_sdn);
@@ -429,6 +432,8 @@ backend_set_entry_from(Slapi_PBlock *pb, enum backend_entry_source source,
rdn = format_get_data(data->common.state, pb, e,
data->common.group, data->common.set,
data->rdn_format, NULL,
+ data->common.restrict_subtrees,
+ data->common.ignore_subtrees,
&data->common.rel_attrs,
&data->common.ref_attrs,
&data->common.inref_attrs,
@@ -512,6 +517,8 @@ backend_set_entry_from(Slapi_PBlock *pb, enum backend_entry_source source,
data->common.set,
data->attribute_format[i],
NULL,
+ data->common.restrict_subtrees,
+ data->common.ignore_subtrees,
&data->common.rel_attrs,
&data->common.ref_attrs,
&data->common.inref_attrs,