summaryrefslogtreecommitdiff
path: root/source4/dsdb/repl/replicated_objects.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2016-03-15 15:09:50 +1300
committerAndrew Bartlett <abartlet@samba.org>2016-06-06 16:36:22 +0200
commit1e21a5ad619c8c3611abb0d3c3a513c62ebc7c2a (patch)
tree9f16639f5a7ae23747cdea95357c732ca53f8bda /source4/dsdb/repl/replicated_objects.c
parent449271defc25d66bf84afa7f9b3c9591bbc762bf (diff)
downloadsamba-1e21a5ad619c8c3611abb0d3c3a513c62ebc7c2a.tar.gz
dsdb: Clearly fail to replicate objects not NC_HEAD with a all-zero parentGUID
Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Diffstat (limited to 'source4/dsdb/repl/replicated_objects.c')
-rw-r--r--source4/dsdb/repl/replicated_objects.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source4/dsdb/repl/replicated_objects.c b/source4/dsdb/repl/replicated_objects.c
index 33dd8211e34..d2acff30b5b 100644
--- a/source4/dsdb/repl/replicated_objects.c
+++ b/source4/dsdb/repl/replicated_objects.c
@@ -616,6 +616,11 @@ WERROR dsdb_convert_object_ex(struct ldb_context *ldb,
if (in->parent_object_guid == NULL) {
out->parent_guid = NULL;
+ if ((instanceType & INSTANCE_TYPE_IS_NC_HEAD) == 0) {
+ DEBUG(0, ("Refusing to replicate %s from a server that did not provide a parentGUID!\n",
+ ldb_dn_get_linearized(msg->dn)));
+ return WERR_DS_DRA_INCONSISTENT_DIT;
+ }
} else {
out->parent_guid = talloc(mem_ctx, struct GUID);
W_ERROR_HAVE_NO_MEMORY(out->parent_guid);