diff options
Diffstat (limited to 'src/back-sch.c')
-rw-r--r-- | src/back-sch.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/back-sch.c b/src/back-sch.c index ade426b..2f90630 100644 --- a/src/back-sch.c +++ b/src/back-sch.c @@ -92,6 +92,7 @@ backend_set_config_free_config_contents(void *data) free(set_data->common.bases); format_free_attr_list(set_data->common.ref_attrs); format_free_inref_attrs(set_data->common.inref_attrs); + format_free_ref_attr_list(set_data->common.ref_attr_list); free(set_data->common.entry_filter); slapi_sdn_free(&set_data->container_sdn); free(set_data->rdn_format); @@ -123,6 +124,9 @@ backend_copy_set_config(const struct backend_set_data *data) ret->common.inref_attrs = data->common.inref_attrs ? format_dup_inref_attrs(data->common.inref_attrs) : NULL; + ret->common.ref_attr_list = data->common.inref_attrs ? + format_dup_ref_attr_list(data->common.ref_attr_list) : + NULL; ret->common.entry_filter = strdup(data->common.entry_filter); ret->container_sdn = slapi_sdn_dup(data->container_sdn); ret->rdn_format = strdup(data->rdn_format); @@ -170,6 +174,7 @@ backend_set_config_read_config(struct plugin_state *state, Slapi_Entry *e, ret.common.entry_filter = entry_filter; ret.common.ref_attrs = NULL; ret.common.inref_attrs = NULL; + ret.common.ref_attr_list = NULL; dn = slapi_dn_plus_rdn(ret.common.group, ret.common.set); ret.container_sdn = slapi_sdn_new_dn_passin(dn); ret.rdn_format = rdn_format; @@ -267,6 +272,7 @@ backend_set_entry(Slapi_Entry *e, struct backend_set_data *data) data->rdn_format, NULL, &data->common.ref_attrs, &data->common.inref_attrs, + &data->common.ref_attr_list, &rdn_len); if (rdn == NULL) { slapi_log_error(SLAPI_LOG_PLUGIN, plugin_id, @@ -299,6 +305,7 @@ backend_set_entry(Slapi_Entry *e, struct backend_set_data *data) NULL, &data->common.ref_attrs, &data->common.inref_attrs, + &data->common.ref_attr_list, &ava_lens); if ((ava != NULL) && (ava_lens != NULL) && |