summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2013-09-21 14:33:21 -0700
committerKarolin Seeger <kseeger@samba.org>2013-09-27 09:28:57 +0200
commit80c3c301a7c03a01550644b137b3595fc929de52 (patch)
tree1737f204cfe16ae7824b3744e540367c6c0e9f39
parentf5c378e16150efecd426382133cb5699a49de858 (diff)
downloadsamba-80c3c301a7c03a01550644b137b3595fc929de52.tar.gz
dsdb: Refuse to replicate an all-zero invocationID GUID in replPropertyMetaData
This matches Windows 2008R2. Andrew Bartlett Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org> (cherry picked from commit 25d4bafca7245e3f8291e5f0f304b1b4f8ce5600)
-rw-r--r--source4/dsdb/repl/replicated_objects.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source4/dsdb/repl/replicated_objects.c b/source4/dsdb/repl/replicated_objects.c
index e018aa4e779..d1d69fa8f8c 100644
--- a/source4/dsdb/repl/replicated_objects.c
+++ b/source4/dsdb/repl/replicated_objects.c
@@ -427,6 +427,15 @@ WERROR dsdb_convert_object_ex(struct ldb_context *ldb,
continue;
}
+ if (GUID_all_zero(&d->originating_invocation_id)) {
+ status = WERR_DS_SRC_GUID_MISMATCH;
+ DEBUG(0, ("Refusing replication of object containing invalid zero invocationID on attribute %d of %s: %s\n",
+ a->attid,
+ ldb_dn_get_linearized(msg->dn),
+ win_errstr(status)));
+ return status;
+ }
+
if (a->attid == DRSUAPI_ATTID_instanceType) {
if (instanceType_e != NULL) {
return WERR_FOOBAR;