summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin@dahyabhai.net>2013-09-12 17:26:53 -0400
committerNalin Dahyabhai <nalin@dahyabhai.net>2013-09-12 17:26:53 -0400
commit1f1bd2eaaae965b61047882b71add6f0b91898bc (patch)
tree519bc3f41304b6ff7c9b260ab3ce1f42fbdf8a55 /src
parentfc646c3c86afc0c7817207bb598deb0df11387fa (diff)
downloadslapi-nis-1f1bd2eaaae965b61047882b71add6f0b91898bc.tar.gz
slapi-nis-1f1bd2eaaae965b61047882b71add6f0b91898bc.tar.xz
slapi-nis-1f1bd2eaaae965b61047882b71add6f0b91898bc.zip
Add nis-relevant-subtree and nis-ignore-subtree
Diffstat (limited to 'src')
-rw-r--r--src/back-nis.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/back-nis.c b/src/back-nis.c
index 69a9c73..8a8f89c 100644
--- a/src/back-nis.c
+++ b/src/back-nis.c
@@ -87,6 +87,8 @@ backend_free_set_data_contents(void *data)
free(set_data->common.group);
free(set_data->common.set);
backend_shr_free_strlist(set_data->common.bases);
+ backend_shr_free_sdnlist(set_data->common.relevant_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);
format_free_attr_list(set_data->common.ref_attrs);
@@ -121,8 +123,8 @@ backend_copy_set_data(const struct backend_set_data *data)
ret->common.set = strdup(data->common.set);
ret->common.bases = backend_shr_dup_strlist(data->common.bases);
ret->common.entry_filter = strdup(data->common.entry_filter);
- ret->common.relevant_subtrees = NULL;
- ret->common.ignore_subtrees = NULL;
+ ret->common.relevant_subtrees = backend_shr_dup_sdnlist(data->common.relevant_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) :
NULL;
@@ -515,7 +517,9 @@ backend_set_config_read_config(struct plugin_state *state, Slapi_Entry *e,
char **use_bases, *use_entry_filter;
char **use_key_formats, **use_keys_formats;
char **use_value_formats, **use_values_formats, *use_disallowed_chars;
+ const Slapi_DN **relevant_subtrees, **ignore_subtrees;
int i, j;
+
/* Read the hard-coded defaults for a map with this name. */
defaults_get_map_config(map, secure, &default_filter,
&default_key_format, &default_keys_format,
@@ -524,6 +528,10 @@ backend_set_config_read_config(struct plugin_state *state, Slapi_Entry *e,
/* Read the values from the configuration entry. */
bases = backend_shr_get_vattr_strlist(state, e,
NIS_MAP_CONFIGURATION_BASE_ATTR);
+ relevant_subtrees = backend_shr_get_vattr_sdnlist(state, e,
+ NIS_MAP_CONFIGURATION_RELEVANT_SUBTREES_ATTR);
+ ignore_subtrees = backend_shr_get_vattr_sdnlist(state, e,
+ NIS_MAP_CONFIGURATION_IGNORE_SUBTREES_ATTR);
entry_filter = backend_shr_get_vattr_filter(state, e,
NIS_MAP_CONFIGURATION_FILTER_ATTR);
key_formats = backend_shr_get_vattr_strlist(state, e,
@@ -605,9 +613,9 @@ backend_set_config_read_config(struct plugin_state *state, Slapi_Entry *e,
ret.common.group = strdup(domain);
ret.common.set = strdup(map);
ret.common.bases = use_bases;
+ ret.common.relevant_subtrees = relevant_subtrees;
+ ret.common.ignore_subtrees = ignore_subtrees;
ret.common.entry_filter = use_entry_filter;
- ret.common.relevant_subtrees = NULL;
- ret.common.ignore_subtrees = NULL;
ret.common.rel_attrs = NULL;
ret.common.rel_attr_list = NULL;
ret.common.rel_attrs_list = NULL;