summaryrefslogtreecommitdiff
path: root/source4/dsdb/repl/drepl_out_helpers.c
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2016-11-16 14:44:40 +1300
committerGarming Sam <garming@samba.org>2017-06-15 05:31:59 +0200
commite244ba4a8f8dea571df6abb96324cb696af67450 (patch)
tree7d950df338f845904f6a5b83b79305017d669325 /source4/dsdb/repl/drepl_out_helpers.c
parenta7ef0f8be4bda18e3916bdbe8468bc1703060d94 (diff)
downloadsamba-e244ba4a8f8dea571df6abb96324cb696af67450.tar.gz
repl: Set GET_ALL_GROUP_MEMBERSHIP flag in the drepl server
Although we do not currently support this in the server, this will cause data loss against a Windows DC unless we set this flag as per the docs. This flag is required for the RODC. Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Garming Sam <garming@samba.org> Autobuild-Date(master): Thu Jun 15 05:31:59 CEST 2017 on sn-devel-144
Diffstat (limited to 'source4/dsdb/repl/drepl_out_helpers.c')
-rw-r--r--source4/dsdb/repl/drepl_out_helpers.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/source4/dsdb/repl/drepl_out_helpers.c b/source4/dsdb/repl/drepl_out_helpers.c
index d526f4558a5..079edc8ba46 100644
--- a/source4/dsdb/repl/drepl_out_helpers.c
+++ b/source4/dsdb/repl/drepl_out_helpers.c
@@ -518,7 +518,21 @@ static void dreplsrv_op_pull_source_get_changes_trigger(struct tevent_req *req)
} else {
replica_flags |= DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING;
}
+
+ /*
+ * As per MS-DRSR:
+ *
+ * 4.1.10.4
+ * Client Behavior When Sending the IDL_DRSGetNCChanges Request
+ *
+ * 4.1.10.4.1
+ * ReplicateNCRequestMsg
+ */
+ replica_flags |= DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP;
+ } else {
+ replica_flags |= DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP;
}
+
if (state->op->extended_op != DRSUAPI_EXOP_NONE) {
/*
* If it's an exop never set the ADD_REF even if it's in