[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Tue Oct 12 18:15:01 UTC 2021


The branch, master has been updated
       via  0a376b23dba s3: VFS: zfsacl: Ensure we use a pathref fd, not an io fd, for getting/setting ZFS ACLs.
      from  14db80fe613 docs-xml: Use /var/tmp for spooling in smb.conf.5

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 0a376b23dbaaec551d0ed48b7098129c09eec1bc
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Oct 11 12:26:57 2021 -0700

    s3: VFS: zfsacl: Ensure we use a pathref fd, not an io fd, for getting/setting ZFS ACLs.
    
    Don't use path-based calls.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14685
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Böhme <slow at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Tue Oct 12 18:14:27 UTC 2021 on sn-devel-184

-----------------------------------------------------------------------

Summary of changes:
 source3/modules/vfs_zfsacl.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_zfsacl.c b/source3/modules/vfs_zfsacl.c
index b04c6e560ad..69a1db59249 100644
--- a/source3/modules/vfs_zfsacl.c
+++ b/source3/modules/vfs_zfsacl.c
@@ -235,13 +235,12 @@ static bool zfs_process_smbacl(vfs_handle_struct *handle, files_struct *fsp,
 	SMB_ASSERT(i == naces);
 
 	/* store acl */
-	fd = fsp_get_io_fd(fsp);
-	if (fd != -1) {
-		rv = facl(fd, ACE_SETACL, naces, acebuf);
-	}
-	else {
-		rv = acl(fsp->fsp_name->base_name, ACE_SETACL, naces, acebuf);
+	fd = fsp_get_pathref_fd(fsp);
+	if (fd == -1) {
+		errno = EBADF;
+		return false;
 	}
+	rv = facl(fd, ACE_SETACL, naces, acebuf);
 	if (rv != 0) {
 		if(errno == ENOSYS) {
 			DEBUG(9, ("acl(ACE_SETACL, %s): Operation is not "
@@ -322,11 +321,11 @@ static int fget_zfsacl(TALLOC_CTX *mem_ctx,
 	ace_t *acebuf = NULL;
 	int fd;
 
-	fd = fsp_get_io_fd(fsp);
+	fd = fsp_get_pathref_fd(fsp);
 	if (fd == -1) {
-		return get_zfsacl(mem_ctx, fsp->fsp_name, outbuf);
+		errno = EBADF;
+		return -1;
 	}
-
 	naces = facl(fd, ACE_GETACLCNT, 0, NULL);
 	if (naces == -1) {
 		int dbg_level = 10;


-- 
Samba Shared Repository



More information about the samba-cvs mailing list