diff options
author | Michael Adam <obnox@samba.org> | 2007-11-06 06:20:51 +0100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2007-12-19 23:07:56 +0100 |
commit | a7e15d41c66e811777e52fbfa19df817d8617d5a (patch) | |
tree | 9d0d50216e4fedecf678c22ca077627a5360f105 /source3/smbd | |
parent | 13e0788714c1a5a3ce62597d04d3034ca14d031e (diff) | |
download | samba-a7e15d41c66e811777e52fbfa19df817d8617d5a.tar.gz samba-a7e15d41c66e811777e52fbfa19df817d8617d5a.tar.bz2 samba-a7e15d41c66e811777e52fbfa19df817d8617d5a.zip |
Remove the "is_directory" parameter from canonicalise_acl():
It can be retrieved from the stat buffer.
Michael
(This used to be commit b0ae830bf57dcaec00b2a2eabfec7221a3b7f791)
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/posix_acls.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 1b91823ea2..57a3ff9766 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -2110,10 +2110,10 @@ static void arrange_posix_perms(const char *filename, canon_ace **pp_list_head) Create a linked list of canonical ACE entries. ****************************************************************************/ -static canon_ace *canonicalise_acl(const struct connection_struct *conn, - const bool is_directory, const char *fname, - SMB_ACL_T posix_acl, SMB_STRUCT_STAT *psbuf, - const DOM_SID *powner, const DOM_SID *pgroup, struct pai_val *pal, SMB_ACL_TYPE_T the_acl_type) +static canon_ace *canonicalise_acl(struct connection_struct *conn, + const char *fname, SMB_ACL_T posix_acl, + const SMB_STRUCT_STAT *psbuf, + const DOM_SID *powner, const DOM_SID *pgroup, struct pai_val *pal, SMB_ACL_TYPE_T the_acl_type) { mode_t acl_mask = (S_IRUSR|S_IWUSR|S_IXUSR); canon_ace *list_head = NULL; @@ -2229,7 +2229,9 @@ static canon_ace *canonicalise_acl(const struct connection_struct *conn, * This next call will ensure we have at least a user/group/world set. */ - if (!ensure_canon_entry_valid(&list_head, conn->params, is_directory, powner, pgroup, psbuf, False)) + if (!ensure_canon_entry_valid(&list_head, conn->params, + S_ISDIR(psbuf->st_mode), powner, pgroup, + psbuf, False)) goto fail; /* @@ -2817,7 +2819,7 @@ NTSTATUS get_nt_acl(files_struct *fsp, uint32 security_info, SEC_DESC **ppdesc) */ /* Create the canon_ace lists. */ - file_ace = canonicalise_acl(fsp->conn, fsp->is_directory, + file_ace = canonicalise_acl(fsp->conn, fsp->fsp_name, posix_acl, &sbuf, &owner_sid, &group_sid, pal, SMB_ACL_TYPE_ACCESS); @@ -2830,7 +2832,7 @@ NTSTATUS get_nt_acl(files_struct *fsp, uint32 security_info, SEC_DESC **ppdesc) } if (fsp->is_directory && def_acl) { - dir_ace = canonicalise_acl(fsp->conn, fsp->is_directory, + dir_ace = canonicalise_acl(fsp->conn, fsp->fsp_name, def_acl, &sbuf, &global_sid_Creator_Owner, |