mirror of
https://github.com/samba-team/samba.git
synced 2025-03-09 08:58:35 +03:00
CVE-2019-14902 repl_meta_data: Set renamed = true (and so do SD inheritance) after any rename
Previously if there was a conflict, but the incoming object would still win, this was not marked as a rename, and so inheritence was not done. BUG: https://bugzilla.samba.org/show_bug.cgi?id=12497 Signed-off-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
9e6b09e0fd
commit
7071888d5b
@ -1,2 +1 @@
|
||||
^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_inheirt_renamed_child_object
|
||||
|
@ -6134,6 +6134,19 @@ static int replmd_replicated_apply_merge(struct replmd_replicated_request *ar)
|
||||
* replmd_replicated_apply_search_callback())
|
||||
*/
|
||||
ret = replmd_replicated_handle_rename(ar, msg, ar->req, &renamed);
|
||||
|
||||
/*
|
||||
* This looks strange, but we must set this after any
|
||||
* rename, otherwise the SD propegation will not
|
||||
* happen (which might matter if we have a new parent)
|
||||
*
|
||||
* The additional case of calling
|
||||
* replmd_op_name_modify_callback (below) is:
|
||||
* - a no-op if there was no name change
|
||||
* and
|
||||
* - called in the default case regardless.
|
||||
*/
|
||||
renamed = true;
|
||||
}
|
||||
|
||||
if (ret != LDB_SUCCESS) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user