1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-03 13:47:25 +03:00

Fix to allow setting of NULL DACL/SACL

This is a modification of Jeremy's 7522ef15aca2429ef57c75d8297dd8121e79c9da
commit.

If no DACL/SACL is present in the packet, the SEC_INFO field should still be
passed down as is to the VFS layer to signal the creation of a NULL DACL/SACL.

As seen in metze RAW-ACL test_nttrans_create_null_dacl(), a NULL DACL is set
regardless of the SEC_DESC_DACL_PRESENT bit being set.
This commit is contained in:
Steven Danneman 2008-11-23 18:20:19 -08:00
parent a36415a565
commit 798b9e1ad6

View File

@ -721,21 +721,12 @@ static NTSTATUS set_sd(files_struct *fsp, uint8 *data, uint32 sd_len,
return status;
}
if (psd->owner_sid==0) {
if (psd->owner_sid == NULL) {
security_info_sent &= ~OWNER_SECURITY_INFORMATION;
}
if (psd->group_sid==0) {
if (psd->group_sid == NULL) {
security_info_sent &= ~GROUP_SECURITY_INFORMATION;
}
if (psd->sacl==0) {
security_info_sent &= ~SACL_SECURITY_INFORMATION;
}
if (security_info_sent & DACL_SECURITY_INFORMATION) {
psd->type |= SEC_DESC_DACL_PRESENT;
}
if (psd->dacl==0) {
security_info_sent &= ~DACL_SECURITY_INFORMATION;
}
/* Convert all the generic bits. */
security_acl_map_generic(psd->dacl, &file_generic_mapping);