The Samba-Bugzilla – Attachment 3882 Details for
Bug 4308
Excel save operation corrupts file ACLs
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
look (text/plain), 2.09 KB, created by
Jeremy Allison
on 2009-01-22 12:31:21 UTC
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Jeremy Allison
Created:
2009-01-22 12:31:21 UTC
Size:
2.09 KB
patch
obsolete
>diff --git a/source/smbd/posix_acls.c b/source/smbd/posix_acls.c >index 75cca51..5ccfb26 100644 >--- a/source/smbd/posix_acls.c >+++ b/source/smbd/posix_acls.c >@@ -3424,7 +3424,6 @@ NTSTATUS set_nt_acl(files_struct *fsp, uint32 security_info_sent, const SEC_DESC > NTSTATUS status; > uid_t orig_uid; > gid_t orig_gid; >- bool need_chown = False; > > DEBUG(10,("set_nt_acl: called for file %s\n", fsp->fsp_name )); > >@@ -3460,14 +3459,12 @@ NTSTATUS set_nt_acl(files_struct *fsp, uint32 security_info_sent, const SEC_DESC > } > > /* >- * Do we need to chown ? >+ * Do we need to chown ? If so this must be done first as the incoming >+ * CREATOR_OWNER acl will be relative to the *new* owner, not the old. >+ * Noticed by Simo. > */ > > if (((user != (uid_t)-1) && (orig_uid != user)) || (( grp != (gid_t)-1) && (orig_gid != grp))) { >- need_chown = True; >- } >- >- if (need_chown && (user == (uid_t)-1 || user == current_user.ut.uid)) { > > DEBUG(3,("set_nt_acl: chown %s. uid = %u, gid = %u.\n", > fsp->fsp_name, (unsigned int)user, (unsigned int)grp )); >@@ -3507,9 +3504,6 @@ NTSTATUS set_nt_acl(files_struct *fsp, uint32 security_info_sent, const SEC_DESC > orig_mode = sbuf.st_mode; > orig_uid = sbuf.st_uid; > orig_gid = sbuf.st_gid; >- >- /* We did chown already, drop the flag */ >- need_chown = False; > } > > create_file_sids(&sbuf, &file_owner_sid, &file_grp_sid); >@@ -3660,24 +3654,9 @@ NTSTATUS set_nt_acl(files_struct *fsp, uint32 security_info_sent, const SEC_DESC > } > > free_canon_ace_list(file_ace_list); >- free_canon_ace_list(dir_ace_list); >+ free_canon_ace_list(dir_ace_list); > } > >- /* Any chown pending? */ >- if (need_chown) { >- DEBUG(3,("set_nt_acl: chown %s. uid = %u, gid = %u.\n", >- fsp->fsp_name, (unsigned int)user, (unsigned int)grp )); >- >- if(try_chown( fsp->conn, fsp->fsp_name, user, grp) == -1) { >- DEBUG(3,("set_nt_acl: chown %s, %u, %u failed. Error = %s.\n", >- fsp->fsp_name, (unsigned int)user, (unsigned int)grp, strerror(errno) )); >- if (errno == EPERM) { >- return NT_STATUS_INVALID_OWNER; >- } >- return map_nt_error_from_unix(errno); >- } >- } >- > return NT_STATUS_OK; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 4308
:
2780
|
2814
|
2818
|
2957
|
3733
|
3750
|
3751
| 3882 |
3883
|
3884
|
3885
|
3886
|
3887