The branch, v3-5-test has been updated
via 67235a5 Fix bug #7812 - vfs_acl_xattr/vfs_acl_tdb: ACL inheritance
cannot be disabled
from 941129f Fix our privileges code to display privileges with the
"high" 32-bit value set.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test
- Log -----------------------------------------------------------------
commit 67235a5532a00e6ccb41748dc9a8c3e9159ba79e
Author: Jeremy Allison <[email protected]>
Date: Tue Nov 23 14:21:25 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.
-----------------------------------------------------------------------
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 c91765c..f1884f5 100644
--- a/source3/modules/vfs_acl_common.c
+++ b/source3/modules/vfs_acl_common.c
@@ -723,6 +723,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;
}
@@ -731,9 +735,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