The branch, v3-6-test has been updated
via 3439a81 Fix bug #7812 - vfs_acl_xattr/vfs_acl_tdb: ACL inheritance
cannot be disabled
from d760315 Fix bug #7785 - atime limit.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test
- Log -----------------------------------------------------------------
commit 3439a818c4940a380304d02211651cab5e873c6e
Author: Jeremy Allison <[email protected]>
Date: Tue Nov 23 14:31:43 2010 -0800
Fix bug #7812 - vfs_acl_xattr/vfs_acl_tdb: ACL inheritance cannot be
disabled
We were losing the incoming security descriptor revision number and
most importantly the "type" field as sent by the client. Ensure we
correctly store these in the xattr object.
Jeremy.
(cherry picked from commit 306a0c998795ac7d114407757a6ca254c404e6da)
-----------------------------------------------------------------------
Summary of changes:
source3/modules/vfs_acl_common.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/modules/vfs_acl_common.c b/source3/modules/vfs_acl_common.c
index c0c7391..41f33ef 100644
--- a/source3/modules/vfs_acl_common.c
+++ b/source3/modules/vfs_acl_common.c
@@ -725,6 +725,10 @@ static NTSTATUS fset_nt_acl_common(vfs_handle_struct
*handle, files_struct *fsp,
return status;
}
+ psd->revision = orig_psd->revision;
+ /* All our SD's are self relative. */
+ psd->type = orig_psd->type | SEC_DESC_SELF_RELATIVE;
+
if ((security_info_sent & SECINFO_OWNER) && (orig_psd->owner_sid !=
NULL)) {
psd->owner_sid = orig_psd->owner_sid;
}
@@ -733,9 +737,11 @@ static NTSTATUS fset_nt_acl_common(vfs_handle_struct
*handle, files_struct *fsp,
}
if (security_info_sent & SECINFO_DACL) {
psd->dacl = orig_psd->dacl;
+ psd->type |= SEC_DESC_DACL_PRESENT;
}
if (security_info_sent & SECINFO_SACL) {
psd->sacl = orig_psd->sacl;
+ psd->type |= SEC_DESC_SACL_PRESENT;
}
status = SMB_VFS_NEXT_FSET_NT_ACL(handle, fsp, security_info_sent, psd);
--
Samba Shared Repository