diff options
-rw-r--r-- | src/back-shr.c | 40 |
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 |