summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristof Schmitt <cs@samba.org>2022-07-12 05:12:21 -0700
committerChristof Schmitt <cs@samba.org>2022-07-13 17:30:30 +0000
commita6ccceb97ebd43d453ae4f835927cbacde0fdcef (patch)
tree83fbc2a4c752a0067b6d3f3b63df1fbe1af3a97d
parent23e6e50c0f82b997dea4a67069f65252045514c0 (diff)
downloadsamba-a6ccceb97ebd43d453ae4f835927cbacde0fdcef.tar.gz
nfs4_acls: Correctly skip chown when gid did not change
Commit 86f7af84 introduced a problem that a chown is always attempted, even when the owning gid did not change. Then the ACL is set in the file system as root. Fix the check by correctly comparing with gid, not uid. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15120 Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Christof Schmitt <cs@samba.org> Autobuild-Date(master): Wed Jul 13 17:30:30 UTC 2022 on sn-devel-184
-rw-r--r--source3/modules/nfs4_acls.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/source3/modules/nfs4_acls.c b/source3/modules/nfs4_acls.c
index c7808037a09..ff446bb1166 100644
--- a/source3/modules/nfs4_acls.c
+++ b/source3/modules/nfs4_acls.c
@@ -1022,7 +1022,7 @@ NTSTATUS smb_set_nt_acl_nfs4(vfs_handle_struct *handle, files_struct *fsp,
/* chown logic is a copy/paste from posix_acl.c:set_nt_acl */
uid_t old_uid = fsp->fsp_name->st.st_ex_uid;
- uid_t old_gid = fsp->fsp_name->st.st_ex_uid;
+ gid_t old_gid = fsp->fsp_name->st.st_ex_gid;
status = unpack_nt_owners(fsp->conn, &newUID, &newGID,
security_info_sent, psd);
if (!NT_STATUS_IS_OK(status)) {