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

vfs_acl_common: rename pdesc_next to psd_fs

In most realistic cases the "next" VFS op will return the permissions
from the filesystem. This rename makes it explicit where the SD is
originating from. No change in behaviour.

This just paves the way for a later change that will simplify the whole
logic and talloc hierarchy.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=12177

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
Ralph Boehme 2016-08-23 13:11:24 +02:00 committed by Jeremy Allison
parent 2367eea928
commit 9f79084f16

View File

@ -489,7 +489,7 @@ static NTSTATUS get_nt_acl_internal(vfs_handle_struct *handle,
uint8_t hash_tmp[XATTR_SD_HASH_SIZE];
uint8_t sys_acl_hash_tmp[XATTR_SD_HASH_SIZE];
struct security_descriptor *psd_blob = NULL;
struct security_descriptor *pdesc_next = NULL;
struct security_descriptor *psd_fs = NULL;
const struct smb_filename *smb_fname = NULL;
bool ignore_file_system_acl = lp_parm_bool(SNUM(handle->conn),
ACL_MODULE_NAME,
@ -618,13 +618,13 @@ static NTSTATUS get_nt_acl_internal(vfs_handle_struct *handle,
fsp,
HASH_SECURITY_INFO,
mem_ctx,
&pdesc_next);
&psd_fs);
} else {
status = SMB_VFS_NEXT_GET_NT_ACL(handle,
smb_fname,
HASH_SECURITY_INFO,
mem_ctx,
&pdesc_next);
&psd_fs);
}
if (!NT_STATUS_IS_OK(status)) {
@ -636,17 +636,17 @@ static NTSTATUS get_nt_acl_internal(vfs_handle_struct *handle,
return status;
}
/* Ensure we don't leak psd_next if we don't choose it.
/* Ensure we don't leak psd_fs if we don't choose it.
*
* We don't allocate it onto frame as it is preferred not to
* steal from a talloc pool.
*/
talloc_steal(frame, pdesc_next);
talloc_steal(frame, psd_fs);
status = hash_sd_sha256(pdesc_next, hash_tmp);
status = hash_sd_sha256(psd_fs, hash_tmp);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(psd_blob);
psd_blob = pdesc_next;
psd_blob = psd_fs;
goto out;
}
@ -667,11 +667,11 @@ static NTSTATUS get_nt_acl_internal(vfs_handle_struct *handle,
if (DEBUGLEVEL >= 10) {
DEBUG(10,("get_nt_acl_internal: acl for blob hash for %s is:\n",
smb_fname->base_name ));
NDR_PRINT_DEBUG(security_descriptor, pdesc_next);
NDR_PRINT_DEBUG(security_descriptor, psd_fs);
}
TALLOC_FREE(psd_blob);
psd_blob = pdesc_next;
psd_blob = psd_fs;
}
out:
@ -684,13 +684,13 @@ static NTSTATUS get_nt_acl_internal(vfs_handle_struct *handle,
fsp,
security_info,
mem_ctx,
&pdesc_next);
&psd_fs);
} else {
status = SMB_VFS_NEXT_GET_NT_ACL(handle,
smb_fname,
security_info,
mem_ctx,
&pdesc_next);
&psd_fs);
}
if (!NT_STATUS_IS_OK(status)) {
@ -702,19 +702,19 @@ static NTSTATUS get_nt_acl_internal(vfs_handle_struct *handle,
return status;
}
/* Ensure we don't leak psd_next if we don't choose it.
/* Ensure we don't leak psd_fs if we don't choose it.
*
* We don't allocate it onto frame as it is preferred not to
* steal from a talloc pool.
*/
talloc_steal(frame, pdesc_next);
psd_blob = pdesc_next;
talloc_steal(frame, psd_fs);
psd_blob = psd_fs;
}
if (psd_blob != pdesc_next) {
if (psd_blob != psd_fs) {
/* We're returning the blob, throw
* away the filesystem SD. */
TALLOC_FREE(pdesc_next);
TALLOC_FREE(psd_fs);
} else {
SMB_STRUCT_STAT sbuf;
SMB_STRUCT_STAT *psbuf = &sbuf;
@ -760,7 +760,7 @@ static NTSTATUS get_nt_acl_internal(vfs_handle_struct *handle,
is_directory = S_ISDIR(psbuf->st_ex_mode);
if (ignore_file_system_acl) {
TALLOC_FREE(pdesc_next);
TALLOC_FREE(psd_fs);
status = make_default_filesystem_acl(mem_ctx,
smb_fname->base_name,
psbuf,