summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/back-shr.c40
1 files changed, 37 insertions, 3 deletions
diff --git a/src/back-shr.c b/src/back-shr.c
index 29463a5..3130d08 100644
--- a/src/back-shr.c
+++ b/src/back-shr.c
@@ -882,7 +882,6 @@ backend_shr_update_references_cb(const char *group, const char *set,
struct format_ref_attr_list_link *this_attr_link, *prev_attr_link;
struct format_ref_attr_list_link *next_attr_link;
const char *ndn, *dn;
- char *modlist;
int i, j, k, l, disposition, buffer_flags, n_ref_attrs, scope;
set_data = backend_data;
@@ -949,6 +948,17 @@ backend_shr_update_references_cb(const char *group, const char *set,
cbdata->modlist,
backend_shr_get_rel_attr_list(set_data));
}
+ } else {
+ slapi_log_error(SLAPI_LOG_PLUGIN,
+ state->plugin_desc->spd_id,
+ "reference-based changes for "
+ "\"%s\"/\"%s\" made in (\"%s\") "
+ "(%s in %s)\n",
+ set_data->group,
+ set_data->set,
+ slapi_entry_get_ndn(cbdata->e),
+ cbdata->modlist,
+ backend_shr_get_rel_attr_list(set_data));
}
/* For every entry in this set which refers to this entry using
@@ -1693,6 +1703,17 @@ backend_shr_modify_entry_cb(const char *group, const char *set, bool_t flag,
cbdata->modlist,
backend_shr_get_rel_attr_list(set_data));
}
+ } else {
+ slapi_log_error(SLAPI_LOG_PLUGIN,
+ cbdata->state->plugin_desc->spd_id,
+ "changes for "
+ "\"%s\"/\"%s\" made in (\"%s\") "
+ "(%s in %s)\n",
+ set_data->group,
+ set_data->set,
+ cbdata->ndn,
+ cbdata->modlist,
+ backend_shr_get_rel_attr_list(set_data));
}
/* If the entry used to match the map, remove it. */
if (backend_shr_entry_matches_set(set_data, cbdata->pb,
@@ -1724,7 +1745,7 @@ static int
backend_shr_modify_cb(Slapi_PBlock *pb)
{
Slapi_DN *sdn;
- char *dn;
+ char *dn, *log_modlist;
struct backend_shr_modify_entry_cbdata cbdata;
struct backend_set_config_entry_add_cbdata set_cbdata;
@@ -1787,6 +1808,19 @@ backend_shr_modify_cb(Slapi_PBlock *pb)
slapi_entry_diff(cbdata.real_mods, cbdata.e_pre, cbdata.e_post, 0);
cbdata.mods = slapi_mods_get_ldapmods_byref(cbdata.real_mods);
cbdata.ndn = slapi_entry_get_ndn(cbdata.e_pre);
+ if (cbdata.mods == NULL) {
+ slapi_pblock_get(pb, SLAPI_MODIFY_MODS, &cbdata.mods);
+ log_modlist = backend_shr_mods_as_string(cbdata.mods);
+ slapi_log_error(SLAPI_LOG_PLUGIN,
+ cbdata.state->plugin_desc->spd_id,
+ "no substantive changes to %s: "
+ "(%s) simplified to ()\n",
+ cbdata.ndn,
+ log_modlist);
+ slapi_mods_free(&cbdata.real_mods);
+ free(log_modlist);
+ return 0;
+ }
cbdata.modlist = backend_shr_mods_as_string(cbdata.mods);
/* Modify map entries which corresponded to this directory server
* entry. */
@@ -1807,7 +1841,7 @@ backend_shr_modify_cb(Slapi_PBlock *pb)
* affected by this entry. */
backend_shr_update_references(cbdata.state, pb, cbdata.e_post,
cbdata.mods, cbdata.modlist);
- /* Done with the "real" mods. */
+ /* Done with the "real" mods. Put the fake ones back. */
slapi_mods_free(&cbdata.real_mods);
slapi_pblock_get(pb, SLAPI_MODIFY_MODS, &cbdata.mods);
/* If it's a map configuration entry, reconfigure, clear, and