summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2019-03-11 22:38:38 +0100
committerKarolin Seeger <kseeger@samba.org>2019-03-28 12:19:12 +0000
commit9daeafbfec8bde7a4c2e0057fb4f06cb54624cd2 (patch)
tree90a4286250d2ae8d2a9783f08e1c0d9a37dfb35f
parentf91050ee547ff645933da1a3ceeecf3d1052045e (diff)
downloadsamba-9daeafbfec8bde7a4c2e0057fb4f06cb54624cd2.tar.gz
dsdb:repl_meta_data: allow CONTROL_DBCHECK_FIX_LINK_DN_NAME to by pass rename
We need a way to rename an object without updating the replication meta data. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13816 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> (cherry picked from commit 3e8a435d27da899d0e3dab7cbc0a1c738067eba3)
-rw-r--r--source4/dsdb/samdb/ldb_modules/repl_meta_data.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
index c2eafd0a521..b8e03d7ca15 100644
--- a/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
+++ b/source4/dsdb/samdb/ldb_modules/repl_meta_data.c
@@ -3697,6 +3697,7 @@ static int replmd_rename_callback(struct ldb_request *req, struct ldb_reply *are
static int replmd_rename(struct ldb_module *module, struct ldb_request *req)
{
struct ldb_context *ldb;
+ struct ldb_control *fix_dn_name_control = NULL;
struct replmd_replicated_request *ac;
int ret;
struct ldb_request *down_req;
@@ -3706,6 +3707,12 @@ static int replmd_rename(struct ldb_module *module, struct ldb_request *req)
return ldb_next_request(module, req);
}
+ fix_dn_name_control = ldb_request_get_control(req,
+ DSDB_CONTROL_DBCHECK_FIX_LINK_DN_NAME);
+ if (fix_dn_name_control != NULL) {
+ return ldb_next_request(module, req);
+ }
+
ldb = ldb_module_get_ctx(module);
ldb_debug(ldb, LDB_DEBUG_TRACE, "replmd_rename\n");