mirror of
https://github.com/samba-team/samba.git
synced 2025-02-02 09:47:23 +03:00
CVE-2019-14902 repl_meta_data: Fix issue where inherited Security Descriptors were not replicated.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12497 Signed-off-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
520d2ae187
commit
4c62210098
@ -1,3 +1,2 @@
|
||||
^samba4.drs.repl_secdesc.python\(.*\).repl_secdesc.ReplAclTestCase.test_acl_inheirt_renamed_object_in_conflict
|
||||
^samba4.drs.repl_secdesc.python\(.*\).repl_secdesc.ReplAclTestCase.test_acl_inherit_existing_object
|
||||
^samba4.drs.repl_secdesc.python\(.*\).repl_secdesc.ReplAclTestCase.test_acl_inheirt_renamed_child_object
|
||||
|
@ -5634,6 +5634,15 @@ static int replmd_replicated_apply_add(struct replmd_replicated_request *ar)
|
||||
replmd_ldb_message_sort(msg, ar->schema);
|
||||
|
||||
if (!remote_isDeleted) {
|
||||
/*
|
||||
* Ensure any local ACL inheritence is applied from
|
||||
* the parent object.
|
||||
*
|
||||
* This is needed because descriptor is above
|
||||
* repl_meta_data in the module stack, so this will
|
||||
* not be trigered 'naturally' by the flow of
|
||||
* operations.
|
||||
*/
|
||||
ret = dsdb_module_schedule_sd_propagation(ar->module,
|
||||
ar->objs->partition_dn,
|
||||
msg->dn, true);
|
||||
@ -6335,9 +6344,20 @@ static int replmd_replicated_apply_merge(struct replmd_replicated_request *ar)
|
||||
}
|
||||
|
||||
if (sd_updated && !isDeleted) {
|
||||
/*
|
||||
* This is an existing object, so there is no need to
|
||||
* inherit from the parent, but we must inherit any
|
||||
* incoming changes to our child objects.
|
||||
*
|
||||
* This is needed because descriptor is above
|
||||
* repl_meta_data in the module stack, so this will
|
||||
* not be trigered 'naturally' by the flow of
|
||||
* operations.
|
||||
*/
|
||||
ret = dsdb_module_schedule_sd_propagation(ar->module,
|
||||
ar->objs->partition_dn,
|
||||
msg->dn, true);
|
||||
msg->dn,
|
||||
false);
|
||||
if (ret != LDB_SUCCESS) {
|
||||
return ldb_operr(ldb);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user