summaryrefslogtreecommitdiff
path: root/source4/dsdb/repl
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2013-09-21 14:33:21 -0700
committerAndrew Bartlett <abartlet@samba.org>2013-09-22 11:24:31 -0700
commit25d4bafca7245e3f8291e5f0f304b1b4f8ce5600 (patch)
tree0f8c4f1513dc891481859e49a1e0120bca69f213 /source4/dsdb/repl
parent274b899095645550e263564ae4e03b4f0d6bdbea (diff)
downloadsamba-25d4bafca7245e3f8291e5f0f304b1b4f8ce5600.tar.gz
samba-25d4bafca7245e3f8291e5f0f304b1b4f8ce5600.tar.bz2
samba-25d4bafca7245e3f8291e5f0f304b1b4f8ce5600.zip
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>
Diffstat (limited to 'source4/dsdb/repl')
-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 e018aa4e77..d1d69fa8f8 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;